軟件著作權(quán)源程序大麥ui支付終端_第1頁
軟件著作權(quán)源程序大麥ui支付終端_第2頁
軟件著作權(quán)源程序大麥ui支付終端_第3頁
軟件著作權(quán)源程序大麥ui支付終端_第4頁
軟件著作權(quán)源程序大麥ui支付終端_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、源程序大麥 ui-支付終端V3.1.1中國保護中心package com.hiveview.cloudscreen.paycenter;import importimportjava.text.SimpleDateFormat; java.util.HashMap;java.util.Map;import import import import import import import import import importimportandroid.app.Application; android.content.ContentResolver; android.content.Cont

2、ext; android.content.pm.PackageInfo; android.content.pm.PackageManager; android.content.res.Resources; android.graphics.Bitmap; android.graphics.drawable.Drawable; .Uri;android.util.Log;android.util.SparseArray;import import import import import import import import import import import import impor

3、t import import importimportcom.hiveview.cloudscreen.paycenter.dataservice.CloudScreenService; com.hiveview.cloudscreen.paycenter.entity.BroadUserEntity; com.hiveview.cloudscreen.paycenter.entity.CashPayEntity; com.hiveview.cloudscreen.paycenter.entity.PackageListResultEntity;com.hiveview.cloudscree

4、n.paycenter.entity.PayEntranceEntity;com.hiveview.cloudscreen.paycenter.entity.PaymentMistEntity;com.hiveview.cloudscreen.paycenter.entity.ProductInfoResultEntity; com.hiveview.cloudscreen.paycenter.entity.UserRechargeEntity; com.hiveview.cloudscreen.paycenter.entity.WalletInfoEntity; com.hiveview.c

5、loudscreen.paycenter.utils.BlurScreenProvider; com.hiveview.cloudscreen.paycenter.utils.PayKeyUtil; com.hiveview.user.R;com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator; com.nostra13.universalimageloader.core.DisplayImageOptions; com.nostra13.universalimageloader.core.ImageLo

6、ader; com.nostra13.universalimageloader.core.ImageLoaderConfiguration;com.wilddog.client.Wilddog;publicclass CloudScreenApplication extends Application private static CloudScreenApplication instance;/* 當前應用是否有動畫還在動的標志位 */public boolean isAnimationRun = false;/* 圖片工具 */public ImageLoader imageLoader;

7、/* 圖片本地緩存最大空間 */private final int MAX_DISK_CACHE_SIZE = 20 * 1024 * 1024;/* 內(nèi)存緩存最大空間*/1private final int MAX_MEMORY_CACHE_SIZE = 8* 1024 * 1024;/* ImageLoader 工具中使用的線程池的最大數(shù)量 */private final int THREAD_POOL_SIZE = Runtime.getRuntime().availableProcessors() 1;/* 支付所有界面的背景 */public Drawable bitmapBg;/*

8、 支付模式 logo 的默認圖片 */+publicDisplayImageOptions optionsPayLogo;public/*public/*publicContext context;支付方式 id 和對應的支付方式名稱 */ Map<String, String> mapPayMode; 碼 */String deviceCode = ""/* 請求支付方式的結(jié)果信息類 */public PaymentMistEntity paymentMistEntity;/* 計費套餐的實體類 */public/*publicPackageListResul

9、tEntity packageListResultEntity;信息的實體類 */ProductInfoResultEntity productInfoResultEntity;/* Fields walletInfoEntity 錢包信息 */public WalletInfoEntity walletInfoEntity;/* 業(yè)務參數(shù) */public String appendAttr;/*/public PayKeyUtil payKeyUtil;/* 商戶 key */public String partnerKey;/* hiveview 的 key */public Strin

10、g partnerRechargeKey;/* 獲取用戶信息的 resolver */public ContentResolver resolver;/* 獲取用戶信息的 uri */public Uri mUri;/* 是否充值public String/* 時間格式化的標志位,recharge 表示充值isRecharge;*/*/public SimpleDateFormat dataFormat;/*支付接口的協(xié)議版本號*/public String PAY_VERSION;/*二維碼中心的 icon 數(shù)組*/public SparseArray<Bitmap> qrico

