第一篇:上海瑭錦安卓開發(fā)心得
上海瑭錦安卓開發(fā)心得
對于軟件開發(fā)工程師來說學(xué)習(xí)C語言是一個必經(jīng)得學(xué)習(xí)之路,因為他是編程語言中得基礎(chǔ),如果沒有C語言得編寫能力,那么就談不上是軟件開發(fā)工程師,所以學(xué)好C語言是成為軟件開發(fā)工程師得基礎(chǔ),那么我們?nèi)绾瘟私釩語言呢?首先我們要知道C語言是匯編語言中最基礎(chǔ)得編寫語言,它集成了所有匯編語言得大部分優(yōu)點,能實現(xiàn)低級語言得眾多功能。
C語言把高級語言與低級語言相結(jié)合創(chuàng)造出自己得匯編語言風(fēng)格,塑造出自己得匯編語言工作單元,C語言得結(jié)構(gòu)特點是編寫代碼和相關(guān)數(shù)據(jù)可以分隔化除了程序和相關(guān)得必要信息保持彼此獨立得關(guān)系,這種關(guān)系可以是我們編寫得程序?qū)哟位忧逦?,更加便于使用、維護和調(diào)試,它會以給用戶方便得調(diào)用功能,可以多元化、多種循環(huán)、控制編寫語句得控制導(dǎo)向,從而使我們得編寫程序更加結(jié)構(gòu)化、實用化。
這些都可以讓C語言實現(xiàn)決策目得得要求,C語言得應(yīng)用指針特性使得其應(yīng)用范圍增加,應(yīng)用面變大,增加了程序得安全性。不容易被惡意程序所利用,C語言得對其處理標(biāo)準(zhǔn)化、針對于編寫函數(shù)得標(biāo)記、多線程得支持、從新定義新得程序安全定義有了更多得廣泛得選擇。它得編寫靈活和緊湊編寫序列使得書寫程序更加自由化,它可以直接訪問我們常用得物理地址,簡潔得使用操作使得用戶在對硬件上得要求更加簡潔,它可以移植%86得公共代碼在相關(guān)得編寫程序上,這一特性使得其在不同環(huán)境中運行。它得表達能力使得其在各種系統(tǒng)和相關(guān)運行環(huán)境下可以自由得發(fā)揮它得編寫和使用得能力。
第二篇:上海瑭錦簡述Java工程師
上海瑭錦簡述Java工程師
Java自1995年問世以來,因其卓越的通用性、高效性、平臺移植性 和安全性等特性,成為全球范圍內(nèi)應(yīng)用范圍最廣的開發(fā)語言,而且 而且即使歷經(jīng)十余年發(fā)展仍然在行業(yè)內(nèi)保持著“常青樹”的地位。Java軟件工程師是指運用Java這種開發(fā)語言去完成軟件產(chǎn)品的軟件程序設(shè)計、開發(fā)、測試、維護升級等工作的人員。
職業(yè)概述:
Java的應(yīng)用可以說是無處不在,從桌面辦公應(yīng)用到網(wǎng)絡(luò)數(shù)據(jù)庫等應(yīng)用,從PC到嵌入式移動平臺,從Java小應(yīng)用程序(Applet)到架構(gòu)龐大的J2EE企業(yè)級解決方案,處處都有Java的身影,就連美國大型太空項目當(dāng)中,也使用了Java來開發(fā)控制系統(tǒng)和相關(guān)軟件。用途如此之廣的Java造就了Java工程師的輝煌,使其在軟件工程師的領(lǐng)域里獨占鰲頭!Java軟件工程師運用Java這個開發(fā)工具去完成軟件產(chǎn)品的軟件程序設(shè)計、開發(fā)、測試、維護升級等工作。
工作內(nèi)容:
完成軟件的設(shè)計、開發(fā)、測試、修改bug等工作,包括業(yè)務(wù)需求的溝通,功能模塊詳細(xì)設(shè)計,業(yè)務(wù)功能實現(xiàn)與單元測試,系統(tǒng)維護;參與產(chǎn)品構(gòu)思和架構(gòu)設(shè)計;撰寫相關(guān)的技術(shù)文檔;支持售前技術(shù)服務(wù);支持項目對產(chǎn)品的應(yīng)用服務(wù)。
職業(yè)要求:
教育培訓(xùn):計算機相關(guān)專業(yè),大專及以上學(xué)歷。相關(guān)專業(yè)證書有:Sun Certified Java Programmer(SCJP)和Sun Certified Java Developer(SCJD)認(rèn)證。目前國內(nèi)在java軟件工程師培訓(xùn)中有名的是瑭錦Tanjurd,這些都是擁有很多年的辦學(xué)經(jīng)驗,在java軟件培訓(xùn)上擁有其獨特的優(yōu)勢。
工作經(jīng)驗:有一定的軟件分析設(shè)計能力;熟悉Java、Servlet、JSP、EJB等開發(fā)技術(shù);熟練使用Eclipse或jbuilder等java開發(fā)工具;熟悉JAVA+STRUTS體系結(jié)構(gòu)和開發(fā)工具;熟悉至少一種數(shù)據(jù)庫的開發(fā)和設(shè)計;具有良好的學(xué)習(xí)能力,具有強烈的工作責(zé)任心、有良好的溝通能力和團隊合作精神。
薪酬參考:
據(jù)智聯(lián)招聘上對上海java工程師的薪資據(jù)說顯示,截止到2012年6月13日,java工程師的平均水平已達6435。根據(jù)現(xiàn)在移動互聯(lián)網(wǎng)中安卓市場的份額,相信這一職業(yè)的工資水平會一直上升.根據(jù)IDC的統(tǒng)計數(shù)字,在所有軟件開發(fā)類人才的需求中,對Java工程師的需求達到全部需求量的60%~70%。同時,Java工程師的薪水相對較高。Java軟件工程師一般月薪范圍在4000-10000元,遠(yuǎn)遠(yuǎn)超過了應(yīng)屆畢業(yè)生月薪2500元的平均水平。通常來說,有一年工作經(jīng)驗的Java高級軟件工程師的薪酬大致在年薪10—13萬左右。
就業(yè)前景:
Java是目前世界上最流行的計算機編程語言,是一種可以編寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言。這可以概括JAVA有著自己獨特的優(yōu)勢:語言簡單、是一個面向?qū)ο?、分布式?yīng)用并且安全、體系結(jié)構(gòu)中立并且可移植,最重要,它是一個動態(tài)語言。
權(quán)威統(tǒng)計機構(gòu)統(tǒng)計——在所有軟件開發(fā)類人才的需求中,對 Java工程師的需求達到全
部需求量的60%~70%。Java工程師的薪水相對較高,通常來說,具有3~5年開發(fā)經(jīng)驗的工程師,擁有年薪 10萬元是很正常的一個薪酬水平。
Java發(fā)展方向:
一是成為管理人員,例如產(chǎn)品研發(fā)經(jīng)理,技術(shù)經(jīng)理,項目經(jīng)理等繼續(xù);二是他的技術(shù)工作之路,成為高級軟件工程師、需求工程師等。還是看看IDC Java工程師的薪水相對較高。Java軟件工程師一般月薪范圍在4000-10000元,遠(yuǎn)遠(yuǎn)超過了應(yīng)屆畢業(yè)生月薪2500元的平均水平。通常來說,有一年工作經(jīng)驗的Java高級軟件工程師的薪酬大致在年薪10—13萬左右。
Tanjurd建議Java就業(yè)方向:可以從事JSP網(wǎng)站開發(fā)、Java編程、Java游戲開發(fā)、Java桌面程序設(shè)計,以及其他與Java語言編程相關(guān)的工作。可進入電信、銀行、保險專業(yè)軟件開發(fā)公司等從事軟件設(shè)計和開發(fā)工作。
第三篇:上海瑭錦解說UI設(shè)計
上海瑭錦解說UI設(shè)計
1簡介
軟件設(shè)計可分為兩個部分:編碼設(shè)計與UI設(shè)計。UI的本意是用戶界面,是英文User和 Interface的縮寫。從字面上看是用戶與界面2個部分組成,但實際上還包括用戶與界面之間的交互關(guān)系。[1]
UI設(shè)計是指對軟件的人機交互、操作邏輯、界面美觀的整體設(shè)計。好的UI設(shè)計不僅是讓軟件變得有個性有品味,還要讓軟件的操作變得舒適、簡單、自由,充分體現(xiàn)軟件的定位和特點。UI界面即是用戶界面的簡稱,UI設(shè)計是對界面美觀的整理設(shè)計,它可以把網(wǎng)站、手機界面、軟件游戲界面變的更加有個性、漂亮、簡單
2內(nèi)容
與之相應(yīng),UI設(shè)計師的職能大體包括三方面:一是圖形設(shè)計,即傳統(tǒng)意義上的“美工”。當(dāng)然,實際上他們承擔(dān)的不是單純意義上美術(shù)工人的工作,而是軟件產(chǎn)品的產(chǎn)品“外形”設(shè)計。二是交互設(shè)計,主要在于設(shè)計軟件的操作流程、樹狀結(jié)構(gòu)、操作規(guī)范等。一個軟件產(chǎn)品在編碼之前需要做的就是交互設(shè)計,并且確立交互模型,交互規(guī)范。三是用戶測試/研究,這里所謂的“測試”,其目標(biāo)恰在于測試交互設(shè)計的合理性及圖形設(shè)計的美觀性,主要通過以目標(biāo)用戶問卷的形式衡量UI設(shè)計的合理性。如果沒有這方面的測試研究,UI設(shè)計的好壞只能憑借設(shè)計師的經(jīng)驗或者領(lǐng)導(dǎo)的審美來評判,這樣就會給企業(yè)帶來極大的風(fēng)險。3 就業(yè)前景
UI即用戶界面設(shè)計行業(yè)剛剛在全球軟件業(yè)興起,屬于高薪技術(shù)設(shè)計產(chǎn)業(yè),與國外在同步發(fā)展水平。其次國內(nèi)外眾多大型IT企業(yè)(例如:百度、騰訊、Yahoo、中國移動、Nokia、聯(lián)想、網(wǎng)易、微軟、盛大、淘寶等眾多企業(yè))均已成立專業(yè)的UI設(shè)計部門,但專業(yè)人才稀缺,人才資源爭奪激烈。Tanjurd表示UI就業(yè)市場供不應(yīng)求。
我國UID市場尚在萌芽階段,人才缺口巨大,目前,中國市場上的手機、軟件、網(wǎng)站等產(chǎn)品,同質(zhì)化程度非常高,過去企業(yè)在設(shè)計產(chǎn)品的時候,主要是在功能、質(zhì)量或者產(chǎn)品外觀上和競爭對手有所區(qū)別,而現(xiàn)在隨著技術(shù)的進步和市場的發(fā)展,越來越多的企業(yè)意識到用戶體驗的重要性了,而這種用戶體驗的提升則主要依賴于UID的勞動。而由于人力市場的UID人才供應(yīng)不足,加之企業(yè)人才競爭激烈,往往企業(yè)很難招到UID,像谷歌這樣的全球性公司,也一樣面臨UID崗位空缺的窘境。專家預(yù)測2015年整個UID行業(yè)的人才缺口將達到100萬。
瑭錦Tanjurd畢業(yè)的 UI設(shè)計工作的年薪基本保持在10到15萬,經(jīng)驗豐富者可以達到20萬,資深的UI設(shè)計人員年薪可以更高。
4從業(yè)/設(shè)計方向
UI界面設(shè)計所涉及的領(lǐng)域有平面設(shè)計、網(wǎng)站UI界面設(shè)計、手機UI界面設(shè)計、安卓和ios軟件、游戲界面設(shè)計等。網(wǎng)站是展示公司、展示產(chǎn)品的重要網(wǎng)絡(luò)平臺,用戶可以通過網(wǎng)站全面的了解公司和產(chǎn)品,有了UI界面設(shè)計師,網(wǎng)站才能修飾的更加美觀,吸引用戶,像大家經(jīng)常逛的淘寶店,有沒有發(fā)現(xiàn)許多店家的網(wǎng)店都是做的十分精細(xì)漂亮呢,那這就歸功與UI界面設(shè)計師了。
瑭錦Tanjurd UI界面設(shè)計師從工作內(nèi)容可以分為3個方向:
1、研究工具:研究界面----圖形設(shè)計師,簡單的說就是美工,為軟件產(chǎn)品的外形設(shè)計師。界
面設(shè)計不是單純的美術(shù)繪畫,他需要定位使用者、使用環(huán)境、使用方式并且為最終用戶而設(shè)計,是純粹的科學(xué)性的藝術(shù)設(shè)計。檢驗一個界面的標(biāo)準(zhǔn)是最終用戶的感受。所以界面設(shè)計要和用戶研究緊密結(jié)合,是一個不斷為最終用戶設(shè)計滿意視覺效果的過程。[3]
2、研究人與界面的關(guān)系:研究人與界面的關(guān)系---交互設(shè)計師,一個網(wǎng)站的構(gòu)建流程都是由交互設(shè)計師完成的。交互設(shè)計師的工作內(nèi)容就是設(shè)計軟件的操作流程,樹狀結(jié)構(gòu),軟件的結(jié)構(gòu)與操作規(guī)范(spec)等。一個軟件產(chǎn)品在編碼之前需要作的就是交互設(shè)計,并且確立交互模型,交互規(guī)范。
3、研究人:研究人----用戶測試/研究工程師。任何產(chǎn)品上市之前都需要通過測試,用戶測試/研究工程師的職責(zé)就和游戲玩家里面的測試人員一樣,發(fā)現(xiàn)BUG,并反饋給技術(shù)人員進行修改完善。這個測試和編碼沒有任何關(guān)系,主要是測試交互設(shè)計的合理性以及圖形設(shè)計的美觀性。測試方法一般都是采用焦點小組,用目標(biāo)用戶問卷的形式來衡量UI設(shè)計的合理性。這個職位很重要,如果沒有這個職位,UI設(shè)計的好壞只能憑借設(shè)計師的經(jīng)驗或者領(lǐng)導(dǎo)的審美來評判,這樣就會給企業(yè)帶來嚴(yán)重的風(fēng)險性。
第四篇:如何學(xué)習(xí)安卓開發(fā)
如何學(xué)習(xí)安卓開發(fā)?安卓開發(fā)學(xué)習(xí)已經(jīng)成為IT行業(yè)的新潮流。時下,Android也以其創(chuàng)造力、前瞻性、延續(xù)性和實現(xiàn)能力成為行業(yè)首領(lǐng),可是怎么學(xué)好Android呢?今天,歐柏泰克的老師告訴你如何學(xué)好Android。
熟悉Java基礎(chǔ)知識
Android應(yīng)用的開發(fā)語言用的是Java語言,并且在Android中也用到了Java核心類庫的大量的類,因此,在學(xué)習(xí)Android開發(fā)之前,可以先把Java基本語法和Java SE的基礎(chǔ)類庫好好學(xué)習(xí)一下。Android應(yīng)用程序開發(fā)是以Java語言為基礎(chǔ)的,所以沒有扎實的Java基礎(chǔ)知識,只是機械的照抄別人的代碼,是沒有任何意義的。建議在Android課程前期的Java學(xué)習(xí)階段中,需要用心的學(xué)好。
熟悉一門編程語言
現(xiàn)在大學(xué)里面和計算機相關(guān)的專業(yè)甚至理工類專業(yè)一般都會開設(shè)C語言課程,只是很多同學(xué)在大學(xué)期間并沒有好好學(xué)習(xí),如果對它掌握的不太好或者很久沒用了,建議先從將其好好復(fù)習(xí)一下,將其基本的語法再好好回顧一下,最好能搭建一個環(huán)境來運行、調(diào)試它。如果沒有學(xué)過,不妨也提前學(xué)習(xí)一下。大部分的高校所開設(shè)的C語言使用的教材都是用它作為教材,因此無論是購買還是借閱,都容易找到;
熟悉數(shù)據(jù)結(jié)構(gòu)和算法基礎(chǔ)知識
如果后續(xù)有志于游戲方面的開發(fā),最好具備一定的數(shù)據(jù)結(jié)構(gòu)和算法基礎(chǔ)知識。雖然現(xiàn)代的高級編程語言中,其類庫中已經(jīng)幫我們實現(xiàn)了大部分的數(shù)據(jù)結(jié)構(gòu),一般情況下,我們直接使用即可。但如果能對其原理有所了解,當(dāng)需要在這些數(shù)據(jù)結(jié)構(gòu)和算法中間的時候,可以更加的清楚到底應(yīng)該選擇哪個數(shù)據(jù)結(jié)構(gòu)或者算法。另外,在圖形圖像處理上面,線性代數(shù)的作用也非常重要,如果能掌握一點這方面的基礎(chǔ)知識,無疑也會在后續(xù)的學(xué)習(xí)中如虎添翼。?
第五篇:安卓NFC開發(fā)學(xué)習(xí)筆記
大家學(xué)習(xí)android開發(fā)建議首選android開發(fā)文檔,該文檔在你下載的sdk中,路徑:/sdk/docs/index.html
目前NFC應(yīng)用的大的框架上的理解:
我使用的API LEVEL是19,支持的API有三個:android.nfc,android.nfc.cardemulator,android.nfc.tech NFC在手機上的應(yīng)用大體分為兩類:讀卡器和卡
android.nfc.cardemulator接口是為NFC作為卡應(yīng)用提供的接口,在較低版本的API上是沒有的
android.nfc.tech,android.nfc接口是為NFC作為讀卡器應(yīng)用提供的接口
首先說作為卡,nfc有兩種實現(xiàn)方式,一個是使用NFC芯片作為卡,另一個是使用SIM作為卡
Figure 1.NFC card emulation with a secure element.至于從讀卡器發(fā)送的指令到底是傳遞到NFC芯片還是SIM由NFC Controler控制,圖中Secure Element是指SIM,Host-CPU指NFC芯片 android提供HostApduService用于NFC芯片,OffHostApduService用于SIM芯片,傳遞方向在res/xml文件中通過AID來控制
ps:Host-Based Card Emulator 簡稱為HCE
代碼實現(xiàn):
AndroidManifest.xml 中 配置service,因為作為卡實現(xiàn)的話,NFC功能是作為service存在的
android:permission=“android.permission.BIND_NFC_SERVICE”> android:resource=“@xml/apduservice”/>
res/xml/apduservice.xml 中配置service響應(yīng)的AID android:requireDeviceUnlock=“false”> android:category=“other”>
配置文件完成后編寫service的處理方法:
NFCService需要繼承HostApduService,如果需要與Activity通信,建議采用廣播方式
也可以自己實現(xiàn)觀察者模式,只是這樣就需要持有Activity的引用,感覺不太好 NFCService.java public class NFCService extends HostApduService {
private Intent intent = new Intent(“com.example.communication.RECEIVER”);
@Override public void onCreate(){
//啟動Acivity
Intent i = new Intent();
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//需要啟動的Activity不是當(dāng)前Activity的時候需要用FLAG_ACTIVITY_NEW_TASK
i.setAction(“com.apdu.nfc”);
getApplication().startActivity(i);
Toast.makeText(getApplicationContext(), “Service啟動”, Toast.LENGTH_LONG).show();
} @Override public byte[] processCommandApdu(byte[] commandApdu, Bundle extras){//當(dāng)注冊的AID被選中后,后續(xù)指令被分發(fā)到這個處理函數(shù)中
byte[] sw = new byte[]{(byte)0x90,(byte)0x00};
byte[] response = new byte[5];
if(commandApdu[0]==(byte)0x00 &&commandApdu[1]==(byte)0xA4&& commandApdu[2]==(byte)0x04
&& commandApdu[4]==(byte)0x07&& commandApdu[5]==(byte)0xF0)
{
return sw;
}
else
{
//apdu處理邏輯
switch(commandApdu[1])
{
case(byte)0xA8:
break;
case(byte)0xAE:
break;
default:
return sw;
}
}
intent.putExtra(“command”, commandApdu);
intent.putExtra(“response”, response);
sendBroadcast(intent);//利用廣播與Activity通信
return response;//SW值需要包含在response中
}
@Override public void onDeactivated(int reason){
if(reason==HostApduService.DEACTIVATION_DESELECTED)
{
Toast.makeText(getApplicationContext(), “已選擇其它應(yīng)用”, Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(getApplicationContext(), “連接斷開”, Toast.LENGTH_LONG).show();
} }
@Override
public void onDestroy()
{
Toast.makeText(getApplicationContext(), “Service關(guān)閉”, Toast.LENGTH_LONG).show();super.onDestroy();
}
框架搭建好剩余的事情就很簡單了,apdu的處理邏輯在processCommandApdu方法中實現(xiàn)即可
以上是Host-CPU方式的實現(xiàn),SIM方式,API介紹中說該方式?jīng)]有提供可供操作的API,也就是說Android不會監(jiān)聽SIM卡與讀卡器之間的通信
所以NFCOffService 只需要實現(xiàn)onBind接口,這樣綁定該Service的Activity可以對NFCOffService進行有限操作 public class NFCOffService extends OffHostApduService {
@Override public IBinder onBind(Intent intent){
// TODO Auto-generated method stub
return null;} } 上面沒有提到的就是,如果你需要使用NFC,需要在Manifest中申請NFC權(quán)限:
android.nfc.tech,android.nfc接口是為NFC作為讀卡器應(yīng)用提供的接口 接口定義了三種Action Tags:ACTION_NDEF_DISCOVERED,ACTION_TECH_DISCOVERED,ACTION_TAG_DISCOVERED。
當(dāng)你在Manifest文件中將Activity的action-filter設(shè)置為這三個Tag中的一種或幾種時,NFC響應(yīng)事件會按照如圖流程處理
我的理解是ACTION_NDEF_DISCOVERED 是用于兩臺NFC手機之間傳輸文件的
ACTION_TECH_DISCOVERED,ACTION_TAG_DISCOVERED才是用于NFC與卡進行通訊的 所以開發(fā)第一步是在Manifest中配置你的Action:
android:resource=“@xml/nfc_tech_filter” />
當(dāng)然API中說明你可以將多個tech寫在一個tech-list中,我做了嘗試,這樣做會引出一個問題,在程序未啟動的情況下當(dāng)手機刷卡時不會自動打開程序 如果想要自動打開需要按照上面這種寫法,tech的個數(shù)可以根據(jù)你想要支持的卡類型進行調(diào)整
配置完成后,可以開始編寫自己的Activity的java代碼了
在onCreate方法中,需要獲取NfcAdapter的引用,從名字可以看出這是一個適配器
NfcAdapter nfcAdapter;PendingIntent pendingIntent;@Override protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.pos_main);
dc =(Button)findViewById(R.id.button4DC);
ecc =(Button)findViewById(R.id.button4ECC);
qpboc =(Button)findViewById(R.id.button4QPBOC);
logWindow=(TextView)findViewById(R.id.communication4Financy);
nfcAdapter=NfcAdapter.getDefaultAdapter(this);
pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
onNewIntent(getIntent());} 這里使用PendingIntent,該Intent與普通的Intent不同的是它是有一個延遲啟動的功能,它啟動時會回調(diào)onNewIntent函數(shù),這樣能夠?qū)崿F(xiàn)NFC與Activity的交互
pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);的含義是將Intent傳遞給this Activity 在onPause與onResume中需要添加代碼
public void onPause(){
super.onPause();
nfcAdapter.disableForegroundDispatch(this);}
public void onResume(){
super.onResume();
nfcAdapter.enableForegroundDispatch(this, pendingIntent, FILTERS, TECHLISTS);} enableForegroundDispatch的作用是,當(dāng)NFC事件發(fā)生時如果當(dāng)前Activity不是注冊了NFC action-filter的Activity,手機會顯示注冊了NFC事件的Activity供用戶選擇
如果當(dāng)前Activity注冊了NFC action 則將事件優(yōu)先交由當(dāng)前Activity處理。onNewIntent實現(xiàn):
@Override public void onNewIntent(Intent intent){
Parcelable p = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
if(p==null)
{
return;
}
Tag nfcTag =(Tag)p;
final IsoDep isodep = IsoDep.get(nfcTag);// final NfcA isodep = NfcA.get(nfcTag);
final byte[] cmd = {(byte)0x00, // CLA Class
(byte)0xB4, // INS Instruction
(byte)0x04, // P1 Parameter 1
(byte)0x00, // P2 Parameter 2
(byte)0x00, // Le
};
try {
isodep.connect();
byte[] reaponse=null;
logWindow.append(“00B4040000”+'n');
try {
reaponse = isodep.getHistoricalBytes();
logWindow.append(Util.bytes2HexString(reaponse)+'n');
reaponse =isodep.transceive(cmd);
logWindow.append(Util.bytes2HexString(reaponse)+'n');
} catch(IOException e){
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch(IOException e1){
// TODO Auto-generated catch block
e1.printStackTrace();
}finally{
try {
isodep.close();
} catch(IOException e){
// TODO Auto-generated catch block
e.printStackTrace();
}
} } 首先需要獲取Tag,Tag是操作NFC的基礎(chǔ)
Parcelable p = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
if(p==null)
{
return;
}
Tag nfcTag =(Tag)p;再將tag轉(zhuǎn)換成特定的通訊協(xié)議 final IsoDep isodep = IsoDep.get(nfcTag);連接讀卡器: isodep.connect();獲取歷史字節(jié):
reaponse = isodep.getHistoricalBytes();響應(yīng)指令:
reaponse =isodep.transceive(cmd);最后斷開連接:(斷開動作應(yīng)該在Activity關(guān)閉或者pause的時候發(fā)生)finally{
try {
isodep.close();
} catch(IOException e){
// TODO Auto-generated catch block
e.printStackTrace();
}
} onNewIntent里面可以實現(xiàn)業(yè)務(wù)邏輯的處理以及UI