資源描述:
《黑馬程序員安卓教程:案例銀行登錄系統(tǒng)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、實(shí)用標(biāo)準(zhǔn)文案案例-銀行登錄系統(tǒng)需求:假設(shè)銀行的登陸模塊是用C語言來編寫的,但是我們的Android應(yīng)用想登陸銀行系統(tǒng),那么就需要通過JNI來實(shí)現(xiàn)了。創(chuàng)建一個新Android工程《建行客戶端》,工程目錄結(jié)構(gòu)如下圖。在工程中創(chuàng)建jni文件夾,然后將jni.h、Android.mk、Application.mk從JNI入門工程拷貝進(jìn)去。在jni目錄下創(chuàng)建login.c文件,在該文件中實(shí)現(xiàn)登錄業(yè)務(wù)邏輯。代碼清單如下。1.#include2.//系統(tǒng)在查找投文件的時候""中的文件會去本地搜索,<>中
2、的文件會去系統(tǒng)目錄中搜索,因?yàn)閖ni.h在當(dāng)前目錄中所以用""將jni.h引起來,可以加快搜索速度精彩文檔實(shí)用標(biāo)準(zhǔn)文案13精彩文檔實(shí)用標(biāo)準(zhǔn)文案3.#include"jni.h"4.intlogin(intcard,intpwd){5.//真實(shí)的業(yè)務(wù)邏輯要復(fù)雜的多,這里只簡單的返回銀行卡號和密碼號6.returncard+pwd;7.}8.jintJava_com_itheima_ccb_MainActivity_login(JNIEnv*env,jobjectobj,jintcard,jintpwd){9.
3、returnlogin(card,pwd);10.}是用ndk工具,將login.c編譯成動態(tài)庫文件。編譯前修改Android.mk文件的LOCAL_SRC_FILES:=login.c編寫在MainActivity.java類1.publicclassMainActivityextendsActivity{2.static{3.System.loadLibrary("login-jni");4.}5.@Override6.protectedvoidonCreate(BundlesavedInstanceS
4、tate){7.super.onCreate(savedInstanceState);8.setContentView(R.layout.activity_main);精彩文檔實(shí)用標(biāo)準(zhǔn)文案14精彩文檔實(shí)用標(biāo)準(zhǔn)文案9.}10.publicnativeintlogin(intcard,intpwd);11.publicvoidlogin(Viewview){12.EditTextet_card=(EditText)findViewById(R.id.et_card);13.EditTextet_pwd=(Edi
5、tText)findViewById(R.id.et_pwd);14.intcard=Integer.valueOf(et_card.getText().toString());15.intpwd=Integer.valueOf(et_pwd.getText().toString());16.intresult=login(card,pwd);17.Toast.makeText(this,""+result,1).show();18.}19.}布局文件比較簡單,這里就不再給出。運(yùn)行上面的代碼,運(yùn)行結(jié)果如下:
6、精彩文檔