編輯:關於Android編程
銀聯支付也是一般比較常用的支付功能,這裡簡單了介紹android app如果短期快速應用這一方面的東西。直接上代碼:
1.導入銀聯支付的依賴包:

2.在res目錄下增加資源包:<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"/uploadfile/Collfiles/20140809/2014080909044158.jpg" alt="\">
3.配置AndroidManifest.xml文件配置打開的activity:
至此,我們的項目環境就搭好了.(以上資料文件,請查看銀聯測試文檔目錄的androiddemo);
銀聯支付代碼3步驟:
1.獲取TN號 2.請求控件界面(PayActivity)
3.ActivityResult處理支付結果(但該結果並不一定正確 ,因為銀聯系統通過異步返回給服務器和我們的app是同時異步的)

以下 我以測試接口為例
/**
* UnionPay Test
*
* @author Lean @date:2014-8-8
*/
public class MainActivity extends Activity implements Runnable {
private String mMode = "01";//設置測試模式:01為測試 00為正式環境
private static final String TN_URL_01 = "http://202.101.25.178:8080/sim/gettn";//自己後台需要實現的給予我們app的tn號接口
private Handler mHandler=new Handler(){
public void handleMessage(android.os.Message msg) {
String tn = "";
if (msg.obj == null || ((String) msg.obj).length() == 0) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("錯誤提示");
builder.setMessage("網絡連接失敗,請重試!");
builder.setNegativeButton("確定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.create().show();
} else {
tn = (String) msg.obj;
doStartUnionPayPlugin(MainActivity.this, tn, mMode);
}
}
};
/**
* 啟動支付界面
*/
public void doStartUnionPayPlugin(Activity activity, String tn, String mode) {
UPPayAssistEx.startPayByJAR(activity, PayActivity.class, null, null,
tn, mode);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(MainActivity.this).start();
}
@Override
public void run() {
String tn = null;
InputStream is;
try {
String url = TN_URL_01;
URL myURL = new URL(url);
URLConnection ucon = myURL.openConnection();
ucon.setConnectTimeout(120000);
is = ucon.getInputStream();
int i = -1;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
while ((i = is.read()) != -1) {
baos.write(i);
}
tn = baos.toString();
is.close();
baos.close();
} catch (Exception e) {
e.printStackTrace();
}
Message msg = mHandler.obtainMessage();
msg.obj = tn;
mHandler.sendMessage(msg);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (data == null) {
return;
}
String msg = "";
/*
* 支付控件返回字符串:success、fail、cancel 分別代表支付成功,支付失敗,支付取消
*/
String str = data.getExtras().getString("pay_result");
Log.v("zftphone", "2 "+data.getExtras().getString("merchantOrderId"));
if (str.equalsIgnoreCase("success")) {
msg = "支付成功!";
} else if (str.equalsIgnoreCase("fail")) {
msg = "支付失敗!";
} else if (str.equalsIgnoreCase("cancel")) {
msg = "用戶取消了支付";
}
//支付完成,處理自己的業務邏輯!
}
}
Android ViewPager無限循環實現底部小圓點動態滑動
頁面拖動到最後一頁 再向下滑動回復到 第一頁,第一頁向前滑動回到 最後一頁同時,底部紅色小圓點隨著頁面的滑動距離比例隨時改變位置布局:<?xml versi
自定義view系列(5)--99.99%實現QQ側滑刪除效果
首先聲明本文是基於GitHub上"baoyongzhang"的SwipeMenuListView修改而來,該項目地址:https://github.c
通信組件之Intent的基本使用
(一)概述本節引言:在上一節結束後意味著Android的四大組件我們都已經學習完畢了~,而本節我們要學習的是四大組件間的 樞紐——Intent(意
Android實現微信首頁左右滑動切換效果
大家看到微信首頁切換效果有沒有覺得很炫,滑動切換,點擊底部bar瞬間切換,滑動切換漸變效果,線上效果圖:之前也在博客上看到別人的實現,再次基礎上,我做了些優化。首先說下實