11、n;/*充值實體類*/public UserRechargeEntity userRechargeEntity;/*訂單 id*/public String partnerId;2/*訂單金額*/public float cashAmt;/*第 3 方傳過來的支付金額,String 型,如果轉(zhuǎn)成 float 行再去校驗 token 容易由于位數(shù)不一致導致 token 校驗失敗*/public String strCashAmt;/*訂單名稱(暫未使用)*/public String tradeName;/*/public Resources resource;/*支付的 json 序列,(理應

12、廢棄)*/public String/*/public String/*新的支付productSerial;bindPromt;實體類*/public PayEntranceEntity payEntranceEntity;/*新的充值實體類*/public PayEntranceEntity payEntranceEntityRecharge;/*寬帶用戶信息實體類*/public BroadUserEntity broadUserEntity;/*用戶是否綁定寬帶*/public boolean isUserBind;Overridepublic void onCreate() super

13、.onCreate(); CloudScreenService.init(this); instance = this; configImageLoader();context = getBaseContext(); resource = context.getResources(); if (context != null) bitmapBg = context.getResources().getDrawable(R.drawable.user_center_bg);PAY_VERSION = "V-5.0-" + getAppVersionName(context);

14、 Log.i("CloudScreenApplication", "PAY_VERSION=" + PAY_VERSION); resolver = this.getContentResolver();mUri = Uri.parse("content:/HiveViewCloudUserAuthorities/TABLE_USER_INFO"); payKeyUtil = new PayKeyUtil();mapPayMode = new HashMap<String, String>(); mapPayMode.put

