欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于Android平臺(tái)的NFC讀寫方法

文檔序號(hào):9200710閱讀:838來源:國知局
一種基于Android平臺(tái)的NFC讀寫方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及外部數(shù)據(jù)處理、計(jì)算機(jī)應(yīng)用領(lǐng)域,尤其涉及的是一種基于Android平臺(tái)的NFC讀寫方法。
【背景技術(shù)】
[0002]近年來,隨著網(wǎng)絡(luò)和通信技術(shù)的快速發(fā)展,智能手機(jī)在人們的生活中占據(jù)著越來越重要的位置,據(jù)美國市場研宄公司IDC統(tǒng)計(jì)報(bào)告稱,2014年全球手機(jī)出貨量達(dá)到11.67億部,比2013年同比增長了 25.9%,同時(shí)搭載Android操作系統(tǒng)的智能手機(jī)在其中的比例已達(dá)到了 75%,穩(wěn)居智能手機(jī)出貨量第一名。NFC(Near Filed Communicat1n)近場通信技術(shù)是由非接觸式射頻識(shí)別(RFID)及互聯(lián)互通技術(shù)整合演變而來,在單一芯片上結(jié)合感應(yīng)式讀卡器、感應(yīng)式卡片和點(diǎn)對點(diǎn)的功能,能在短距離內(nèi)與兼容設(shè)備進(jìn)行識(shí)別和數(shù)據(jù)交換。NFC根據(jù)應(yīng)用的不同可采用三種不同的工作模式:讀寫模式(也稱讀卡器模式、讀寫模式)、P2P(點(diǎn)對點(diǎn))模式、卡模擬模式(也稱支付模式)。在移動(dòng)通信領(lǐng)域,人們可以在有NFC功能的Android智能手機(jī)上進(jìn)行智能海報(bào)閱讀,移動(dòng)支付,門禁控制等操作,在旅游社交領(lǐng)域,博物館可以使用NFC技術(shù)為游客提供服務(wù),游客可以通過智能手機(jī)訪問展品信息,同時(shí)還可以進(jìn)行交流互動(dòng),發(fā)展前景廣闊。
[0003]而在NFC的讀取方面,市面上的NFC讀寫軟件在讀取方面存在著如下缺陷:由于寫入的數(shù)據(jù)以16進(jìn)制的形式保存,讀取的時(shí)候不能很好的識(shí)別;或者在寫入數(shù)據(jù)方面不能寫入中文和對寫入數(shù)據(jù)的長度有限制(必須為16位),寫入數(shù)據(jù)時(shí)可能會(huì)寫到NFC卡片的保護(hù)塊,而導(dǎo)致卡片的扇區(qū)出現(xiàn)死區(qū)而損壞,不方便寫入。
[0004]因此,在NFC的讀寫方面存在不足,需要改進(jìn)。

【發(fā)明內(nèi)容】

