本書以物聯(lián)網(wǎng)智慧農(nóng)業(yè)移動端應用系統(tǒng)的開發(fā)為例,講解了在HarmonyOS中進行移動開發(fā)的方法,將開發(fā)過程拆解成14個任務,模擬類似敏捷開發(fā)的流程,任務的設計既遵循HarmonyOS知識點的學習路徑,又盡量符合移動應用開發(fā)的教學過程。通過增量迭代來開發(fā)各個功能模塊,讀者完成每個任務后都可以編譯、運行,并且每個任務都可以在前一任務的基礎上進行拓展,*終完成整個應用的開發(fā)。讀者可通過重構、復原該系統(tǒng)來掌握物聯(lián)網(wǎng)應用開發(fā)的常用技術。同時,本書還引入了Git版本管理系統(tǒng),可幫助讀者熟悉企業(yè)開發(fā)的過程。
本書適合作為高職院校電子信息類、計算機類相關專業(yè)的教材,也適合對物聯(lián)網(wǎng)移動應用開發(fā)感興趣的讀者閱讀學習。
二維碼清單
前言
緒論 智慧農(nóng)業(yè)項目概述及設計1
0.1 項目背景1
0.2 項目方案1
0.3 系統(tǒng)部署2
0.4 系統(tǒng)功能3
0.4.1 Splash歡迎界面4
0.4.2 系統(tǒng)登錄界面4
0.4.3 大氣環(huán)境監(jiān)控界面4
0.4.4 土壤環(huán)境監(jiān)控界面4
0.4.5 水閥控制界面5
0.4.6 參數(shù)設置界面6
任務1 開發(fā)環(huán)境搭建和創(chuàng)建工程7
1.1 初識HarmonyOS7
1.2 HarmonyOS 平臺架構7
1.2.1 HarmonyOS的三大特征8
1.2.2 HarmonyOS系統(tǒng)架構8
1.3 創(chuàng)建開發(fā)環(huán)境和HelloWorld工程10
1.3.1 開發(fā)準備10
1.3.2 開發(fā)應用10
1.3.3 運行應用12
1.3.4 發(fā)布應用13
1.4 更改應用的啟動圖標和應用名稱13
1.4.1 復制logo.png圖片13
1.4.2 配置圖標13
1.4.3 配置應用名稱14
任務2 認識Git版本管理16
2.1 版本管理16
2.1.1 本地版本管理系統(tǒng)16
2.1.2 集中化版本管理系統(tǒng)16
2.1.3 分布式版本管理系統(tǒng)17
2.2 Git的初識與安裝17
2.2.1 Git的安裝18
2.2.2 Git快照流18
2.2.3 Git的三個區(qū)19
2.2.4 Git基本配置19
2.3 實踐Git基本功能20
2.3.1 初始化Git倉庫20
2.3.2 查看當前狀態(tài)21
2.3.3 增加文件21
2.3.4 查看log24
2.4 Git版本回退24
2.4.1 commit id24
2.4.2 reset命令25
2.5 Git內容對比26
2.5.1 對比工作目錄與暫存區(qū)26
2.5.2 對比倉庫不同版本27
2.5.3 對比工作目錄與倉庫28
2.5.4 對比暫存區(qū)與倉庫28
2.6 Git分支與查看29
2.6.1 分支創(chuàng)建29
2.6.2 分支切換31
2.6.3 分支合并32
2.7 Git標簽管理32
2.7.1 查看標簽32
2.7.2 創(chuàng)建標簽32
2.7.3 指定版本打標簽33
2.7.4 檢出標簽34
2.7.5 刪除標簽35
2.8 將工程加入Git版本控制35
2.8.1 初始化工作目錄35
2.8.2 提交代碼到本地倉庫38
2.8.3 將該版本代碼打上標簽40
任務3 創(chuàng)建Splash界面41
3.1 HarmonyOS應用的基礎知識41
3.1.1 用戶應用程序42
3.1.2 用戶應用程序包結構42
3.1.3 關鍵術語43
3.2 HarmonyOS應用的配置文件43
3.2.1 配置文件的組成44
3.2.2 配置文件的元素44
3.2.3 配置文件內部結構45
3.2.4 app對象的內部結構45
3.2.5 deviceConfig對象的內部結構46
3.2.6 module對象的內部結構48
3.3 HarmonyOS應用的資源文件54
3.3.1 resources目錄54
3.3.2 限定詞目錄55
3.3.3 資源組目錄56
3.4 創(chuàng)建Splash界面56
3.4.1 了解項目工程56
3.4.2 了解Ability基礎57
3.4.3 創(chuàng)建Splash Ability和布局58
3.4.4 編輯配置文件59
3.4.5 編輯Splash布局61
3.4.6 編輯Splash Ability66
3.5 提交代碼到倉庫73
任務4 創(chuàng)建新大陸云平臺“智慧農(nóng)業(yè)”項目76
4.1 創(chuàng)建云平臺項目76
4.1.1 了解新大陸物聯(lián)網(wǎng)云平臺77
4.1.2 創(chuàng)建新大陸物聯(lián)網(wǎng)云平臺“智慧草坪”項目77
4.1.3 創(chuàng)建傳感器79
4.1.4 創(chuàng)建執(zhí)行器79
4.2 創(chuàng)建物聯(lián)網(wǎng)行業(yè)實訓仿真項目80
4.2.1 創(chuàng)建仿真項目80
4.2.2 調試智慧農(nóng)業(yè)數(shù)據(jù)采集和控制80
4.3 使用新大陸物聯(lián)網(wǎng)云平臺數(shù)據(jù)模擬器81
4.4 使用新大陸1+X傳感網(wǎng)設備設計原型82
4.4.1 認識新大陸1+X傳感網(wǎng)設備體系82
4.4.2 搭建感知層原型82
任務5 RESTful API調試84
5.1 HTTP基礎84
5.1.1 HTTP消息結構84
5.1.2 HTTP方法86
5.1.3 HTTP 常用方法GET和POST86
5.1.4 HTTP常見請求頭部87
5.1.5 HTTP常見響應報頭87
5.1.6 HTTP狀態(tài)碼88
5.2 RESTful架構88
5.2.1 REST概述88
5.2.2 資源與URI88
5.2.3 統(tǒng)一資源接口89
5.3 使用Postman調試API接口89
5.3.1 Postman安裝89
5.3.2 Postman基本使用90
5.4 調試新大陸物聯(lián)網(wǎng)云平臺API接口91
5.4.1 歸納新大陸物聯(lián)網(wǎng)云平臺RESTful API91
5.4.2 調試用戶登錄API92
5.4.3 查詢設備最新數(shù)據(jù)94
5.4.4 模糊查詢傳感器101
5.4.5 發(fā)送命令控制設備103
任務6 創(chuàng)建登錄功能106
6.1 編輯登錄界面
ability_login.xml106
6.2 編輯登錄邏輯
LoginAbilitySlice.java111
6.3 引入網(wǎng)絡庫蒹葭(JianJia)114
6.3.1 添加mavenCentral()倉庫114
6.3.2 添加依賴114
6.3.3 增加網(wǎng)絡權限和HTTP訪問115
6.4 登錄云平臺115
6.4.1 創(chuàng)建Wan接口116
6.4.2 創(chuàng)建Account Bean116
6.4.3 登錄邏輯117
6.4.4 編譯運行120
6.5 提交代碼到倉庫120
任務7 創(chuàng)建底部標簽導航欄121
7.1 不同Page Ability的切換121
7.1.1 掌握Intent意圖122
7.1.2 根據(jù)Ability的全稱啟動應用122
7.1.3 根據(jù)Operation的其他屬性啟動應用123
7.1.4 LoginAbilitySlice切換到MainAbilitySlice124
7.1.5 編譯運行125
7.1.6 提交代碼到倉庫126
7.2 使用TabList設置多標簽126
7.2.1 Component126
7.2.2 StackLayout128
7.2.3 ScrollView128
7.2.4 TabList128
7.2.5 實現(xiàn)TabList功能130
7.2.6 編譯運行133
7.3 提交代碼到倉庫134
任務8 創(chuàng)建大氣環(huán)境監(jiān)控界面135
8.1 使用PageSlider組件切換頁面135
8.1.1 增加PageSlider136
8.1.2 創(chuàng)建PageSliderProvider子類136
8.2 大氣監(jiān)控界面設計137
8.3 更新MainAbilitySlice.java138
8.3.1 PageSlider常用方法138
8.3.2 更新MainAbilitySlice.java代碼139
8.3.3 編譯運行142
8.4 提交代碼到倉庫142
任務9 創(chuàng)建參數(shù)設置界面143
9.1 個人設置界面143
9.1.1 創(chuàng)建土壤界面144
9.1.2 創(chuàng)建控制界面144
9.1.3 創(chuàng)建我的界面144
9.1.4 編輯MainAbilitySlice.java148
9.1.5 編譯運行149
9.1.6 提交代碼到倉庫149
9.2 云平臺參數(shù)設置界面149
9.2.1 創(chuàng)建云平臺參數(shù)設置界面149
9.2.2 創(chuàng)建AbilitySlice的Java文件152
9.2.3 更新MainAbilitySlice.java153
9.2.4 編譯運行154
9.3 提交代碼到倉庫154
任務10 參數(shù)持久化155
10.1 AbilityPackage類155
10.2 輕量級數(shù)據(jù)存儲155
10.2.1 輕量級數(shù)據(jù)存儲概述155
10.2.2 輕量級數(shù)據(jù)存儲開發(fā)156
10.3 更新Java代碼160
10.3.1 更新MyApplication.java文件160
10.3.2 更新CloudParameterSettingAbilitySlice.java167
10.3.3 更新SplashAbilitySlice.java171
10.3.4 更新LoginAbilitySlice.java171
10.4 編譯運行173
10.5 提交代碼到倉庫173
任務11 從云平臺獲取傳感器數(shù)據(jù)174
11.1 設置蒹葭(JianJia)攔截器174
11.1.1 蒹葭(JianJia)攔截器175
11.1.2 更新MyApplication.java文件175
11.1.3 編譯運行176
11.1.4 提交代碼到倉庫176
11.2 使用HiLog日志176
11.2.1 HiLog日志基礎177
11.2.2 更新項目代碼178
11.2.3 編譯運行180
11.2.4 提交代碼到倉庫180
11.3 從云平臺獲取傳感器數(shù)據(jù)180
11.3.1 更新MyApplication.java180
11.3.2 創(chuàng)建SensorData.java181
11.3.3 更新Wan.java182
11.3.4 更新MainAbilitySlice.java183
11.3.5 編譯運行188
11.3.6 調試解決Bug188
11.4 提交代碼到倉庫189
任務12 創(chuàng)建土壤監(jiān)控界面190
12.1 更新pageslider_soil.xml界面190
12.2 更新MainAbilitySlice.java代碼190
12.3 更新string.json193
12.4 編譯運行193
12.5 提交代碼到倉庫194
任務13 創(chuàng)建執(zhí)行器控制195
13.1 使用Switch組件195
13.2 更新pageslider_control.xml文件196
13.3 更新java文件200
13.3.1 創(chuàng)建CmdRsp.java bean文件200
13.3.2 更新Wan.java200
13.3.3 更新MainAbilitySlice.Java201
13.4 更新string.json文件205
13.5 編譯運行205
13.5.1 打開水閥205
13.5.2 關閉水閥206
13.5.3 設備未上線206
13.6 提交代碼到倉庫206
任務14 創(chuàng)建多語言環(huán)境207
14.1 多語言設計207
14.2 全屏顯示209
14.3 退出當前賬號210
14.3.1 更新MyApplication.java文件210
14.3.2 更新SplashAbilitySlice.java文件211
14.3.3 更新LoginAbilitySlice.java文件211
14.3.4 更新SplashAbility.java文件212
14.3.5 更新MainAbilitySlice.java文件212
14.3.6 了解Page Ability生命周期213
14.3.7 編譯運行215
14.4 提交代碼到倉庫215
參考文獻216