本書以一個(gè)具體的物聯(lián)網(wǎng)應(yīng)用(群智感知網(wǎng)絡(luò))作為物聯(lián)網(wǎng)編程的切入點(diǎn),以一個(gè)具體的物聯(lián)網(wǎng)終端平臺(tái)(安卓)作為物聯(lián)網(wǎng)編程的載體,以一個(gè)基于安卓平臺(tái)的傳感器資源管理和調(diào)度的框架和基于此框架的一個(gè)具體應(yīng)用(用戶情境感知)作為案例,以適應(yīng)課堂教學(xué)的需要,從而避免過于寬泛的物聯(lián)網(wǎng)編程概念落不到實(shí)處的尷尬。本書首先介紹了群智感知網(wǎng)絡(luò)的基本概念和相關(guān)應(yīng)用以及群智感知網(wǎng)絡(luò)和物聯(lián)網(wǎng)編程的聯(lián)系。然后討論了安卓平臺(tái)的一些核心思想和概念,包括基于XML的用戶界面設(shè)計(jì)、用戶界面組件及其生命周期、MVC設(shè)計(jì)模式、基于Intent的組件連接模型等。在對(duì)安卓平臺(tái)有初步的認(rèn)識(shí)后,本書進(jìn)一步描述了安卓平臺(tái)上傳感器相關(guān)的一些API使用的模式,并由此引出一個(gè)開源的統(tǒng)一調(diào)度使用安卓平臺(tái)傳感器資源的框架;诖丝蚣埽緯o出了一個(gè)使用該框架設(shè)計(jì)和實(shí)現(xiàn)用戶情境感知應(yīng)用的案例作為總結(jié)。
魯鳴鳴,男,博士,畢業(yè)于美國佛羅里達(dá)大西洋大學(xué),中國計(jì)算機(jī)學(xué)會(huì)會(huì)員、IEEE會(huì)員、ACM會(huì)員,現(xiàn)工作于中南大學(xué)信息科學(xué)與工程學(xué)院,從事物聯(lián)網(wǎng)的科研和教學(xué)工作。
目 錄
第1章 物聯(lián)網(wǎng)編程與群智感知 (1)
1.1 物聯(lián)網(wǎng)與泛群感知 (1)
1.2 泛群感知基本概念 (2)
1.3 群智感知網(wǎng)絡(luò)的基本特征 (3)
1.4 群智感知網(wǎng)絡(luò)的系統(tǒng)結(jié)構(gòu) (4)
1.5 群智感知網(wǎng)絡(luò)的典型應(yīng)用 (5)
1.6 群智感知與安卓應(yīng)用開發(fā) (10)
1.6.1 Android簡(jiǎn)介 (10)
1.6.2 搭建Android開發(fā)環(huán)境 (12)
第2章 Android應(yīng)用初步 (15)
2.1 應(yīng)用基礎(chǔ) (16)
2.2 創(chuàng)建Android項(xiàng)目 (17)
2.3 Android工作區(qū)導(dǎo)航 (19)
2.4 用戶界面設(shè)計(jì) (20)
2.4.1 視圖層級(jí)結(jié)構(gòu) (24)
2.4.2 組件屬性 (26)
2.4.3 創(chuàng)建字符串資源 (27)
2.4.4 預(yù)覽界面布局 (28)
2.5 從布局XML到視圖對(duì)象 (29)
2.6 組件的實(shí)際應(yīng)用 (33)
2.6.1 類包組織導(dǎo)入 (34)
2.6.2 引用組件 (34)
2.6.3 設(shè)置監(jiān)聽器 (35)
2.7 使用模擬器運(yùn)行應(yīng)用 (41)
2.8 Android編譯過程 (42)
第3章 Android與MVC設(shè)計(jì)模式 (45)
3.1 創(chuàng)建新類 (46)
3.2 Android與MVC設(shè)計(jì)模式 (49)
3.3 更新視圖層 (50)
3.4 更新控制層 (53)
3.5 在設(shè)備上運(yùn)行應(yīng)用 (57)
3.5.1 連接設(shè)備 (57)
3.5.2 配置設(shè)備用于應(yīng)用開發(fā) (57)
3.6 添加圖標(biāo)資源 (59)
3.6.1 向項(xiàng)目中添加資源 (59)
3.6.2 在XML文件中引用資源 (60)
3.7 挑戰(zhàn)練習(xí)一:為TextView添加監(jiān)聽器 (62)
3.8 挑戰(zhàn)練習(xí)二:添加后退按鈕 (62)
3.9 挑戰(zhàn)練習(xí)三:從按鈕到圖標(biāo)按鈕 (62)
第4章 Activity的生命周期 (65)
4.1 日志跟蹤理解Activity生命周期 (66)
4.1.1 輸出日志信息 (66)
4.1.2 使用LogCat (69)
4.2 設(shè)備旋轉(zhuǎn)與Activity生命周期 (73)
4.2.1 設(shè)備配置與備選資源 (74)
4.2.2 創(chuàng)建水平模式布局 (74)
4.3 設(shè)備旋轉(zhuǎn)前保存數(shù)據(jù) (80)
4.4 再探Activity生命周期 (83)
4.5 深入學(xué)習(xí):測(cè)試onSaveInstanceState(Bundle)方法 (84)
4.6 深入學(xué)習(xí):日志記錄的級(jí)別與方法 (85)
4.7 挑戰(zhàn) (87)
第5章 傳感器API概述 (88)
5.1 傳感器概述 (89)
5.1.1 傳感器是什么 (89)
5.1.2 傳感器的分類 (89)
5.2 改進(jìn)SensorTest程序 (91)
5.2.1 回顧 (91)
5.2.2 傳感器API (91)
5.2.3 SensorEvent (95)
5.3 使用傳感器數(shù)據(jù) (98)
5.3.1 使用相對(duì)布局的好處 (99)
5.3.2 對(duì)SensorEvent封裝的數(shù)據(jù)進(jìn)行操作 (106)
5.4 不同傳感器信息的顯示 (107)
5.4.1 完善SensorTest (108)
5.4.2 修改onSensorChanged() (110)
5.5 傳感器類型 (112)
5.6 有關(guān)Sensor的物理概念 (113)
第6章 第二個(gè)Activity (114)
6.1 創(chuàng)建第二個(gè)Activity (115)
6.1.1 創(chuàng)建新布局 (115)
6.1.2 創(chuàng)建新的Activity子類 (119)
6.1.3 在manifest配置文件中聲明Config Activity (119)
6.1.4 為SensorActivity添加Config按鈕 (121)
6.2 啟動(dòng)Activity (123)
6.2.1 基于Intent的通信 (123)
6.2.2 顯式與隱式Intent (125)
6.3 Activity間的數(shù)據(jù)傳遞 (125)
6.3.1 使用Intentextra (126)
6.3.2 從子Activity獲取返回結(jié)果 (130)
6.4 Activity的使用與管理 (142)
第7章 位置管理器 (146)
7.1 Android位置服務(wù)API (147)
7.1.1 LocationManager (147)
7.1.2 獲取位置更新 (148)
7.1.3 LocationProvider (148)
7.1.4 Location (148)
7.1.5 Criteria (149)
7.2 LocationListener (150)
7.2.1 獲取LocationManager系統(tǒng)服務(wù) (150)
7.2.2 確定使用的位置數(shù)據(jù)源 (151)
7.2.3 設(shè)置LocationListener監(jiān)聽器 (151)
7.2.4 注冊(cè)LocationListener監(jiān)聽器 (153)
第8章 Funf開源感知框架 (156)
8.1 Funf Journal (156)
8.2 Funf開源感知框架 (160)
8.3 設(shè)計(jì)Probe接口 (162)
8.3.1 Probe接口的實(shí)現(xiàn) (162)
8.3.2 getData()的實(shí)現(xiàn) (163)
8.3.3 通過回調(diào)方式發(fā)送數(shù)據(jù) (166)
8.3.4 發(fā)送數(shù)據(jù) (167)
8.3.5 修改LocationProbe (169)
8.3.6 實(shí)現(xiàn)ProbeTest (170)
8.4 BasicPipeline (173)
8.4.1 處理保存數(shù)據(jù)的BasicPipeline (173)
8.4.2 BasicPipeline的使用 (176)
8.5 FunfManager (178)
8.5.1 Android Service (179)
8.5.2 FunfManager Service (180)
第9章 利用Funf實(shí)現(xiàn)情境感知 (187)
9.1 情境與情境感知 (187)
9.1.1 情境 (187)
9.1.2 情境感知(Context-Aware) (187)
9.2 總體框架設(shè)計(jì) (188)
9.2.1 感知層 (188)
9.2.2 推理層 (189)
9.2.3 應(yīng)用層 (191)
9.3 系統(tǒng)實(shí)現(xiàn) (191)
9.3.1 感知層實(shí)現(xiàn) (191)
9.3.2 推理層實(shí)現(xiàn) (191)
9.3.3 應(yīng)用層實(shí)現(xiàn) (213)
參考文獻(xiàn) (217)