15、("-1",context.getResources().getString(R.string.pay_by_damai_statics_needpwd); mapPayMode.put("-2",context.getResources().getString(R.string.pay_by_damai_statics_not_needpwd); dataFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");qricon = new SparseArray<>();3W

16、ilddog.setAndroidContext(this);/* 單例* return*/public static CloudScreenApplication getInstance() return instance;/* 返回當前程序版本名*/private String getAppVersionName(Context context) String versionName = ""try / -get the package info-PackageManager pm = context.getPackageManager();PackageInfo pi

17、 = pm.getPackageInfo(context.getPackageName(), versionName = pi.versionName;0);if (versionName = null | versionName.length() return "" catch (Exception e) Log.e("VersionInfo", "Exception", e);return versionName;<=0)/*Title: CloudScreenApplication author:maliangDescri

18、ption: TODO 清空數(shù)據(jù)*/public void clearData() BlurScreenProvider.getInstance().clearBitmap(); appendAttr = null;walletInfoEntity = null;productInfoResultEntity= null; null;= null;paymentMistEntity =packageListResultEntitypartnerKey = null;partnerRechargeKey = null; isRecharge = null;userRechargeEntity =

19、 null;4bindPromt = "" productSerial = "" cashAmt = 0; partnerId = ""payEntranceEntity = null; broadUserEntity = null; payEntranceEntityRecharge = null;isUserBind = false;/*Title: CloudScreenApplication author:maliangDescription: TODO 緩存到應用目錄的緩存目錄,沒有緩存文件數(shù)量的限制,使用URL 的 MD5

20、 值作為文件名*/public void configImageLoader() ImageLoaderConfiguration configuration = newImageLoaderConfiguration.Builder(this).diskCacheFileNameGenerator(new Md5FileNameGenerator().diskCacheSize(MAX_DISK_CACHE_SIZE).threadPoolSize(THREAD_POOL_SIZE).memoryCacheSize(MAX_MEMORY_CACHE_SIZE).writeDebugLogs(

21、).build(); imageLoader = ImageLoader.getInstance(); imageLoader.init(configuration);/*/Title PurchaseAgreementActivity.java Package com.hiveview.pay.activity authordate 2014-6-5 下午 4:06:39 Description TODOversion V1.0package com.hiveview.cloudscreen.paycenter;import import import importimportandroid

22、.annotation.SuppressLint; android.os.Bundle; android.view.KeyEvent; android.view.View;android.widget.ListView;import importimportmon.adapter.AgreementAdapter;mon.listener.AnimatorListenerImpl;5mon.listener.AnimatorListenerImpl.Animato rListenerInterface;import com.hiveview.user.R;/*/ClassName: Purch

23、aseAgreementActivity Description: TODOauthor: guosongshengdate 2014-6-5 下午 4:06:39public class PurchaseAgreementActivity extends BaseActivity private/*顯示privatestatic final String TAG = "PurchaseAgreementActivity"協(xié)議圖片的列表*/ListView lv;/*整個頁面的 view*/private View mainView;/* (non-Javadoc)* se

24、e android.support.v4.app.FragmentActivity#onCreate(android.os.Bundle)*/Overrideprotected void onCreate(Bundle arg0) super.onCreate(arg0); setContentView(R.layout.purchase_agreement_layout);/ 初始化initView();/*/Title: PurchaseAgreementActivity authorDescription: TODOSuppressLint("NewApi") pri

25、vate void initView() mainView = findViewById(R.id.rl_main_layout);lv = (ListView) findViewById(R.id.lv_agreement); AgreementAdapter adapter = new AgreementAdapter(this); lv.setAdapter(adapter);AnimatorListenerImpl animatorListenerImpl = new AnimatorListenerImpl();mainView.animate().alpha(1).setListe

26、ner(animatorListenerImpl).setDuration(500).6start();Overridepublic boolean dispatchKeyEvent(KeyEvent event) if (event.getAction() = KeyEvent.ACTION_DOWN) switch (event.getKeyCode() case KeyEvent.KEYCODE_DPAD_DOWN:lv.smoothScrollBy(int)getResources().getDimension(R.dimen.agreement_lv_smooth_ y), 200)

27、;return true;case KeyEvent.KEYCODE_DPAD_UP:lv.smoothScrollBy(-(int)getResources().getDimension(R.dimen.agreement_lv_smooth_y), 200);return true;return super.dispatchKeyEvent(event);SuppressLint("NewApi") Overridepublic void onBackPressed() AnimatorListenerImpl animatorListenerImplDestory =

28、 new AnimatorListenerImpl();animatorListenerImplDestory.setAnimatorListenerInterface(newAnimatorListenerInterface() Overridepublic void onAnimationStart() Overridepublic void onAnimationEnd() PurchaseAgreementActivity.super.onBackPressed(););mainView.animate().alpha(0).setListener(animatorListenerIm

29、plDestory).setDuratio n(150).start();7package com.hiveview.cloudscreen.paycenter;importjava.lang.reflect.Type;import import import import import importimportandroid.annotation.SuppressLint; android.content.Intent; android.os.Bundle; android.text.TextUtils; android.util.Log; android.view.View;android

30、.widget.Toast;import import import import import .gson.Gson;.gson.reflect.TypeToken;mon.AppConstant; com.hiveview.cloudscreen.paycenter.entity.PackageListResultEntity; com.hiveview.cloudscreen.paycenter.entity.PayEntranceEntity;com.hiveview.cloudscreen.paycenter.entity.ProductInfo

31、ResultEntity;com.hiveview.cloudscreen.paycenter.mvp.paywithoutpack.presenter.IPayWithOutPres enter;import com.hiveview.cloudscreen.paycenter.mvp.paywithoutpack.presenter.PayWithOutPrese nter;importcom.hiveview.cloudscreen.paycenter.mvp.paywithoutpack.view.IPayWithOutView;import import import import

32、import import importimportcom.hiveview.cloudscreen.paycenter.utils.BlurScreenProvider; com.hiveview.cloudscreen.paycenter.utils.NetworkTypeUtils; com.hiveview.cloudscreen.paycenter.utils.PayResultBackUtil; com.hiveview.cloudscreen.paycenter.utils.StringUtils; com.hiveview.cloudscreen.paycenter.utils

33、.UserInfoUtil; com.hiveview.cloudscreen.paycenter.view.loadview.LoadingView; com.hiveview.pay.util.NumberUtils;com.hiveview.user.R;/* ClassName: PayWithoutPackageActivity* Description: TODO 國內(nèi) Vip 通道,計費包流程在 Vip 內(nèi)部展示,直接傳ProductInfoResultEntity & PackageListResultEntity 內(nèi)部參數(shù)調(diào)用支付 ,內(nèi)部邏輯處理完畢后直接跳轉(zhuǎn)到支付類

34、型選擇界面或者是二維碼顯示頁面* author: guosongsheng* date 2015 年 11 月 27 日 下午 7:12:218*/public class PayWithoutPackageActivity extends BaseActivity implements IPayWithOutView private static final String TAG = "PayWithoutPackageActivity"/* 支付返回碼 */privatestatic final int REUEST_CODE_PAY_BACK = 5;privateI

35、PayWithOutPresenter payWithOutPresenter;privateLoadingView loadView;SuppressLint("NewApi") Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.without_package_activity); CloudScreenApplication.getInstance().clearData(); Blu

36、rScreenProvider.getInstance().initData(this); BlurScreenProvider.getInstance().addHotDataCallBack(this); loadView = (LoadingView) findViewById(R.id.loading_view);loadView.startLoading();/ 初始化信息UserInfoUtil.initDevices(this);/ 獲取 Intent 傳輸?shù)臄?shù)據(jù)getIntentData();payWithOutPresenter = new PayWithOutPresent

