1. 程式人生 > >《Android NFC 開發實戰詳解 》簡介+原始碼+樣章+勘誤ING

《Android NFC 開發實戰詳解 》簡介+原始碼+樣章+勘誤ING

SkySeraph Mar. 14th  2014

囉嗦

     大笑哇哈..,歷時一年多,我的第一本書終於要出版了(原本應該今年年初出版的,跟馬航一樣, 莫名其妙就拖到了現在快哭了, 據出版社最新訊息, 預計三月中下旬正式出版,敬請期待), 封面如下, 感謝人民郵電的張濤老師為本書的付出,......這本書的寫作大概是從去年的3月左右開始的, 全書分為三大塊,分別為基礎篇,應用篇和例項篇(具體見下述MENU)...微笑 

About

LINK

china-pub:

Amazon:    

京東:  

噹噹:

NFC相關 QQ群:

NFC產品聯盟

  221281036   

NFC技術聯盟   221282715  

NFC技術聯盟2   369190772(已滿)

 

MENU

第一篇  基礎篇

第1章  NFC概述

1.1  RFID基礎... 2

1.1.1  RFID簡介.... 2

1.1.2  RFID系統的組成和工作原理.... 3

1.1.3  RFID應用概述.... 6

1.2  NFC基礎... 7

1.2.1  NFC簡介.... 7

1.2.2  技術比較.... 8

1.2.3  NFC裝置.... 11

1.2.4  NFC通訊模式.... 11

1.2.5  NFC工作模式和應用分類.... 13

1.3  NFC工作原理... 15

1.4  NFC應用例項... 16

1.4.1  NFC生態系統.... 16

1.4.2  NFC應用例項.... 17

1.5  NFC開發常用網路資源... 19

1.6  本章小結... 20

第2章  NFC協議基礎

2.1  NFC技術標準... 21

2.2  NFC標準規範... 24

2.2.1  ISO 14443. 24

2.2.2  NFCIP-1. 25

2.2.3  MIFARE. 26

2.2.4  FeliCa. 26

2.3  NFC TAG.. 27

2.3.1  NFC Forum定義的Tag型別.... 27

2.3.2  NXP特定的Tag型別.... 29

2.4  NDEF協議... 29

2.4.1  NDEF概述.... 30

2.4.2  NDEF例項.... 33

2.5  RTD協議... 34

2.5.1  RTD_TEXT.. 34

2.5.2  RTD_URI 35

2.5.3  RTD_Smart Poster 36

2.6  LLCP協議... 37

2.7  NFC協議彙總... 39

2.8  本章小結... 40

第3章  NFC開發中的Android基礎.... 41

3.1  Android概述... 41

3.1.1  Android基礎概念.... 41

3.1.2  Android開發工作.... 42

3.1.3  Android開發環境.... 42

3.2  Android應用程式結構... 44

3.3  Android系統架構... 45

3.4  NFC開發中必備的Android知識... 47

3.4.1  Activity生命週期.... 47

3.4.2  Intent-Filter 48

3.5  Android TV中的NFC開發... 50

3.5.1  Android TV+整合NFC硬體.... 50

3.5.2  Android TV+整合NFC Tag. 51

3.5.3  Android TV+整合NFC的RC.. 52

3.5.4  Android TV +整合NFC的RC+整合NFC硬體.... 53

3.6  本章小結... 54

第二篇  應用/技術篇

第4章  Android NFC API概述.... 56

4.1  Android中的NFC API 56

4.1.1  android.nfc包.... 56

4.1.2  android.nfc.tech包.... 59

4.1.3  NFC API使用第一步:NFC在Android Manifest中的設定.... 59

4.1.4  NFC API使用第二步:NfcAdapter的獲取.... 60

4.2  NFC標籤排程系統... 62

4.2.1  NFC前臺排程系統.... 62

4.2.2  NFC標籤排程系統.... 63

4.2.3  NFC標籤對映.... 64

4.2.4  應用程式如何排程NFC標籤.... 65

4.3  NFC Intent過濾器... 66

4.3.1  ACTION_NDEF_DISCOVERED.. 66

4.3.2  ACTION_TECH_DISCOVERED.. 70

4.3.3  ACTION_TAG_DISCOVERED.. 71

4.4  Android應用程式記錄... 72

4.4.1  AAR基礎.... 72

4.4.2  AAR和Intent 過濾器的區別.... 72

4.4.3  Android中AAR的使用.... 73

