《Android物聯(lián)網(wǎng)開(kāi)發(fā):基于Android Studio環(huán)境》主要針對(duì)物聯(lián)網(wǎng)應(yīng)用領(lǐng)域,以移動(dòng)終端為應(yīng)用平臺(tái),研究Android在物聯(lián)網(wǎng)的相關(guān)應(yīng)用。通過(guò)對(duì)本書(shū)的學(xué)習(xí),讀者可以牢固掌握Android編程技術(shù)的基本知識(shí),通過(guò)典型物聯(lián)網(wǎng)實(shí)踐的運(yùn)用,能夠進(jìn)行應(yīng)用程序的實(shí)際開(kāi)發(fā),獲得必要的物聯(lián)網(wǎng)移動(dòng)終端開(kāi)發(fā)的基礎(chǔ)知識(shí)和應(yīng)用技能,為培養(yǎng)綜合應(yīng)用打下基礎(chǔ)。
何福貴,北京勞動(dòng)保障職業(yè)學(xué)院副教授,博士后,物聯(lián)網(wǎng)應(yīng)用技術(shù)專(zhuān)業(yè)教研室主任,樓宇智能化工程技術(shù)和物聯(lián)網(wǎng)應(yīng)用技術(shù)專(zhuān)業(yè)帶頭人,第十一屆北京市高等學(xué)校教學(xué)名師,北京市優(yōu)秀專(zhuān)業(yè)創(chuàng)新團(tuán)隊(duì)帶頭人。
第一部分 基礎(chǔ)知識(shí)
第1章 Android開(kāi)發(fā)簡(jiǎn)介
1.1 Android介紹
1.2 Android系統(tǒng)構(gòu)架
1.3 Android應(yīng)用程序框架
1.4 本章小結(jié)
第2章 Android開(kāi)發(fā)環(huán)境的搭建
2.1 獲取Android源碼
2.1.1 在Linux系統(tǒng)中獲取Android源碼
2.1.2 在Windows平臺(tái)獲取Android源碼
2.1.3 編譯源碼
2.2 Android Studio應(yīng)用開(kāi)發(fā)
2.2.1 搭建Android Studio應(yīng)用開(kāi)發(fā)環(huán)境
2.2.2 創(chuàng)建第一個(gè)Android項(xiàng)目:HelloWorld
2.2.3 啟動(dòng)模擬器
2.2.4 運(yùn)行到模擬器
2.2.5 下載到真機(jī)
2.2.6 詳解項(xiàng)目中的資源
2.2.7 詳解build.gradle文件
2.2.8 導(dǎo)入外部項(xiàng)目和Eclipse開(kāi)發(fā)的Android項(xiàng)目
2.2.9 添加外部庫(kù)
2.2.10 應(yīng)用程序的調(diào)試
2.2.11 項(xiàng)目實(shí)戰(zhàn):下載Android的各個(gè)版本
2.3 本章小結(jié)
第3章 Android界面設(shè)計(jì)
3.1 用戶(hù)界面基礎(chǔ)
3.2 Android的Activity
3.2.1 Activity的介紹
3.2.2 Activity的生命周期
3.2.3 創(chuàng)建一個(gè)Activity
3.2.4 創(chuàng)建和加載布局
3.2.5 銷(xiāo)毀一個(gè)Activity
3.2.6 使用Intent在Activity之間穿梭
3.2.7 Intent調(diào)用常見(jiàn)系統(tǒng)組件
3.3 常用控件的使用方法
3.3.1 TextView和EditText
3.3.2 Button、ToggleButton 和ImageView
3.3.3 Spinner
3.3.4 ListView
3.3.5 AlertDialog
3.3.6 ProgressBar
3.4 Android布局
3.4.1 線(xiàn)性布局
3.4.2 相對(duì)布局
3.4.3 表格布局
3.4.4 百分比布局
3.4.5 嵌套布局實(shí)現(xiàn)計(jì)算器界面
3.5 樣式和主題
3.5.1 定義樣式
3.5.2 使用樣式
3.5.3 主題
3.6 新控件RecyclerView、CardView和Palette的使用
3.6.1 新控件的使用
3.6.2 實(shí)現(xiàn)縱向滾動(dòng)和橫向滾動(dòng)
3.6.3 RecyclerView的點(diǎn)擊事件
3.7 Android新控件
3.8 綜合項(xiàng)目實(shí)戰(zhàn):WebView實(shí)現(xiàn)監(jiān)控界面
3.9 本章小結(jié)
第4章 創(chuàng)建Android應(yīng)用程序
4.1 概述
4.2 事件處理機(jī)制
4.2.1 基于監(jiān)聽(tīng)器的事件處理
4.2.2 基于回調(diào)的事件處理
4.2.3 事件響應(yīng)的實(shí)現(xiàn)
4.2.4 項(xiàng)目實(shí)戰(zhàn):獲取屏幕觸點(diǎn)坐標(biāo)
4.3 Android多線(xiàn)程
4.3.1 線(xiàn)程的基本用法
4.3.2 在子線(xiàn)程更新UI
4.3.3 Android線(xiàn)程池
4.3.4 Android四種線(xiàn)程池實(shí)例
4.4 Android廣播組件
4.4.1 動(dòng)態(tài)注冊(cè)廣播
4.4.2 靜態(tài)注冊(cè)廣播
4.4.3 自定義本地廣播
4.5 后臺(tái)服務(wù)(Service)
4.5.1 定義一個(gè)服務(wù)
4.5.2 啟動(dòng)和停止服務(wù)
4.5.3 Service和Activity通信
4.6 Android實(shí)現(xiàn)多任務(wù)
4.6.1 多任務(wù)實(shí)現(xiàn)原理
4.6.2 用Handler實(shí)現(xiàn)多任務(wù)
4.6.3 項(xiàng)目實(shí)戰(zhàn):Handler實(shí)現(xiàn)模擬下載
4.6.4 AsyncTask實(shí)現(xiàn)多任務(wù)
4.6.5 項(xiàng)目實(shí)戰(zhàn):AsyncTask實(shí)現(xiàn)計(jì)時(shí)
4.7 本章小結(jié)
第5章 Android中數(shù)據(jù)的存儲(chǔ)和訪(fǎng)問(wèn)
5.1 簡(jiǎn)介
5.2 使用共同偏好的存取數(shù)據(jù)
5.2.1 存取共享偏好
5.2.2 Preference框架
5.3 文件讀取和保存
5.3.1 內(nèi)部存儲(chǔ)
5.3.2 擴(kuò)展存儲(chǔ)
5.4 存取結(jié)構(gòu)化數(shù)據(jù)
5.4.1 SQLite簡(jiǎn)介
5.4.2 創(chuàng)建SQLite數(shù)據(jù)庫(kù)
5.4.3 操作數(shù)據(jù)庫(kù)
5.5 使用LitePal操作數(shù)據(jù)庫(kù)
5.5.1 LitePal簡(jiǎn)介
5.5.2 配置LitePal
5.5.3 創(chuàng)建和升級(jí)數(shù)據(jù)庫(kù)
5.5.4 SQLite命令調(diào)試
5.5.5 數(shù)據(jù)庫(kù)操作
5.6 網(wǎng)絡(luò)存儲(chǔ)
5.7 本章小結(jié)
第6章 ContentProvider
6.1 查詢(xún)記錄
6.2 修改記錄
6.3 添加記錄
6.4 刪除記錄
6.5 創(chuàng)建Content Provider
6.6 本章小結(jié)
第二部分 物聯(lián)網(wǎng)應(yīng)用
第7章 移動(dòng)智能終端訪(fǎng)問(wèn)網(wǎng)絡(luò)攝像機(jī)
7.1 簡(jiǎn)介
7.2 網(wǎng)絡(luò)攝像機(jī)
7.3 系統(tǒng)實(shí)現(xiàn)
7.3.1 介紹
7.3.2 網(wǎng)絡(luò)攝像機(jī)參數(shù)設(shè)置
7.3.3 智能手機(jī)端視頻監(jiān)控軟件
7.4 本章小結(jié)
第8章 物聯(lián)網(wǎng)語(yǔ)音識(shí)別開(kāi)發(fā)
8.1 語(yǔ)音識(shí)別技術(shù)概述
8.2 TTS語(yǔ)音識(shí)別技術(shù)
8.2.1 TTS基礎(chǔ)
8.2.2 TTS開(kāi)發(fā)流程
8.2.3 項(xiàng)目實(shí)戰(zhàn):TTS文字識(shí)別實(shí)例
8.3 Voice Recognition語(yǔ)言識(shí)別
8.3.1 Voice Recognition技術(shù)基礎(chǔ)
8.3.2 項(xiàng)目實(shí)戰(zhàn):Voice Recognition語(yǔ)音識(shí)別
8.4 本章小結(jié)
第9章 在物聯(lián)網(wǎng)中媒體動(dòng)畫(huà)的實(shí)現(xiàn)
9.1 Android多媒體系統(tǒng)架構(gòu)基礎(chǔ)
9.2 Graphics類(lèi)詳解
9.2.1 Graphics類(lèi)基礎(chǔ)
9.2.2 Android圖形繪制類(lèi)
9.2.3 繪制基本圖形
9.3 二維動(dòng)畫(huà)
9.3.1 類(lèi)Drawable
9.3.2 實(shí)現(xiàn)Tween動(dòng)畫(huà)效果
9.3.3 Tween動(dòng)畫(huà)的四種動(dòng)畫(huà)效果
9.3.4 實(shí)現(xiàn)Frame動(dòng)畫(huà)效果
9.4 項(xiàng)目實(shí)戰(zhàn):物聯(lián)網(wǎng)環(huán)境控制動(dòng)畫(huà)
9.5 OpenGL ES詳解
9.5.1 OpenGL ES基礎(chǔ)
9.5.2 Android中的OpenGL ES
9.5.3 Open GL的基本操作
9.5.4 項(xiàng)目實(shí)戰(zhàn):利用OpenGL實(shí)現(xiàn)旋轉(zhuǎn)的立方體
9.6 音頻實(shí)現(xiàn)
9.6.1 音頻接口類(lèi)
9.6.2 AudioManager控制鈴聲
9.6.3 錄音詳解
9.6.4 項(xiàng)目實(shí)戰(zhàn):使用MediaPlay播放音樂(lè)
9.7 二維碼的識(shí)別
9.7.1 二維碼介紹
9.7.2 項(xiàng)目實(shí)戰(zhàn):Android實(shí)現(xiàn)二維碼識(shí)別
9.8 本章小結(jié)
第10章 Android網(wǎng)絡(luò)開(kāi)發(fā)
10.1 Android Socket網(wǎng)絡(luò)傳輸
10.1.1 什么是Socket
10.1.2 Socket的分類(lèi)
10.1.3 Socket基本實(shí)現(xiàn)原理
10.1.4 Android實(shí)現(xiàn)Socket簡(jiǎn)單通信
10.1.5 Android客戶(hù)端和PC服務(wù)器端通信
10.2 Android HTTP網(wǎng)絡(luò)傳輸
10.2.1 HttpURLConnection接口
10.2.2 項(xiàng)目實(shí)戰(zhàn):HttpURLConnection獲取信息
10.2.3 使用OkHttp
10.2.4 項(xiàng)目實(shí)戰(zhàn):OkHttp獲取信息
10.3 Android應(yīng)用程序的權(quán)限
10.3.1 Android權(quán)限機(jī)制詳解
10.3.2 在程序運(yùn)行時(shí)申請(qǐng)權(quán)限
10.4 解析XML格式數(shù)據(jù)
10.4.1 Pull解析方式
10.4.2 SAX解析方式
10.5 解析JSON格式數(shù)據(jù)
10.5.1 使用JSONObject
10.5.2 使用GSON
10.6 本章小結(jié)
第11章 Android無(wú)線(xiàn)通信
11.1 Android藍(lán)牙傳輸數(shù)據(jù)
11.1.1 藍(lán)牙介紹
11.1.2 藍(lán)牙體系結(jié)構(gòu)
11.1.3 藍(lán)牙軟件的實(shí)現(xiàn)
11.1.4 Android的藍(lán)牙接口類(lèi)
11.1.5 Android藍(lán)牙開(kāi)發(fā)步驟
11.1.6 項(xiàng)目實(shí)戰(zhàn):查找藍(lán)牙設(shè)備
11.1.7 項(xiàng)目實(shí)戰(zhàn):Android手機(jī)藍(lán)牙控制智能小車(chē)
11.2 Android系統(tǒng)中的NFC
11.2.1 近場(chǎng)通信技術(shù)基礎(chǔ)
11.2.2 在Android系統(tǒng)中使用NFC
11.2.3 項(xiàng)目實(shí)戰(zhàn):在Android中使用NFC讀取MifareClassic卡
11.3 本章小結(jié)
第12章 Android訪(fǎng)問(wèn)智能電表或智能插座
12.1 簡(jiǎn)介
12.1.1 RS-485接口智能插座
12.1.2 無(wú)線(xiàn)智能插座
12.1.3 智能電表
12.2 使用智能手機(jī)訪(fǎng)問(wèn)智能電表或智能插座
12.2.1 使用智能手機(jī)訪(fǎng)問(wèn)智能電表或智能插座的方案
12.2.2 使用智能手機(jī)訪(fǎng)問(wèn)Wi-Fi型智能插座或智能電表的方案
12.3 使用Android訪(fǎng)問(wèn)智能電表或智能插座
12.3.1 智能手機(jī)和Pad之間的數(shù)據(jù)通信
12.3.2 藍(lán)牙通信實(shí)現(xiàn)
12.3.3 訪(fǎng)問(wèn)智能電表或智能插座的命令格式
12.4 本章小結(jié)
第三部分 綜合實(shí)戰(zhàn)
第13章 UI新體驗(yàn)――Material Design
13.1 什么是Material Design
13.2 Design Support庫(kù)的使用
13.3 DrawerLayout和Navigation View
13.4 Material Design開(kāi)源項(xiàng)目
13.5 本章小結(jié)
第14章 綜合項(xiàng)目:Cool Weather
14.1 項(xiàng)目分析
14.2 創(chuàng)建數(shù)據(jù)庫(kù)和表
14.3 遍歷全國(guó)省、市、縣數(shù)據(jù)
14.4 設(shè)計(jì)天氣信息界面
14.5 省、市、縣數(shù)據(jù)界面處理
14.6 處理返回的JSON數(shù)據(jù)
14.7 將天氣信息顯示到界面上
14.8 后臺(tái)自動(dòng)更新天氣
第15章 Android應(yīng)用程序托管和發(fā)布
15.1 Git版本控制工具
15.1.1 安裝Git
15.1.2 創(chuàng)建代碼倉(cāng)庫(kù)
15.1.3 提交本地代碼
15.2 GitHub
15.2.1 在GitHub注冊(cè)創(chuàng)建版本庫(kù)
15.2.2 將代碼托管到GitHub
15.3 將應(yīng)用程序發(fā)布到360應(yīng)用商店
15.3.1 生成正式簽名的APK文件
15.3.2 申請(qǐng)360開(kāi)發(fā)賬號(hào)
15.3.3 發(fā)布應(yīng)用程序
15.3.4 嵌入廣告
15.4 本章小結(jié)
參考文獻(xiàn)