Kotlin程序開發入門精要 Kotlin程序开发入门精要

李寧

  • 出版商: 人民郵電
  • 出版日期: 2017-08-01
  • 定價: $414
  • 售價: 8.5$352
  • 語言: 簡體中文
  • 頁數: 303
  • 裝訂: 平裝
  • ISBN: 7115467528
  • ISBN-13: 9787115467522
  • 相關分類: JVM 語言
  • 立即出貨 (庫存 < 4)

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

商品描述

內 容 提 要
本書分3部分講解Kotlin,第1部分(第1~11章)是Kotlin語言的基礎部分,主要介紹了Kotlin的基礎知識、語法以及大量的“語法糖”,如搭建Kotlin開發環境、數據類型、控制流、類、對象、接口、擴展、委托、Lambda表達式、操作符重載等。第2部分(第12~15章)主要介紹瞭如何用Kotlin開發Android App。由於Kotlin可以調用JDK中的API,所以在使用Kotlin開發Android App的過程中,很多都是調用JDK的API實現的,但開發語言使用的是Kotlin。因此,這一部分詳細介紹了用Kotlin開發Android App 需要掌握的核心知識,如Activity、組件、佈局、流文件、SQLite數據庫、網絡等技術。第3部分(第16章)是一個完整的案例:歐瑞天氣。通過這個項目,可以讓讀者瞭解利用Kotlin開發Android App的全過程。

海報:

作者簡介