4.5  Android NFC API與系統版本對應表... 73

4.6  本章小結... 74

第5章  NFC讀寫模式開發.... 79

5.1  關於NFC讀寫模式... 79

5.2  TAG讀操作(NDEF資料)... 79

5.2.1  TAG讀操作步驟.... 80

5.2.2  TAG讀操作例項.... 86

5.3  TAG寫操作(NDEF資料)... 98

5.3.1  TAG寫操作步驟.... 98

5.3.2  TAG寫操作例項.... 108

5.4  基於AAR的TAG讀寫操作... 121

5.5  非NDEF資料TAG讀操作... 121

5.6  本章小結... 123

第6章  NFC P2P模式開發.... 124

6.1  關於NFC P2P模式... 124

6.1.1  Beam使用的條件.... 124

6.1.2  Beam Enable的判斷.... 125

6.2  Android NFC P2P開發基礎... 126

6.2.1  Android Beam實現的幾種方式.... 127

6.2.2  Beam NDEF訊息(BNM).... 129

6.2.3  接收Beam訊息(RBM).... 130

6.2.4  enableForegroundNdefPush的使用.... 130

6.3  Android NFC P2P開發例項... 132

6.3.1  例項1:使用setNdefPushMessageCallback實現Android Beam.. 132

6.3.2  例項2:使用setNdefPushMessage實現Android Beam.. 143

6.3.3  例項3:使用enableForegroundNdefPush實現Android Beam.. 151

6.3.4  例項4:結合AAR實現Android Beam.. 157

6.4  Android NFC P2P開發進階... 162

6.4.1  Beam實現檔案傳輸的方法.... 162

6.4.2  Beam檔案傳輸例項1:setBeamPushUris. 164

6.4.3  Beam檔案傳輸例項2:setBeamPushUrisCallback. 169

6.5  本章小節... 172

第7章  NFC卡模擬模式開發.... 173

7.1  關於NFC卡模擬模式... 173

7.2  基於硬體的卡模擬—虛擬卡模式... 174

7.2.1  虛擬卡模式概述.... 174

7.2.2  安全單元SE和SWP. 174

7.2.3  虛擬卡模式的開發.... 177

7.3  基於軟體的卡模擬—主機卡模式... 183

7.3.1  主機卡模式概述.... 183

7.3.2  主機卡模式的優點.... 184

7.3.3  主機卡模式的隱患.... 185

7.3.4  主機卡模式的開發.... 187

7.4  卡模擬模式前景... 187

7.5  本章小結... 188

第三篇  例項篇

第8章  NFC例項一——WiFi快速連線助手.... 190

8.1  開發背景及功能概述... 190

8.1.1  開發背景.... 190

8.1.2  功能概述.... 190

8.1.3  開發環境和目標平臺.... 191

8.2  軟體預覽及功能結構... 191

8.2.1  軟體預覽.... 191

8.2.2  功能結構.... 194

8.3  主介面設計... 195

8.3.1  WiFi資訊配置介面.... 195

8.3.2  WiFi配置資訊TAG寫入介面.... 197

8.3.3  AndroidManifest. Xml檔案.... 198

8.4  主程式實現... 199

8.4.1  WiFi配置資訊輸入模組.... 199

8.4.2  WiFi配置資訊TAG寫入模組.... 203

8.4.3  TAG WiFi資訊讀取模組.... 207

8.4.4  WiFi自動連線模組.... 211

8.4.5  UI輔助模組.... 214

8.5  本章小結... 215

第9章  NFC例項二——EasyTagWrite.. 216

9.1  開發背景及功能概述... 216

9.1.1  開發背景.... 216

9.1.2  功能概述.... 216

9.1.3  開發環境和目標平臺.... 217

9.2  軟體預覽及功能結構... 217

9.2.1  軟體預覽.... 217

9.2.2  功能結構.... 220

9.3  主介面設計... 220

9.4  主程式實現... 223

9.4.1  UI互動模組.... 223

9.4.2  NDEF訊息生成模組.... 228

9.4.3  NDEF訊息寫入模組.... 231

9.5  本章小結... 231

第10章  NFC例項三——NFCard.. 232

10.1  NFCard概述... 232

10.1.1  簡介.... 232

10.1.2  環境平臺.... 232

10.2  軟體預覽及功能結構... 233

10.2.1  軟體預覽.... 233

10.2.2  功能結構.... 234

10.3  主介面解析... 235

10.4  主程式解析... 238