[0005]為了克服現(xiàn)有的NFC讀寫方法存在著讀取識(shí)別不方便,對寫入數(shù)據(jù)的要求苛刻(數(shù)據(jù)內(nèi)容必須為16位,且不能為中文)的不足,本發(fā)明提供一種讀取方便,寫入自由度高,對NFC卡片內(nèi)存零破壞的基于Android平臺(tái)的NFC讀寫方法。
[0006]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
[0007]一種基于Android平臺(tái)的NFC讀寫方法,所述的讀寫方法包括以下步驟:
[0008]I)打開本應(yīng)用程序,判斷設(shè)備狀態(tài):
[0009]1.1)先檢測設(shè)備支持NFC功能與否,若不支持則彈出提示框,退出應(yīng)用程序;
[0010]1.2)若設(shè)備支持該功能但未開啟NFC功能,則出現(xiàn)提示框,提醒開啟設(shè)備的NFC功能,開啟后進(jìn)行下一步;
[0011]2)將標(biāo)簽靠近設(shè)備背面,等待程序讀?。?br>[0012]3)NFC卡片的讀操作:當(dāng)有標(biāo)簽靠近時(shí),應(yīng)用程序會(huì)提示發(fā)現(xiàn)一個(gè)NFC卡片信息,則啟動(dòng)Android標(biāo)準(zhǔn)配置文件中過濾器找到定義好的應(yīng)用程序主活動(dòng)Activity,用戶可以在活動(dòng)中執(zhí)行需要的操作;
[0013]4)NFC數(shù)據(jù)格式信息的獲得:通過從主活動(dòng)Activity中的意圖過濾器獲取卡片信息,并將其保存在數(shù)據(jù)格式信息類中;
[0014]5)NFC數(shù)據(jù)格式信息的解析:通過獲得的信息進(jìn)行數(shù)據(jù)格式轉(zhuǎn)化解析,從而得到卡片中寫入的真實(shí)內(nèi)容,即之前寫入的數(shù)據(jù);
[0015]6)NFC卡片的寫操作:當(dāng)NFC應(yīng)用程序發(fā)現(xiàn)一個(gè)NFC卡片時(shí),會(huì)啟動(dòng)Android標(biāo)準(zhǔn)配置文件中定義好的對應(yīng)主活動(dòng)Activity,執(zhí)行Activity中的寫操作:
[0016]6.1)獲取卡片的對內(nèi)存操作指令,并連接;
[0017]6.2)在寫入數(shù)據(jù)的過程中,設(shè)定好寫入的塊,防止寫入扇區(qū)的尾塊中而導(dǎo)致扇區(qū)出現(xiàn)死區(qū)的現(xiàn)象;
[0018]6.3)將寫入的數(shù)據(jù)轉(zhuǎn)為byte型,并判斷寫入數(shù)據(jù)的大小,如果超出范圍,提示寫入數(shù)據(jù)超過內(nèi)存,并返回,否則繼續(xù)下一步;
[0019]6.4)獲取寫入扇區(qū)的獨(dú)立密碼;
[0020]6.5)判斷寫入數(shù)據(jù)的byte型長度,小于16byte的補(bǔ)0,大于16byte但小于48byte的自動(dòng)轉(zhuǎn)為存儲(chǔ)與本扇區(qū)的其他塊,大于48byte的,轉(zhuǎn)到步驟6.3)獲取下一個(gè)扇區(qū)的密碼,再重復(fù)步驟6.4),直至存儲(chǔ)結(jié)束;
[0021]6.6)關(guān)閉卡片對內(nèi)存操作的指令連接;
[0022]7)讀取存儲(chǔ)的16進(jìn)制數(shù)據(jù)內(nèi)容:對寫入存儲(chǔ)的數(shù)據(jù)利用ASCII碼擴(kuò)展表進(jìn)行轉(zhuǎn)換,還原存儲(chǔ)數(shù)據(jù)的內(nèi)容。
[0023]進(jìn)一步,步驟3)中發(fā)現(xiàn)卡片和卡片的分發(fā)系統(tǒng)包括以下步驟:
[0024]3.1)如果目標(biāo) NFC 卡片包含了系統(tǒng)支持的 NDEF (NFC Data Exchange Formate)消息,即NFC數(shù)據(jù)轉(zhuǎn)換格式消息,則NFC系統(tǒng)模塊將直接把此NDEF消息分發(fā)給感興趣的Activity活動(dòng)類,如果有目標(biāo)Activity,則直接分發(fā)給此活動(dòng)類,否則繼續(xù)下一步;
[0025]3.2)如果目標(biāo)NFC卡片包含了系統(tǒng)不支持的NDEF消息,或者3.1)中沒有目標(biāo)Activity,則NFC系統(tǒng)模塊將嘗試分發(fā)一個(gè)ACT1N_TECH_DISCOVERED發(fā)現(xiàn)支持類型的通知;NFC系統(tǒng)模塊在分發(fā)此通知時(shí),將首先分析目標(biāo)卡片所支持的使用技術(shù),然后尋找注冊了支持這些卡片技術(shù)的目標(biāo)活動(dòng)Activity,并將意圖1ntent分發(fā)給Activity ;如果沒有合適的目標(biāo)Activity,則轉(zhuǎn)入下一步;
[0026]3.3)NFC系統(tǒng)模塊將分發(fā)ACT1N_TAG_DISCOVERED通知給注冊了該通知的感興趣目標(biāo)活動(dòng)Activity。
[0027]再進(jìn)一步,步驟4)中的獲取卡片信息的讀取方法為:先獲得卡片對內(nèi)存的操作指令,然后再獲取每個(gè)內(nèi)存扇區(qū)的密碼,找到要讀取數(shù)據(jù)的塊,再將內(nèi)存中的16進(jìn)制數(shù)據(jù)每2位或者4位進(jìn)行美國標(biāo)準(zhǔn)交換信息碼擴(kuò)展碼轉(zhuǎn)換,從而識(shí)別中文內(nèi)容,最后關(guān)閉對內(nèi)存的操作指令,完成整個(gè)讀取過程。
[0028]本發(fā)明的技術(shù)構(gòu)思為:對NFC卡片的內(nèi)容讀取方法進(jìn)行了改進(jìn),利用ASCII (美國標(biāo)準(zhǔn)信息交換代碼)碼擴(kuò)展表,使其讀取內(nèi)容支持的范圍變大;在寫入前,首先判斷卡片的內(nèi)存大小,然后獲取扇區(qū)和塊等信息,并獲取每個(gè)扇區(qū)的密碼;寫入數(shù)據(jù)時(shí),將寫入數(shù)據(jù)轉(zhuǎn)換為byte型,對不足16位的長度或者超過16位的byte型數(shù)據(jù),利用數(shù)組元素復(fù)制的方法對數(shù)據(jù)進(jìn)行分割和補(bǔ)充,消除對寫入數(shù)據(jù)的苛刻要求的影響,使得寫入數(shù)據(jù)更加自由簡單;同時(shí),在判斷卡片信息時(shí),能夠識(shí)別卡片的尾塊,從而在寫入數(shù)據(jù)時(shí),避免寫入尾塊而導(dǎo)致卡片出現(xiàn)死區(qū)而損壞。
[0029]本發(fā)明的有益效果為:不僅寫入自由度高,而且對NFC卡片內(nèi)存零破壞。
【附圖說明】
:
[0030]圖1是讀取寫入數(shù)據(jù)前的界面。
[0031]圖2是讀取寫入數(shù)據(jù)后的界面。
[0032]圖3是轉(zhuǎn)換為ASCII碼的界面。
【具體實(shí)施方式】
[0033]下面結(jié)合附圖對本發(fā)明作進(jìn)一步描述。
[0034]參照圖1?圖3,一種基于Android平臺(tái)的NFC讀寫方法,包括以下步驟:
[0035]I)打開本應(yīng)用程序,判斷設(shè)備狀態(tài):
[0036]1.1)先檢測設(shè)備支持NFC功能與否,若不支持則彈出提示框,退出應(yīng)用程序;
[0037]1.2)若設(shè)備支持該功能但未開啟NFC功能,則出現(xiàn)提示框,提醒開啟設(shè)備的NFC功能,開啟后進(jìn)行下一步;
[0038]2)將標(biāo)簽靠近設(shè)備背面,等待程序讀取;
[0039]3) NFC卡片的讀操作:當(dāng)有標(biāo)簽靠近時(shí),應(yīng)用程序會(huì)提示發(fā)現(xiàn)一個(gè)NFC卡片信息,則啟動(dòng)Android標(biāo)準(zhǔn)配置文件中過濾器找到定義好的應(yīng)用程序主活動(dòng)Activity,用戶可以在活動(dòng)中執(zhí)行需要的操作;
[0040]4)NFC數(shù)據(jù)格式信息的獲得:通過從主活動(dòng)Activity中的意圖過濾器獲取卡片信息,并將其保存在數(shù)據(jù)格式信息類中;
[0041]5)NFC數(shù)據(jù)格式信息的解析:通過獲得的信息進(jìn)行數(shù)據(jù)格式轉(zhuǎn)化解析,從而得到卡片中寫入的真實(shí)內(nèi)容,即之前寫入的數(shù)據(jù);
[0042]6)NFC卡片的寫操作:當(dāng)NFC應(yīng)用程序發(fā)現(xiàn)一個(gè)NFC卡片時(shí),會(huì)啟動(dòng)Android標(biāo)準(zhǔn)配置文件中定義好的對應(yīng)主活動(dòng)Activity,執(zhí)行Activity中的寫操作:
[0043]6.1)獲取卡片的對內(nèi)存操作指令,并連接;
[0044]6.2)在寫入數(shù)據(jù)的過程中,設(shè)定好寫入的塊,防止寫入扇區(qū)的尾塊中而導(dǎo)致扇區(qū)出現(xiàn)死區(qū)現(xiàn)象;
[0045]6.3)將寫入的數(shù)據(jù)轉(zhuǎn)為byte型,并判斷寫入數(shù)據(jù)的大小,如果超出范圍,提示寫入數(shù)據(jù)超過內(nèi)存,并返回,否則繼續(xù)下一步;
[0046]6.4)獲取寫入扇區(qū)的獨(dú)立密碼;
[0047]6.5)判斷寫入數(shù)據(jù)的byte型的長度,小于16byte的補(bǔ)0,大于16byte但小于48byte的自動(dòng)轉(zhuǎn)為存儲(chǔ)與本扇區(qū)的其他塊,大于48byte的,轉(zhuǎn)到步驟6.3)獲取下一個(gè)扇區(qū)的密碼,再重復(fù)步驟6.4),直至
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
临猗县| 宁化县| 黎平县| 满洲里市| 华宁县| 临洮县| 聂荣县| 松滋市| 德令哈市| 龙门县| 汨罗市| 永兴县| 武冈市| 东港市| 阳原县| 晴隆县| 济阳县| 隆昌县| 阿鲁科尔沁旗| 定西市| 容城县| 永和县| 潮安县| 北安市| 澎湖县| 沅江市| 明光市| 米易县| 邮箱| 蕲春县| 辰溪县| 白朗县| 泉州市| 屯留县| 景洪市| 辽宁省| 府谷县| 财经| 荥经县| 花莲市| 彰武县|