目 錄
第1章 基礎(chǔ)知識(shí) 1
1.1 開始Kotlin之旅 1
1.1.1 安裝JDK 3
1.1.2 編譯Kotlin程序 4
1.1.3 運(yùn)行第一個(gè)Kotlin程序 6
1.1.4 在IDE中工作 8
1.2 Kotlin編程語言基礎(chǔ)知識(shí) 10
1.2.1 Kotlin知識(shí) 10
1.2.2 面向?qū)ο蟪绦蛟O(shè)計(jì) 28
1.3 Kotlin的優(yōu)點(diǎn) 30
1.4 利用Kotlin開發(fā)Android應(yīng)用程序 31
1.4.1 設(shè)置Android Studio 31
1.4.2 構(gòu)建第一個(gè)Android應(yīng)用程序 34
1.5 Web基礎(chǔ)知識(shí) 42
1.5.1 Web的含義 42
1.5.2 超文本傳輸協(xié)議 42
1.5.3 客戶端和服務(wù)器 43
1.5.4 HTTP請(qǐng)求和響應(yīng) 43
1.5.5 HTTP方法 43
1.6 本章小結(jié) 44
第2章 構(gòu)建Android應(yīng)用程序—俄羅斯方塊游戲 45
2.1 Android概述 45
2.1.1 活動(dòng) 46
2.1.2 意圖 46
2.1.3 意圖過濾器 47
2.1.4 片段 47
2.1.5 服務(wù) 47
2.1.6 加載器 47
2.1.7 內(nèi)容提供商 47
2.2 理解俄羅斯方塊游戲 48
2.3 創(chuàng)建用戶界面 49
2.3.1 ConstraintLayout 51
2.3.2 定義尺寸資源 54
2.3.3 視圖 56
2.3.4 視圖組 57
2.3.5 定義字符串資源 62
2.3.6 處理輸入事件 65
2.3.7 與SharedPreferences協(xié)同工作 70
2.3.8 實(shí)現(xiàn)游戲活動(dòng)布局 75
2.4 App清單文件 78
2.4.1
81
2.4.2 81
2.4.3 81
2.4.4 82
2.4.5 83
2.4.6 83
2.5 本章小結(jié) 83
第3章 俄羅斯方塊游戲的邏輯和功能 84
3.1 實(shí)現(xiàn)游戲體驗(yàn)過程 84
3.1.1 圖塊建模 85
3.1.2 構(gòu)建應(yīng)用程序模型 100
3.1.3 創(chuàng)建TetrisView 111
3.2 MVP模式簡介 122
3.2.1 MVP的含義 122
3.2.2 MVP實(shí)現(xiàn) 123
3.3 本章小結(jié) 123
第4章 設(shè)計(jì)并實(shí)現(xiàn)Messenger后端應(yīng)用程序 124
4.1 設(shè)計(jì)Messenger API 124
4.1.1 應(yīng)用程序編程接口 124
4.1.2 REST 125
4.1.3 設(shè)計(jì)Messenger API系統(tǒng) 125
4.2 實(shí)現(xiàn)Messenger后端 128
4.2.1 PostgreSQL 128
4.2.2 創(chuàng)建新的Spring Boot應(yīng)用程序 129
4.2.3 Spring Boot概述 132
4.2.4 限制API訪問 154
4.3 將Messenger API部署至AWS上 173
4.3.1 配置AWS上的PostgreSQL 173
4.3.2 向Amazon Elastic Beanstalk部署Messenger API 176
4.4 本章小結(jié) 178
第5章 構(gòu)建Messenger Android App(第1部分) 180
5.1 開發(fā)Messenger App 180
5.1.1 納入項(xiàng)目依賴關(guān)系 180
5.1.2 開發(fā)登錄UI 182
5.1.3 設(shè)計(jì)注冊(cè)UI 209
5.2 本章小結(jié) 219
第6章 構(gòu)建Messenger Android App(第2部分) 220
6.1 創(chuàng)建主UI 220
6.1.1 創(chuàng)建MainView 220
6.1.2 創(chuàng)建MainInteractor 222
6.1.3 創(chuàng)建MainPresenter 225
6.1.4 封裝MainView 227
6.1.5 創(chuàng)建MainActivity菜單 238
6.2 創(chuàng)建聊天UI 239
6.2.1 創(chuàng)建聊天布局 239
6.2.2 準(zhǔn)備聊天UI模型 241
6.2.3 創(chuàng)建ChatInteractor和ChatPresenter 242
6.3 應(yīng)用程序設(shè)置 249
6.4 Android應(yīng)用程序測試 259
6.5 執(zhí)行后臺(tái)操作 260
6.5.1 AsyncTask 260
6.5.2 IntentService 260
6.6 本章小結(jié) 261
第7章 在數(shù)據(jù)庫中存儲(chǔ)信息 262
7.1 與內(nèi)部存儲(chǔ)協(xié)同工作 262
7.1.1 向內(nèi)部存儲(chǔ)中寫入文件 262
7.1.2 從內(nèi)部存儲(chǔ)中讀取私有文件 263
7.1.3 基于內(nèi)部存儲(chǔ)的示例程序 263
7.1.4 保存緩存文件 277
7.2 與外部存儲(chǔ)協(xié)同工作 277
7.2.1 獲得外部存儲(chǔ)許可 277
7.2.2 媒介的有效性 278
7.2.3 存儲(chǔ)共享文件 279
7.2.4 利用外部存儲(chǔ)緩存文件 279
7.3 網(wǎng)絡(luò)存儲(chǔ) 279
7.4 與內(nèi)容提供商協(xié)同工作 295
7.5 本章小結(jié) 306
第8章 Android App的安全和部署 307
8.1 Android應(yīng)用程序安全 307
8.1.1 內(nèi)部存儲(chǔ) 307
8.1.2 網(wǎng)絡(luò)安全 308
8.1.3 輸入驗(yàn)證 309
8.1.4 與用戶憑證協(xié)同工作 309
8.1.5 代碼混淆技術(shù) 309
8.1.6 廣播接收器的安全性 309
8.1.7 動(dòng)態(tài)加載代碼 309
8.1.8 服務(wù)的安全性 310
8.2 啟用和發(fā)布Android應(yīng)用程序 310
8.2.1 理解Android開發(fā)者程序策略 311
8.2.2 設(shè)置Android開發(fā)者賬號(hào) 311
8.2.3 本地化規(guī)劃 311
8.2.4 規(guī)劃同步版本 311
8.2.5 根據(jù)質(zhì)量標(biāo)準(zhǔn)進(jìn)行測試 311
8.2.6 構(gòu)建可發(fā)布的APK 312
8.2.7 規(guī)劃應(yīng)用程序的Play Store列表 312
8.2.8 將應(yīng)用程序包上傳至alpha或beta測試 312
8.2.9 設(shè)備兼容性定義 312
8.2.10 啟用前報(bào)告評(píng)估 312
8.2.11 定價(jià)和應(yīng)用程序分發(fā)配置 312
8.2.12 分發(fā)選項(xiàng)的選取 313
8.2.13 應(yīng)用程序內(nèi)產(chǎn)品和訂閱設(shè)置 313
8.2.14 制定應(yīng)用程序內(nèi)容評(píng)級(jí) 313
8.2.15 發(fā)布應(yīng)用程序 313
8.2.16 發(fā)布Android應(yīng)用程序 320
8.3 本章小結(jié) 324
第9章 創(chuàng)建Place Reviewer后臺(tái)應(yīng)用程序 325
9.1 MVC設(shè)計(jì)模式 325
9.1.1 模型 325
9.1.2 視圖 325
9.1.3 控制器 326
9.2 設(shè)計(jì)并實(shí)現(xiàn)Place Reviewer后臺(tái)程序 326
9.2.1 用例標(biāo)識(shí) 326
9.2.2 標(biāo)識(shí)數(shù)據(jù) 327
9.2.3 設(shè)置數(shù)據(jù)庫 327
9.2.4 實(shí)現(xiàn)后臺(tái)應(yīng)用程序 328
9.2.5 將后臺(tái)程序連接至Postgres 330
9.2.6 創(chuàng)建模型 330
9.2.7 創(chuàng)建數(shù)據(jù)存儲(chǔ)庫 333
9.2.8 Place Reviewer業(yè)務(wù)邏輯實(shí)現(xiàn) 334
9.2.9 Place Reviewer后臺(tái)應(yīng)用程序的安全問題 336
9.2.10 基于Spring MVC的Web內(nèi)容服務(wù) 340
9.3 利用ELK管理Spring應(yīng)用程序日志 343
9.3.1 利用Spring生成日志 343
9.3.2 安裝Elasticsearch 343
9.3.3 安裝Kibana 345
9.3.4 Logstash 346
9.3.5 配置Kibana 347
9.4 本章小結(jié) 349
第10章 實(shí)現(xiàn)Place Reviewer前端 350
10.1 利用Thymeleaf生成視圖 350
10.1.1 實(shí)現(xiàn)用戶注冊(cè)視圖 351
10.1.2 實(shí)現(xiàn)登錄視圖 365
10.1.3 Google Places API Web服務(wù) 369
10.1.4 實(shí)現(xiàn)主視圖 371
10.1.5 生成評(píng)論 382
10.2 Spring應(yīng)用程序測試 395
10.2.1 添加測試依賴關(guān)系 395
10.2.2 定義配置類 396
10.2.3 利用自定義配置設(shè)置配置類 396
10.2.4 編寫第一個(gè)測試程序 397
10.3 本章小結(jié) 400
后記 401