10.4.1  UI互動模組.... 239

10.4.2  Card讀取模組.... 244

10.4.3  Card解析模組.... 247

10.5  本章小結... 249

附錄  縮略語和約定語     250

CODE & 樣章

勘誤和支援

由於作者水平有限,加之寫作時間倉促,書中難免會出現一些錯誤或不準確的地方,懇請讀者批評和指正。若有問題,可通過郵箱與筆者共同討論,筆者聯絡方式為:

 勘誤ING

P96頁,5.2.2下面的"(1)主程式P2PDemo1.java....", 改為 "(1)主程式ReadTag_RTDUrl.java..."

    P118頁,5.3.2下面的"主程式P2PDemo1.java..."  改為“主程式WriteTag_RTDUrl.java...”

2  P251頁,在NDEF訊息獲取模組程式碼中,第4~45行之間漏掉了判斷,在第4行前加上(GitHub已更新)

原始:
    ...
3 super.onResume();
4 //get NFC Object
   ...
45 }
 
修改為
     ...
3 super.onResume();
if(NfcAdapter.ACTION_TECH_DISCOVERED.equals(getIntent().getAction())) //增加判斷
{  
4 //get NFC Object
   ...
45 }
}
View Code

 P121頁類似,為了演示將三個判斷都加進去了,其中有兩個(是具體TAG型別而定,NDEF和TAG)需要加return的.

3  P73,P89,P108頁 中的  ACTION_TAB_DISCOVERED,改為ACTION_TAG_DISCOVERED 

4. P68頁,ACTION_NFC_SETTINGS...使用該方法,需要在Android API 9+以上系統中...(改為API 16+

5. P36頁,表2-6中 Payload_lenght改為Payload_length

收集中...)

微笑

========

By SkySeraph-2014

相關推薦

Android NFC 開發實戰簡介+原始碼++勘誤ING

SkySeraph Mar. 14th  2014 囉嗦      哇哈..,歷時一年多,我的第一本書終於要出版了(原本應該今年年初出版的,跟馬航一樣, 莫名其妙就拖到了現在, 據出版社最新訊息, 預計三月中下旬正式出版,敬請期待), 封面如下, 感謝人民郵電的張濤老師為本書的付出,.....

Android應用開發Scroller原始碼淺析

1 背景 大家都知道Android View提供了scrollTo()與scrollBy()方法來供我們進行View的滾動,但是有個問題就是他的滾動很蛋疼,疼在是瞬時挪動到指定位置的,這種對於追求使用者體驗的今天來說簡直是硬傷啊;為了解決這個問題Google給

Android MVC開發框架

div ada 2-2 展示 gpo lose 回調接口 cycle recycler 1、目錄根據需要自行添加   adapter    用於RecyclerView、ListView 等各種適配器  fragment    存放fragment   model    

Flutter完整開發實戰(五、 深入探索)

作為系列文章的第五篇,本篇主要探索下 Flutter 中的一些有趣原理,幫助我們更好的去理解和開發。 前文: 一、Dart語言和Flutter基礎 二、 快速開發實戰篇 三、 打包與填坑篇 四、Redux、主題、國際化) 一、WidgetsFlutterBin

全面的android webview開發使用