37、er(this, payWithOutPresenter.getDeviceCode();this);/*/Title: PayWithoutPackageActivity authorDescription: TODO 獲取 intent 傳輸數(shù)據(jù)private void getIntentData() try Intent intent = getIntent();if (intent != null) / 國內(nèi) Vip 傳送信息,計費包信息的 json,CloudScreenApplication.getInstance().payEntranceEntityPayEntranceEnt

38、ity();= newString productInfoVip = intent.getStringExtra("productInfoVip"); String packageInfoVip = intent.getStringExtra("packageInfoVip");9CloudScreenApplication.getInstance().productSerial = intent.getStringExtra("productSerial");CloudScreenApplication.getInstance().

39、appendAttr = intent.getStringExtra("appendAttr");Log.i(TAG, "productSerial-" +CloudScreenApplication.getInstance().productSerial);Log.i(TAG,Log.i(TAG, Log.i(TAG,"productInfoVip-" + productInfoVip);"packageInfoVip-" + packageInfoVip); "appendAttr-" +C

40、loudScreenApplication.getInstance().appendAttr);StringString StringpackageName = intent.getStringExtra("packageName");notifyUrl = intent.getStringExtra("notifyUrl"); tradeNo = intent.getStringExtra("tradeNo");CloudScreenApplication.getInstance().payEntranceEntity.setBun

41、dle_id(packageName);CloudScreenApplication.getInstance().payEntranceEntity.setOut_trade_no(tradeNo);CloudScreenApplication.getInstance().payEntranceEntity.setNotify_url(notifyUrl);CloudScreenApplication.getInstance().payEntranceEntity.setBiz_content(CloudScreenApplication.getInstance().appendAttr);i

42、f (!TextUtils.isEmpty(packageInfoVip) && !TextUtils.isEmpty(productInfoVip) / 國內(nèi) Vip 傳送信息,計費包信息的 json,接收后類Gson gson = new Gson(); Type productInfoType = newTypeToken<ProductInfoResultEntity>() .getType();為實體CloudScreenApplication.getInstance().productInfoResultEntity =gson.fromJson(pro

43、ductInfoVip.toString(), productInfoType);CloudScreenApplication.getInstance().productInfoResultEntity.setPackageName(packageName);CloudScreenApplication.getInstance().productInfoResultEntity.setTradeNo(tradeNo);CloudScreenApplication.getInstance().productInfoResultEntity.setNotifyUrl(notif10yUrl);Cl

44、oudScreenApplication.getInstance().partnerId =CloudScreenApplication.getInstance().productInfoResultEntity.getPartnerId();Type packageInfoInfoType = new TypeToken<PackageListResultEntity>() .getType();CloudScreenApplication.getInstance().packageListResultEntity = gson.fromJson(packageInfoVip.t

45、oString(), packageInfoInfoType);if (CloudScreenApplication.getInstance().packageListResultEntity.getVipPrice() != null&& CloudScreenApplication.getInstance().packageListResultEntity.getVipPrice() > 0)CloudScreenApplication.getInstance().cashAmt = CloudScreenApplication.getInstance().packa

46、geListResultEntity.getVipPrice(); else CloudScreenApplication.getInstance().cashAmt = CloudScreenApplication.getInstance().packageListResultEntity.getPrice();CloudScreenApplication.getInstance().payEntranceEntity.setPartner_id(CloudScreenApplication.getInstance().partnerId);CloudScreenApplication.ge

47、tInstance().payEntranceEntity.setProduct_name(CloudScr eenApplication.getInstance().productInfoResultEntity.getProductName();CloudScreenApplication.getInstance().payEntranceEntity.setProduct_id(CloudScree nApplication.getInstance().productInfoResultEntity.getProductId();CloudScreenApplication.getIns

48、tance().payEntranceEntity.setProduct_type(CloudScr eenApplication.getInstance().productInfoResultEntity.getProductType();CloudScreenApplication.getInstance().payEntranceEntity.setProduct_icon(CloudScr eenApplication.getInstance().productInfoResultEntity.getIconUrl();CloudScreenApplication.getInstanc

49、e().payEntranceEntity.setProduct_duration("" +11CloudScreenApplication.getInstance().packageListResultEntity.getExpiryTime();CloudScreenApplication.getInstance().payEntranceEntity.setTotal_amount(NumberUt ils.floatToInt(CloudScreenApplication.getInstance().cashAmt * 100);if (TextUtils.isEm

50、pty(CloudScreenApplication.getInstance().payEntranceEntity.getPr oduct_icon() CloudScreenApplication.getInstance().payEntranceEntity.setProduct_icon(CloudScr eenApplication.getInstance().packageListResultEntity.getPic();AppConstant.statisticsData = intent.getStringExtra("statistics"); else

51、 / 國內(nèi) Vip 傳的信息或者計費包信息為空時直接關(guān)閉支付界面Toast.makeText(this, R.string.vip_info_error, Toast.LENGTH_LONG).show();finish(); catch (Exception e) Toast.makeText(this, R.string.vip_info_error, Toast.LENGTH_LONG).show();e.printStackTrace();/* (non-Javadoc) 回調(diào)* see android.support.v4.app.FragmentActivity#onActivit

52、yResult(int, int, android.content.Intent) */SuppressLint("NewApi")Overrideprotected void onActivityResult(int reqode, int resultCode, Intent data)super.onActivityResult(reqode, resultCode, data);Log.i(TAG, "onActivityResult resultCode=" + resultCode);if (reqode = 1000) payWithOut

