Kotlin 從零到精通 Android 開發 移动开发丛书:Kotlin从零到精通Android开发

歐陽燊

買這商品的人也買了...

商品描述

《Kotlin從零到精通Android開發》是一部講解Kotlin語言的入門書籍,從Kotlin語言的基本語法一直講到如何將其運用於Android開發。由淺入深、從理論到實戰,幫助讀者快速掌握Kotlin開發技巧。
《Kotlin從零到精通Android開發》共有10章內容,可分為三大部分:第一部分即第1章,主要介紹Kotlin語言的開發環境搭建;第二部分包含第2~5章,主要介紹Kotlin的基本語法知識,包括Kotlin的變量聲明、控制語句、函數定義、類與對像等;第三部分包含第6~10章,主要介紹如何使用Kotlin進行實際的App開發工作,包括利用Kotlin操作簡單控件、複雜控件、數據存儲、自定義控件、網絡通信等。為增強學習Kotlin語言的趣味,本書在講解Kotlin的用法時,特別註意結合生活中的具體案例,並加以示範和運用。尤其是後面講到利用Kotlin開發App的時候,精心設計了數個電商App的實戰模塊,例如電商App的登錄模塊、頻道模塊、購物車模塊、團購模塊、升級模塊等。通過這些實戰小項目,讀者可迅速將Kotlin應用於App開發工作中。
《Kotlin從零到精通Android開發》適用於Android開發的廣大從業者、Kotlin語言的業餘愛好者,也可用作大中專院校與培訓機構的Kotlin課程教材。

作者簡介

歐陽燊
同濟大學計算機科學與技術專業學士,浙江大學軟件工程專業工程碩士,先後就職於福建新大陸軟件工程公司、亞信科技有限公司杭州研發中心、福建福諾移動通信技術有限公司,擔任系統分析師、高級軟件工程師。有14年以上軟件開發經驗,熟悉C/C++、Java及相關軟件架構,兩年Android開發經驗,從事一款用戶量超千萬的App項目開發,對Android開發擁有豐富的實戰經驗。

目錄大綱

第1章搭建Kotlin開發環境1 
1.1 Kotlin與Android開發的關係1 
1.1.1 Kotlin語言簡介1 
1.1.2 Android Studio的官方開發語言2 
1.2 Kotlin開發工具2 
1.2.1安裝Android Studio 2 
1.2.2啟動Android Studio 4 
1.2.3創建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調整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章數據類型24 
2.1基本數據類型24 
2.1.1基本類型的變量聲明24
2.1.2簡單變量之間的轉換25 
2.2數組26 
2.2.1數組變量的聲明27 
2.2.2數組元素的操作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循環處理43 
3.2.1遍歷循環44 
3.2.2條件循環45 
3.2.3跳出多重循環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章函數運用58 
4.1函數的基本用法58 
4.1.1與Java聲明方式的區別58 
4.1.2輸入參數的格式59 
4.1.3輸出參數的格式60 
4.2輸入參數的變化62 
4.2.1默認參數62 
4.2.2命名參數63 
4.2.3可變參數64 
4.3幾種特殊函數66 
4.3.1泛型函數66 
4.3.2內聯函數67 
4.3.3簡化函數68 
4.3 .4尾遞歸函數69 
4.3.5高階函數69 
4.4增強系統函數71 
4.4.1擴展函數71 
4.4.2擴展高階函數72 
4.4.3日期時間函數73 
4.4.4單例對象75 
4.5小結77 

第5章類和對象78 
5.1類的構造78 
5.1.1類的簡單定義78 
5.1.2類的構造函數79 
5.1.3帶默認參數的構造函數81 
5.2類的成員83 
5.2.1成員屬性83 
5.2. 2成員方法86 
5.2.3伴生對象87
5.2.4靜態屬性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內部類100 
5.4.3枚舉類101 
5.4.4密封類103 
5.4.5數據類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傳送配對字段數據130 
6.4.2傳送序列化數據132 
6.4.3跳轉時指定啟動模式134 
6.4.4處理返回數據137 
6.5實戰項目:電商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網格視圖GridView 154 
7.1.4循環視圖RecyclerView 156 
7.2使用材質設計MaterialDesign 165 
7.2.1協調佈局CoordinatorLayout 165 
7.2.2工具欄Toolbar 167 
7.2.3應用欄佈局AppBarLayout 169 
7.2.4可折疊工具欄佈局CollapsingToolbarLayout 173 
7.2.5仿支付寶首頁的頭部伸縮特效177 
7.3實現頁面切換181 
7.3.1翻頁視圖ViewPager 182
7.3.2碎片Fragment 184 
7.3.3標籤佈局TabLayout 187 
7.4廣播收發Broadcast 190 
7.4.1收發臨時廣播191 
7.4.2接收系統廣播194 
7.5實戰項目:電商App的商品頻道196 
7.5.1需求描述196 
7.5 .2開始熱身:下拉刷新佈局SwipeRefreshLayout 197 
7.5.3控件設計201 
7.5.4關鍵代碼201 
7.6小結203 

第8章Kotlin進行數據存儲205 
8.1使用共享參數SharedPreferences 205 
8.1.1共享參數讀寫模板Preference 205 
8.1 .2屬性代理等黑科技208 
8.1.3實現記住密碼功能210 
8.2使用數據庫SQLite 211 
8.2.1數據庫幫助器SQLiteOpenHelper 211 
8.2.2更安全的ManagedSQLiteOpenHelper 213 
8.2.3優化記住密碼功能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實現全局變量231 
8.5實戰項目:電商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實現進度條動畫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實戰項目:電商App的生鮮團購283 
9.5.1需求描述283 
9.5.2開始熱身:震動器Vibrator 284 
9.5.3控件設計287 
9.5.4關鍵代碼287 
9.6小結289 

第10章Kotlin實現網絡通信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移動數據格式JSON 301 
10.2.2 JSON串轉數據類303 
10.2.3 HTTP接口調用304 
10.2.4 HTTP圖片獲取306 
10.3文件下載操作308 
10.3.1下載管理器DownloadManager 308 
10.3 .2自定義文本進度圈313 
10.3.3在頁面上動態顯示下載進度316 
10.4 ContentProvider內容提供319 
10.4.1內容提供器ContentProvider 319
10.4.2內容解析器ContentResolver 322 
10.4.3內容觀察器ContentObserver 325 
10.5實戰項目:電商App的自動升級329 
10.5.1需求描述329 
10.5.2開始熱身:可變字符串SpannableString 330 
10.5.3控件設計333 
10.5.4關鍵代碼334 
10.6小結337