1. 簡介 WebView是一個基於webkit引擎、展現web頁面的控制元件。 Android的Webview在低版本和高版本採用了不同的webkit版本核心,4.4後直接使用了Chrome。 2. 作用 顯示和渲染Web頁面 直接使用html檔案(網路上或本地asse

Flutter 完整開發實戰(一、Dart 語言和 Flutter 基礎)

前言 在如今的 Fultter 大潮下,本系列是讓你看完會安心的文章。本系列將完整講述:如何快速從0開發一個完整的 Flutter APP,配套高完成度 Flutter 開源專案 GSYGithubAppFlutter。同時也會提供一些 Flutter 的開發

JAVA簡單專案"購物系統"的整個開發過程(內含原始碼和註釋)

package cn.itcast; import java.util.Scanner; /** * 選單類,用於顯示所有級選單供使用者選擇 * * @author * */ public class Menu { /** * 空構造方法 * */ public Menu

本人新書< Windows CE 7開發實戰>出版-感謝大家一如既往的支援-感謝CSDN總裁蔣濤以及他率領的CSDN團隊提供的支援!

第1章 Windows Embedded Compact 7簡介以及最新特性1.1 Windows Embedded Compact 7的發展歷史1.2 Windows Embedded Compact 7的功能簡介1.3 Windows Embedded Compact 7

Android驅動開發與移植實戰pdf

下載地址:網盤下載Android憑藉其開源性、優異的使用者體驗和極為方便的開發方式,贏得了廣大使用者和開發者的青睞,目前已經發展成為市場佔有率很高的智慧手機作業系統。  《Android驅動開發與移植實戰詳解》分為18章,依次講解了Android系統的基本知識, Linux核

Web開發典藏大系:Web性能測試實戰 PDF掃描版

場景 測試基礎 學生 應用 測試的 runner 性能測試實例 性能測試實戰 工具 本書主要講解了大數據背景下的Web性能測試的特點和方法,以及使用業內應用非常廣泛的工具――LoadRunner 11進行性能測試的具體技術與技巧。本書理論結合實踐,講解圖文並茂,並且將I

Android開發Handler的記憶體洩露

原文:https://blog.csdn.net/carson_ho/article/details/52693211 前言 記憶體洩露在Android開發中非常常見 記憶體洩露的定義:本該被回收的物件不能被回收而停留在堆記憶體中

Android非同步訊息處理機制原始碼分析

PS一句:最終還是選擇CSDN來整理髮表這幾年的知識點,該文章平行遷移到CSDN。因為CSDN也支援MarkDown語法了,牛逼啊! 【工匠若水 http://blog.csdn.net/yanbober 轉載煩請註明出處,尊重分享成果】 最近相對來說比較閒,加上養病,所

Android應用程式啟動(二)從原始碼瞭解App的啟動過程

本文承接《Android應用程式啟動詳解(一)》繼續來學習應用程式的啟動的那些事。上文提到startActivity()方法啟動一個app後經過一翻過程就到了app的入口方法ActivityThread.main()。其實我們在之前的文章中《Android的訊息機制(二)之L

Android觸控式螢幕事件派發機制原始碼分析三(Activity篇)

PS一句:最終還是選擇CSDN來整理髮表這幾年的知識點,該文章平行遷移到CSDN。因為CSDN也支援MarkDown語法了,牛逼啊! 【工匠若水 http://blog.csdn.net/yanbober】 該篇承接上一篇《Android觸控式螢幕事件派發機制詳解與原始碼分析

Android觸控式螢幕事件派發機制原始碼分析二(ViewGroup篇)

【工匠若水 http://blog.csdn.net/yanbober】 該篇承接上一篇《Android觸控式螢幕事件派發機制詳解與原始碼分析一(View篇)》,閱讀本篇之前建議先閱讀。當然,閱讀完這一篇之後可以閱讀繼續進階的下一篇《Android觸控式螢幕事件派發機制詳解與原始碼

Android觸控式螢幕事件派發機制原始碼分析一(View篇)

【工匠若水 http://blog.csdn.net/yanbober】 Notice:閱讀完該篇之後如果想繼續深入閱讀Android觸控式螢幕事件派發機制詳解與原始碼分析下一篇請點選《Android觸控式螢幕事件派發機制詳解與原始碼分析二(ViewGroup篇)》檢視。 1

Android應用Context原始碼解析

轉自 http://blog.csdn.net/yanbober/article/details/45967639  1  背景 今天突然想起之前在上家公司(做TV與BOX盒子)時有好幾個人問過我關於Android的Context到底是啥的問題,所以就馬上

Android 6.0許可權機制及開發流程

許可權機制變更的背景 在Android6.0之前,app在安裝時會提示使用者此app需要使用哪些許可權,但使用者只能選擇同意或拒絕安裝,而不能單獨對某項許可權進行授予或拒絕。只要使用者選擇了安裝,即表示使用者接受了app對這些許可權的使用,如果使用者不希望app獲取某些涉及隱

Android 開發RxJava

寫在前面: 感謝拋物線寫出了這篇經典的Rxjava入門的文章 1. 概念:擴充套件的觀察者模式 RxJava 的非同步實現,是通過一種擴充套件的觀察者模式來實現的。 觀察者模式 先簡述一下觀察者模式,已經熟悉的可以跳過這一段。

POI實戰-java開發excel之複雜寫入

3.複雜寫入 3.1 複雜寫入 POI複雜寫出主要是同複雜讀取一樣,在實際開發中,從資料庫中讀取字元、數字、日期各種型別資料,並通過相應的計算公式寫出到Excel中。 這次寫出的Excel,不重新建立,而採用Excel模板(圖12)形式,將資料從資料