53、Presenter.onActivityResult(req else finish();ode);12/* (non-Javadoc)* see android.app.Activity#finish() */Overridepublic void finish() / 設置返回值Intent intent = new Intent(); try if (!TextUtils.isEmpty(AppConstant.PayResultCallBack) intent.putExtra("payPackageResult",AppConstant.PayResultCall

54、Back);Log.i(TAG, "AppConstant.PayResultCallBack=" + AppConstant.PayResultCallBack); else intent.putExtra("payPackageResult", PayResultBackUtil.getPayFailJson(); catch (Exception e) / 打印異常信息e.printStackTrace();Log.i(TAG, "PayPackageListActivity>AppConstant.PayResultCallBac

55、k : " + AppConstant.PayResultCallBack); setResult(REUEST_CODE_PAY_BACK, intent); AppConstant.PayResultCallBack = "" payWithOutPresenter.onDestory();loadView.recycle();super.finish();Overridepublic void toNextPage(int type) Intent intent = null;/ 創(chuàng)建 bundle 傳遞 packageEntity 對象if (type =

56、 0) intent = new Intent(PayWithoutPackageActivity.this,/PaymentModeActivity.class);/ else intent = new Intent(PayWithoutPackageActivity.this,BroadbandPayActivity.class);/ 啟動 activitystartActivityForResult(intent, 2222);13Overridepublic void toLoginUser() Intent intentLogin = new Intent(); intentLogin.setAction("com.hiveview.cloudscreen.user.HOME"); intentLogin.putExtra("appSource", "fromPackagePay&quo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論