定 價(jià):¥79.00
作 者: | 歐陽燊 |
出版社: | 清華大學(xué)出版社 |
叢編項(xiàng): | 移動(dòng)開發(fā)叢書 |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787302498148 | 出版時(shí)間: | 2018-03-01 | 包裝: | |
開本: | 16開 | 頁數(shù): | 338 | 字?jǐn)?shù): |
目 錄
第1章 搭建Kotlin開發(fā)環(huán)境 1
1.1 Kotlin與Android開發(fā)的關(guān)系 1
1.1.1 Kotlin語言簡(jiǎn)介 1
1.1.2 Android Studio的官方開發(fā)語言 2
1.2 Kotlin開發(fā)工具 2
1.2.1 安裝Android Studio 2
1.2.2 啟動(dòng)Android Studio 4
1.2.3 創(chuàng)建Kotlin工程 5
1.2.4 新建Kotlin文件 8
1.3 SDK安裝與插件升級(jí) 10
1.3.1 安裝最新版SDK 10
1.3.2 升級(jí)Gradle插件 11
1.3.3 升級(jí)Kotlin插件 12
1.4 Kotlin簡(jiǎn)單配置 14
1.4.1 調(diào)整Kotlin編譯配置 14
1.4.2 修改編譯配置文件 15
1.4.3 Java代碼轉(zhuǎn)Kotlin代碼 16
1.5 Kotlin相關(guān)技術(shù) 18
1.5.1 Kotlin代碼與Java代碼PK 18
1.5.2 Anko庫 21
1.5.3 Lambda表達(dá)式 22
1.6 小結(jié) 23
第2章 數(shù)據(jù)類型 24
2.1 基本數(shù)據(jù)類型 24
2.1.1 基本類型的變量聲明 24
2.1.2 簡(jiǎn)單變量之間的轉(zhuǎn)換 25
2.2 數(shù)組 26
2.2.1 數(shù)組變量的聲明 27
2.2.2 數(shù)組元素的操作 28
2.3 字符串 29
2.3.1 字符串與基本類型的轉(zhuǎn)換 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 隊(duì)列List/MutableList 34
2.4.4 映射Map/MutableMap 36
2.5 小結(jié) 38
第3章 控制語句 39
3.1 條件分支 39
3.1.1 簡(jiǎn)單分支 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 校驗(yàn)空值的運(yùn)算符 50
3.4 等式判斷 52
3.4.1 結(jié)構(gòu)相等 52
3.4.2 引用相等 53
3.4.3 s和in 55
3.5 小結(jié) 57
第4章 函數(shù)運(yùn)用 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 默認(rèn)參數(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 簡(jiǎn)化函數(shù) 68
4.3.4 尾遞歸函數(shù) 69
4.3.5 高階函數(shù) 69
4.4 增強(qiáng)系統(tǒng)函數(shù) 71
4.4.1 擴(kuò)展函數(shù) 71
4.4.2 擴(kuò)展高階函數(shù) 72
4.4.3 日期時(shí)間函數(shù) 73
4.4.4 單例對(duì)象 75
4.5 小結(jié) 77
第5章 類和對(duì)象 78
5.1 類的構(gòu)造 78
5.1.1 類的簡(jiǎn)單定義 78
5.1.2 類的構(gòu)造函數(shù) 79
5.1.3 帶默認(rèn)參數(shù)的構(gòu)造函數(shù) 81
5.2 類的成員 83
5.2.1 成員屬性 83
5.2.2 成員方法 86
5.2.3 伴生對(duì)象 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 小結(jié) 107
第6章 Kotlin使用簡(jiǎn)單控件 108
6.1 使用按鈕控件 108
6.1.1 按鈕Button 108
6.1.2 復(fù)選框CheckBox 111
6.1.3 單選按鈕RadioButton 112
6.2 使用頁面布局 114
6.2.1 線性布局LinearLayout 114
6.2.2 相對(duì)布局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活動(dòng)跳轉(zhuǎn) 130
6.4.1 傳送配對(duì)字段數(shù)據(jù) 130
6.4.2 傳送序列化數(shù)據(jù) 132
6.4.3 跳轉(zhuǎn)時(shí)指定啟動(dòng)模式 134
6.4.4 處理返回?cái)?shù)據(jù) 137
6.5 實(shí)戰(zhàn)項(xiàng)目:電商App的登錄頁面 138
6.5.1 需求描述 138
6.5.2 開始熱身:提醒對(duì)話框AlertDialog 139
6.5.3 控件設(shè)計(jì) 141
6.5.4 關(guān)鍵代碼 141
6.6 小結(jié) 144
第7章 Kotlin操縱復(fù)雜控件 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 使用材質(zhì)設(shè)計(jì)MaterialDesign 165
7.2.1 協(xié)調(diào)布局CoordinatorLayout 165
7.2.2 工具欄Toolbar 167
7.2.3 應(yīng)用欄布局AppBarLayout 169
7.2.4 可折疊工具欄布局CollapsingToolbarLayout 173
7.2.5 仿支付寶首頁的頭部伸縮特效 177
7.3 實(shí)現(xiàn)頁面切換 181
7.3.1 翻頁視圖ViewPager 182
7.3.2 碎片F(xiàn)ragment 184
7.3.3 標(biāo)簽布局TabLayout 187
7.4 廣播收發(fā)Broadcast 190
7.4.1 收發(fā)臨時(shí)廣播 191
7.4.2 接收系統(tǒng)廣播 194
7.5 實(shí)戰(zhàn)項(xiàng)目:電商App的商品頻道 196
7.5.1 需求描述 196
7.5.2 開始熱身:下拉刷新布局SwipeRefreshLayout 197
7.5.3 控件設(shè)計(jì) 201
7.5.4 關(guān)鍵代碼 201
7.6 小結(jié) 203
第8章 Kotlin進(jìn)行數(shù)據(jù)存儲(chǔ) 205
8.1 使用共享參數(shù)SharedPreferences 205
8.1.1 共享參數(shù)讀寫模板Preference 205
8.1.2 屬性代理等黑科技 208
8.1.3 實(shí)現(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實(shí)現(xiàn)全局變量 231
8.5 實(shí)戰(zhàn)項(xiàng)目:電商App的購(gòu)物車 232
8.5.1 需求描述 232
8.5.2 開始熱身:選項(xiàng)菜單OptionsMenu 233
8.5.3 控件設(shè)計(jì) 235
8.5.4 關(guān)鍵代碼 236
8.6 小結(jié) 240
第9章 Kotlin自定義控件 242
9.1 自定義普通視圖 242
9.1.1 構(gòu)造對(duì)象 242
9.1.2 測(cè)量尺寸 245
9.1.3 繪制部件 249
9.2 自定義簡(jiǎn)單動(dòng)畫 252
9.2.1 任務(wù)Runnable 252
9.2.2 進(jìn)度條ProgressBar 255
9.2.3 自定義文本進(jìn)度條 257
9.2.4 實(shí)現(xiàn)進(jìn)度條動(dòng)畫 258
9.3 自定義通知欄 259
9.3.1 通知推送Notification 260
9.3.2 大視圖通知 262
9.3.3 三種特殊的通知類型 265
9.3.4 遠(yuǎn)程視圖RemoteViews 269
9.3.5 自定義折疊式通知 272
9.4 Service服務(wù)啟停 274
9.4.1 普通方式啟動(dòng)服務(wù) 274
9.4.2 綁定方式啟動(dòng)服務(wù) 277
9.4.3 推送服務(wù)到前臺(tái) 279
9.5 實(shí)戰(zhàn)項(xiàng)目:電商App的生鮮團(tuán)購(gòu) 283
9.5.1 需求描述 283
9.5.2 開始熱身:震動(dòng)器Vibrator 284
9.5.3 控件設(shè)計(jì) 287
9.5.4 關(guān)鍵代碼 287
9.6 小結(jié) 289
第10章 Kotlin實(shí)現(xiàn)網(wǎng)絡(luò)通信 291
10.1 多線程技術(shù) 291
10.1.1 大線程Thread與消息傳遞 291
10.1.2 進(jìn)度對(duì)話框ProgressDialog 295
10.1.3 異步任務(wù)doAsync和doAsyncResult 297
10.2 訪問HTTP接口 300
10.2.1 移動(dòng)數(shù)據(jù)格式JSON 301
10.2.2 JSON串轉(zhuǎn)數(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 自定義文本進(jìn)度圈 313
10.3.3 在頁面上動(dòng)態(tài)顯示下載進(jìn)度 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 實(shí)戰(zhàn)項(xiàng)目:電商App的自動(dòng)升級(jí) 329
10.5.1 需求描述 329
10.5.2 開始熱身:可變字符串SpannableString 330
10.5.3 控件設(shè)計(jì) 333
10.5.4 關(guān)鍵代碼 334
10.6 小結(jié) 337