定 價:¥79.00
作 者: | 歐陽燊 |
出版社: | 清華大學出版社 |
叢編項: | 移動開發(fā)叢書 |
標 簽: | 暫缺 |
ISBN: | 9787302498148 | 出版時間: | 2018-03-01 | 包裝: | |
開本: | 16開 | 頁數(shù): | 338 | 字數(shù): |
目 錄
第1章 搭建Kotlin開發(fā)環(huán)境 1
1.1 Kotlin與Android開發(fā)的關系 1
1.1.1 Kotlin語言簡介 1
1.1.2 Android Studio的官方開發(fā)語言 2
1.2 Kotlin開發(fā)工具 2
1.2.1 安裝Android Studio 2
1.2.2 啟動Android Studio 4
1.2.3 創(chuàng)建Kotlin工程 5
1.2.4 新建Kotlin文件 8
1.3 SDK安裝與插件升級 10
1.3.1 安裝最新版SDK 10
1.3.2 升級Gradle插件 11
1.3.3 升級Kotlin插件 12
1.4 Kotlin簡單配置 14
1.4.1 調(diào)整Kotlin編譯配置 14
1.4.2 修改編譯配置文件 15
1.4.3 Java代碼轉Kotlin代碼 16
1.5 Kotlin相關技術 18
1.5.1 Kotlin代碼與Java代碼PK 18
1.5.2 Anko庫 21
1.5.3 Lambda表達式 22
1.6 小結 23
第2章 數(shù)據(jù)類型 24
2.1 基本數(shù)據(jù)類型 24
2.1.1 基本類型的變量聲明 24
2.1.2 簡單變量之間的轉換 25
2.2 數(shù)組 26
2.2.1 數(shù)組變量的聲明 27
2.2.2 數(shù)組元素的操作 28
2.3 字符串 29
2.3.1 字符串與基本類型的轉換 29
2.3.2 字符串的常用方法 29
2.3.3 字符串模板及其拼接 30
2.4 容器 31
2.4.1 容器的基本操作 31
2.4.2 集合Set/MutableSet 32
2.4.3 隊列List/MutableList 34
2.4.4 映射Map/MutableMap 36
2.5 小結 38
第3章 控制語句 39
3.1 條件分支 39
3.1.1 簡單分支 39
3.1.2 多路分支 40
3.1.3 類型判斷 42
3.2 循環(huán)處理 43
3.2.1 遍歷循環(huán) 44
3.2.2 條件循環(huán) 45
3.2.3 跳出多重循環(huán) 46
3.3 空安全 48
3.3.1 字符串的有效性判斷 48
3.3.2 聲明可空變量 49
3.3.3 校驗空值的運算符 50
3.4 等式判斷 52
3.4.1 結構相等 52
3.4.2 引用相等 53
3.4.3 s和in 55
3.5 小結 57
第4章 函數(shù)運用 58
4.1 函數(shù)的基本用法 58
4.1.1 與Java聲明方式的區(qū)別 58
4.1.2 輸入?yún)?shù)的格式 59
4.1.3 輸出參數(shù)的格式 60
4.2 輸入?yún)?shù)的變化 62
4.2.1 默認參數(shù) 62
4.2.2 命名參數(shù) 63
4.2.3 可變參數(shù) 64
4.3 幾種特殊函數(shù) 66
4.3.1 泛型函數(shù) 66
4.3.2 內(nèi)聯(lián)函數(shù) 67
4.3.3 簡化函數(shù) 68
4.3.4 尾遞歸函數(shù) 69
4.3.5 高階函數(shù) 69
4.4 增強系統(tǒng)函數(shù) 71
4.4.1 擴展函數(shù) 71
4.4.2 擴展高階函數(shù) 72
4.4.3 日期時間函數(shù) 73
4.4.4 單例對象 75
4.5 小結 77
第5章 類和對象 78
5.1 類的構造 78
5.1.1 類的簡單定義 78
5.1.2 類的構造函數(shù) 79
5.1.3 帶默認參數(shù)的構造函數(shù) 81
5.2 類的成員 83
5.2.1 成員屬性 83
5.2.2 成員方法 86
5.2.3 伴生對象 87
5.2.4 靜態(tài)屬性 88
5.3 類的繼承 89
5.3.1 開放性修飾符 89
5.3.2 普通類繼承 91
5.3.3 抽象類 93
5.3.4 接口 94
5.3.5 接口代理 96
5.4 幾種特殊類 99
5.4.1 嵌套類 100
5.4.2 內(nèi)部類 100
5.4.3 枚舉類 101
5.4.4 密封類 103
5.4.5 數(shù)據(jù)類 104
5.4.6 模板類 105
5.5 小結 107
第6章 Kotlin使用簡單控件 108
6.1 使用按鈕控件 108
6.1.1 按鈕Button 108
6.1.2 復選框CheckBox 111
6.1.3 單選按鈕RadioButton 112
6.2 使用頁面布局 114
6.2.1 線性布局LinearLayout 114
6.2.2 相對布局RelativeLayout 118
6.2.3 約束布局ConstraintLayout 119
6.3 使用圖文控件 124
6.3.1 文本視圖TextView 124
6.3.2 圖像視圖ImageView 127
6.3.3 文本編輯框EditText 128
6.4 Activity活動跳轉 130
6.4.1 傳送配對字段數(shù)據(jù) 130
6.4.2 傳送序列化數(shù)據(jù) 132
6.4.3 跳轉時指定啟動模式 134
6.4.4 處理返回數(shù)據(jù) 137
6.5 實戰(zhàn)項目:電商App的登錄頁面 138
6.5.1 需求描述 138
6.5.2 開始熱身:提醒對話框AlertDialog 139
6.5.3 控件設計 141
6.5.4 關鍵代碼 141
6.6 小結 144
第7章 Kotlin操縱復雜控件 145
7.1 使用視圖排列 145
7.1.1 下拉框Spinner 145
7.1.2 列表視圖ListView 149
7.1.3 網(wǎng)格視圖GridView 154
7.1.4 循環(huán)視圖RecyclerView 156
7.2 使用材質設計MaterialDesign 165
7.2.1 協(xié)調(diào)布局CoordinatorLayout 165
7.2.2 工具欄Toolbar 167
7.2.3 應用欄布局AppBarLayout 169
7.2.4 可折疊工具欄布局CollapsingToolbarLayout 173
7.2.5 仿支付寶首頁的頭部伸縮特效 177
7.3 實現(xiàn)頁面切換 181
7.3.1 翻頁視圖ViewPager 182
7.3.2 碎片F(xiàn)ragment 184
7.3.3 標簽布局TabLayout 187
7.4 廣播收發(fā)Broadcast 190
7.4.1 收發(fā)臨時廣播 191
7.4.2 接收系統(tǒng)廣播 194
7.5 實戰(zhàn)項目:電商App的商品頻道 196
7.5.1 需求描述 196
7.5.2 開始熱身:下拉刷新布局SwipeRefreshLayout 197
7.5.3 控件設計 201
7.5.4 關鍵代碼 201
7.6 小結 203
第8章 Kotlin進行數(shù)據(jù)存儲 205
8.1 使用共享參數(shù)SharedPreferences 205
8.1.1 共享參數(shù)讀寫模板Preference 205
8.1.2 屬性代理等黑科技 208
8.1.3 實現(xiàn)記住密碼功能 210
8.2 使用數(shù)據(jù)庫SQLite 211
8.2.1 數(shù)據(jù)庫幫助器SQLiteOpenHelper 211
8.2.2 更安全的ManagedSQLiteOpenHelper 213
8.2.3 優(yōu)化記住密碼功能 220
8.3 文件I/O操作 222
8.3.1 文件保存空間 222
8.3.2 讀寫文本文件 224
8.3.3 讀寫圖片文件 225
8.3.4 遍歷文件目錄 227
8.4 Application全局變量 228
8.4.1 Application單例化 228
8.4.2 利用Application實現(xiàn)全局變量 231
8.5 實戰(zhàn)項目:電商App的購物車 232
8.5.1 需求描述 232
8.5.2 開始熱身:選項菜單OptionsMenu 233
8.5.3 控件設計 235
8.5.4 關鍵代碼 236
8.6 小結 240
第9章 Kotlin自定義控件 242
9.1 自定義普通視圖 242
9.1.1 構造對象 242
9.1.2 測量尺寸 245
9.1.3 繪制部件 249
9.2 自定義簡單動畫 252
9.2.1 任務Runnable 252
9.2.2 進度條ProgressBar 255
9.2.3 自定義文本進度條 257
9.2.4 實現(xiàn)進度條動畫 258
9.3 自定義通知欄 259
9.3.1 通知推送Notification 260
9.3.2 大視圖通知 262
9.3.3 三種特殊的通知類型 265
9.3.4 遠程視圖RemoteViews 269
9.3.5 自定義折疊式通知 272
9.4 Service服務啟停 274
9.4.1 普通方式啟動服務 274
9.4.2 綁定方式啟動服務 277
9.4.3 推送服務到前臺 279
9.5 實戰(zhàn)項目:電商App的生鮮團購 283
9.5.1 需求描述 283
9.5.2 開始熱身:震動器Vibrator 284
9.5.3 控件設計 287
9.5.4 關鍵代碼 287
9.6 小結 289
第10章 Kotlin實現(xiàn)網(wǎng)絡通信 291
10.1 多線程技術 291
10.1.1 大線程Thread與消息傳遞 291
10.1.2 進度對話框ProgressDialog 295
10.1.3 異步任務doAsync和doAsyncResult 297
10.2 訪問HTTP接口 300
10.2.1 移動數(shù)據(jù)格式JSON 301
10.2.2 JSON串轉數(shù)據(jù)類 303
10.2.3 HTTP接口調(diào)用 304
10.2.4 HTTP圖片獲取 306
10.3 文件下載操作 308
10.3.1 下載管理器DownloadManager 308
10.3.2 自定義文本進度圈 313
10.3.3 在頁面上動態(tài)顯示下載進度 316
10.4 ContentProvider內(nèi)容提供 319
10.4.1 內(nèi)容提供器ContentProvider 319
10.4.2 內(nèi)容解析器ContentResolver 322
10.4.3 內(nèi)容觀察器ContentObserver 325
10.5 實戰(zhàn)項目:電商App的自動升級 329
10.5.1 需求描述 329
10.5.2 開始熱身:可變字符串SpannableString 330
10.5.3 控件設計 333
10.5.4 關鍵代碼 334
10.6 小結 337