李寧,歐瑞科技創始人,極客起源IT問答社區(https://geekori.com)創始人,歐瑞學院金-牌講師,計算機專業碩士。擁有近20年軟件開發經驗,10年企業內訓經驗。曾任國內某大型軟件公司項目經理。CSDN博客專家、CSDN學院簽約講師、51CTO學院特級講師。長久以來一直從事JavaScript、Node.js、Java、Kotlin、Python、Android、iOS、C++、Hadoop、Spark、深度學習的開發和技術指導工作。對國內外相關領域的技術、理論和實踐有很深的理解和研究。目前已經出版超過30本IT暢銷書,主要著作包括《Kotlin程序開發入門精要》《Android深度探索卷1和卷2》《Android開發權威指南第1版和第2版》等。

目錄大綱

目錄

第1章Kotlin開發環境搭建1 
1.1 Kotlin概述1 
1.1.1 Kotlin是什麼1 
1.1.2為什麼Kotlin突然成為熱門2 
1.1.3 Kotlin相對於Java有哪些優勢2 
1.1.4 Kotlin能做什麼3 
1.2在線運行Kotlin代碼3 
1.3安裝和配置Kotlin 6 
1.3.1安裝和配置JDK 6 
1.3.2 Windows下安裝和
配置Kotlin 9 
1.3.3 Mac OS X下安裝和
配置Kotlin 10 
1.4測試Kotlin編譯和運行環境10 
1.4. 1命令行方式使用Kotlin 11 
1.4.2 Kotlin的REPL環境13 
1.4.3在命令行中運行腳本文件14 
1.4.4在瀏覽器中運行Kotlin程序14 
1.4.5使用Node.js運行Kotlin程序16 
1.4. 6在微信小程序中運行Kotlin 
程序17 
1.4.7用Kotlin開啟全棧開發模式21 
1.5 Kotlin中的語法糖22 
1.6 Kotlin的集成開發環境(IDE) 24
1.6.1 IntelliJ IDEA的Kotlin基礎開發
環境25 
1.6.2使用Android Studio和Kotlin開發
Android App 29 
1.7小結34 

第2章Kotlin基礎知識35 
2.1 Kotlin的基本語法35 
2.1.1定義變量35 
2.1.2定義函數36 
2.1.3註釋37 
2.2基礎數據類型37 
2.2.1數值類型38 
2.2.2字符類型39 
2.2.3布爾類型41 
2.2.4數組41 
2.2.5字符串42 
2.2.6字符串模板43 
2.3包( Package) 43 
2.4控制流46 
2.4.1條件語句46 
2.4.2 when語句46 
2.4.3 for循環48 
2.4.4 while循環49 
2.5小結50 

第3章類和接口51 
3.1類的聲明51 
3.2構造器51 
3.2.1主構造器51 
3.2.2第二構造器53 
3.2.3 Kotlin中的Singleton模式54 
3.2.4 Kotlin函數中的默認參數55
3.2.5創建類的實例58 
3.3類成員58 
3.3.1屬性的基本用法58 
3.3.2屬性的getter和setter形式60 
3.3.3保存屬性值的字段60 
3.3.4函數61 
3.3.5嵌套類63 
3.4修飾符(Modifiers) 64 
3.5類的繼承65 
3.5.1 Kotlin類如何繼承65 
3.5.2重寫方法65 
3.5.3重寫屬性66 
3.6接口67 
3.7抽像類68 
3.8小結68 

第4章枚舉類和擴展69 
4.1枚舉類69 
4.1.1枚舉類的基本用法69 
4.1.2為枚舉值指定對應的數值70 
4.1.3枚舉類的其他功能71 
4.2擴展72 
4.2.1擴展原生API 72 
4.2 .2擴展自定義類73 
4.2.3成員函數衝突的解決方案75 
4.2.4擴展屬性76 
4.2.5擴展伴隨對象
(Companion Object) 76 
4.2.6擴展的範圍77 
4.2.7在類中使用擴展77 
4.2.8調用特定類的成員函數78
4.2.9擴展成員的繼承79 
4.3小結80 

第5章數據類和封閉類81 
5.1數據類(Data Class) 81 
5.1.1使用數據類81 
5.1.2對象複製84 
5.1.3數據類成員的解構85 
5.2封閉類(Sealed Classes) 86 
5.3小結86 

第6章泛型87 
6.1泛型基礎87 
6.2類型變異88 
6.3類型投射90 
6.4星號投射92 
6.5泛型函數92 
6.6泛型約束93 
6.7小結93 

第7章對象和委託94 
7.1對象94 
7.1.1對象表達式94 
7.1.2聲明匿名對象97 
7.1.3訪問封閉作用域內的變量97 
7.1.4陪伴對象99 
7.2委託99 
7.2.1類的委託99 
7.2. 2委託屬性100 
7.2.3委託類的初始化函數102 
7.2.4委託的前提條件104 
7.3標準委託104 
7.3.1惰性裝載105 
7.3.2可觀察屬性105 
7.3.3阻止屬性的賦值操作106
7.3.4 Map委託107 
7.3.5 MutableMap委託108 
7.4小結108 

第8章高階函數與Lambda表達式109 
8.1高階函數109 
8.2 Lambda表達式與匿名函數110 
8.2.1函數類型111 
8.2.2 Lambda表達式的語法111 
8.2.3匿名函數112 
8.2.4閉包(Closure) 113 
8.3小結113 

第9章函數114 
9.1函數基本用法114 
9.2使用中綴標記法調用函數114 
9.3單表達式函數115 
9.4函數參數和返回值116 
9.4.1可變參數116 
9.4.2返回值類型117 
9.5函數的範圍117 
9.5.1局部函數117 
9.5.2成員函數118 
9.6泛型函數118 
9.7內聯函數119 
9.7.1讓Lambda表達式內聯進
函數119 
9.7.2內聯部分Lambda表達式121 
9.7.3非局部返回
(Non-local return) 124 
9.7.4實體化的類型參數
(Reified type parameter) 125 
9.7.5內聯屬性126 
9.8小結127 

第10章其他Kotlin技術(1) 128 
10.1數據解構128 
10.2集合130 
10.3值範圍132 
10.3.1值範圍的應用132 
10.3.2值範圍的工作原理134 
10.3.3常用工具函數135 
10.4類型檢查與類型轉換136 
10.4.1 is與!is操作符136 
10.4.2智能類型轉換138 
10.4.3強行類型轉換139 
10.5 this表達式140 
10.6相等判斷140 
10.7操作符重載141 
10.7.1一元操作符重載141 
10.7.2二元操作符142 
10.7.3方括號操作符重載144 
10.7.4賦值操作符重載146 
10.7.5邏輯操作符重載147 
10.8小結149 

第11章其他Kotlin技術(2) 150 
11.1 null值安全性150 
11.1.1可為null的類型與不可為null 
的類型150 
11.1.2在條件語句中進行null檢查151
11.1.3安全調用操作符152 
11.1.4 Elvis操作符152 
11.1.5 !!操作符153 
11.1.6安全的類型轉換153 
11.1.7可為null的類型構成的集合153 
11.2異常類153 
11.3註解( Annotations) 155 
11.3.1使用註解156 
11.3.2註解類的構造器157 
11.3.3 Lambda表達式158 
11.4反射(Reflection) 158 
11.4.1類引用(Class Reference) 159 
11.4.2枚舉類成員159 
11.4 .3動態調用成員函數161 
11.4.4動態調用成員屬性161 
11.5小結163 

第12章Android的窗口——Activity 164 
12.1什麼是Activity 164 
12.2 Activity的基本用法164 
12.2.1創建一個不包含任何Activity 
的Android工程165 
12.2.2手動創建Activity 167 
12.2.3創建和加載佈局168 
12.2.4在AndroidManifest文件中註冊
Activity 172 
12.2.5編譯和運行Android工程172
12.2.6為Activity添加新組件173 
12.2.7為Activity添加邏輯代碼174 
12.2.8為Activity添加Toast 175 
12.2.9關閉Activity 178 
12.3使用Intent連接多個Activity 178 
12.3.1使用顯式Intent 179 
12.3. 2使用隱式Intent 182 
12.3.3為隱式Intent設置更多的過濾
條件185 
12.3.4使用隱式Intent訪問
系統App 187 
12.4向Activity中傳遞數據189 
12.5從Activity返回數據191 
12.6 Activity的生命週期192 
12.7記錄當前活動的Activity 196 
12.8小結197 

第13章Android App的裝飾工具—— 
UI組件與佈局198 

13.1如何編寫程序界面198 
13.2常用的UI組件198 
13.2.1文本顯示組件
(TextView) 198 
13.2.2按鈕組件(Button) 202 
13.2.3文本編輯組件(EditText) 206 
13.2.4圖像組件(ImageView) 210
13.2.5進度條組件(ProgressBar) 213 
13.2.6對話框組件(AlertDialog) 216 
13.3佈局詳解217 
13.3.1線性佈局(LinearLayout) 217 
13.3.2相對佈局(RelativeLayout) 222 
13.3.3幀佈局(FrameLayout) 226 
13.3.4百分比佈局
(PercentFrameLayout) 227 
13.4小結230 

第14章永久保存數據的方式—— 
持久化技術231
 
14.1 SharedPreferences存儲231 
14.1.1將數據存儲到SharedPreferences 
中231 
14.1.2從SharedPreferences讀取
數據234 
14.1.3利用SharedPreferences存取用戶名
和密碼235 
14.2文件流操作239 
14.2.1 openFileOutput和openFileInput 
方法239 
14.2.2讀寫SD卡上的文件242 
14.3 App權限的授予和拒絕248 
14.4讀寫JSON格式的數據250 
14.5 SQLite數據庫257 
14.5.1 SQLite數據庫管理
工具257 
14.5.2創建SQLite數據庫和
數據表261 
14.5.3向SQLite數據表中插入
數據264 
14.5.4刪除SQLite數據表中的
數據265 
14.5.5更新SQLite數據表中的
數據266 
14.5.6查詢SQLite表中的數據267 
14.5.7將數據庫與App一起
發布268 
14.6小結270 

第15章連接外部世界——網絡技術271 
15.1 WebView組件271 
15.2使用HTTP與服務端進行交互273 
15.2.1使用HttpURLConnection 273 
15.2. 2使用OkHttp 276 
15.3小結282 

第16章項目實戰——歐瑞天氣App 283 
16.1項目概述283 
16.2添加依賴284 
16.3實現主窗口285 
16.4顯示地區列表286 
16.4.1描述城市信息的數據類286 
16.4.2處理JSON格式的城市列表
信息286 
16.4.3天氣信息描述類288 
16.4.4獲取城市信息的對象290
16.4.5在ListView組件中顯示地區
列表293 
16.5顯示天氣信息298 
16.6小結303