發表於2024-11-08
Kotlin程序開發入門精要 pdf epub mobi txt 電子書 下載
書+視頻學習+學習效果測試+開發闖關測試+項目實戰,貼心跟蹤讀者學習效果,學習Kotlin這一本就夠!
基於新的Kotlin版本
一本全程視頻陪伴,貼心跟蹤初學者學習效果的Kotlin開發書
贈送近70小時視頻課程,包括Kotlin和Android開發,供讀者學習使用
通過Kotlin開發題庫提供大量的測試題以及過關係統,讀者可以用通關的方式更有效地學習書中的知識,提高學習的效率
隨時互動答疑,有問題的學員可以通過歐瑞科技的問答社區(https://geekori.com)提問,會有專人迴答讀者提齣的問題,以及通過博客係統總結書中學到的知識,同時,提齣問題、迴答問題以及撰寫的博客越多,就會增加讀者的積分,以後學習李寜老師其他的課程和獲取其他資源,會有更大的優惠。
本書分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開發權wei指南 第1版和第2版》等。
第1章Kotlin開發環境搭建1
1.1Kotlin概述1
1.1.1Kotlin是什麼1
1.1.2為什麼Kotlin突然成為熱門2
1.1.3Kotlin相對於Java有哪些優勢2
1.1.4Kotlin能做什麼3
1.2在綫運行Kotlin代碼3
1.3安裝和配置Kotlin6
1.3.1安裝和配置JDK6
1.3.2Windows下安裝和
配置Kotlin9
1.3.3MacOSX下安裝和
配置Kotlin10
1.4測試Kotlin編譯和運行環境10
1.4.1命令行方式使用Kotlin11
1.4.2Kotlin的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.5Kotlin中的語法糖22
1.6Kotlin的集成開發環境(IDE)24
1.6.1IntelliJIDEA的Kotlin基礎開發
環境25
1.6.2使用AndroidStudio和Kotlin開發
AndroidApp29
1.7小結34
第2章Kotlin基礎知識35
2.1Kotlin的基本語法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.2when語句46
2.4.3for循環48
2.4.4while循環49
2.5小結50
第3章類和接口51
3.1類的聲明51
3.2構造器51
3.2.1主構造器51
3.2.2第二構造器53
3.2.3Kotlin中的Singleton模式54
3.2.4Kotlin函數中的默認參數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.1Kotlin類如何繼承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擴展原生API72
4.2.2擴展自定義類73
4.2.3成員函數衝突的解決方案75
4.2.4擴展屬性76
4.2.5擴展伴隨對象
(CompanionObject)76
4.2.6擴展的範圍77
4.2.7在類中使用擴展77
4.2.8調用特定類的成員函數78
4.2.9擴展成員的繼承79
4.3小結80
第5章數據類和封閉類81
5.1數據類(DataClass)81
5.1.1使用數據類81
5.1.2對象復製84
5.1.3數據類成員的解構85
5.2封閉類(SealedClasses)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.4Map委托107
7.3.5MutableMap委托108
7.4小結108
第8章高階函數與Lambda錶達式109
8.1高階函數109
8.2Lambda錶達式與匿名函數110
8.2.1函數類型111
8.2.2Lambda錶達式的語法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-localreturn)124
9.7.4實體化的類型參數
(Reifiedtypeparameter)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.1is與!is操作符136
10.4.2智能類型轉換138
10.4.3強行類型轉換139
10.5this錶達式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.1null值安全性150
11.1.1可為null的類型與不可為null
的類型150
11.1.2在條件語句中進行null檢查151
11.1.3安全調用操作符152
11.1.4Elvis操作符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.3Lambda錶達式158
11.4反射(Reflection)158
11.4.1類引用(ClassReference)159
11.4.2枚舉類成員159
11.4.3動態調用成員函數161
11.4.4動態調用成員屬性161
11.5小結163
第12章Android的窗口——Activity164
12.1什麼是Activity164
12.2Activity的基本用法164
12.2.1創建一個不包含任何Activity
的Android工程165
12.2.2手動創建Activity167
12.2.3創建和加載布局168
12.2.4在AndroidManifest文件中注冊
Activity172
12.2.5編譯和運行Android工程172
12.2.6為Activity添加新組件173
12.2.7為Activity添加邏輯代碼174
12.2.8為Activity添加Toast175
12.2.9關閉Activity178
12.3使用Intent連接多個Activity178
12.3.1使用顯式Intent179
12.3.2使用隱式Intent182
12.3.3為隱式Intent設置更多的過濾
條件185
12.3.4使用隱式Intent訪問
係統App187
12.4嚮Activity中傳遞數據189
12.5從Activity返迴數據191
12.6Activity的生命周期192
12.7記錄當前活動的Activity196
12.8小結197
第13章AndroidApp的裝飾工具——
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.1SharedPreferences存儲231
14.1.1將數據存儲到SharedPreferences
中231
14.1.2從SharedPreferences讀取
數據234
14.1.3利用SharedPreferences存取用戶名
和密碼235
14.2文件流操作239
14.2.1openFileOutput和openFileInput
方法239
14.2.2讀寫SD卡上的文件242
14.3App權限的授予和拒絕248
14.4讀寫JSON格式的數據250
14.5SQLite數據庫257
14.5.1SQLite數據庫管理
工具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.1WebView組件271
15.2使用HTTP與服務端進行交互273
15.2.1使用HttpURLConnection273
15.2.2使用OkHttp276
15.3小結282
第16章項目實戰——歐瑞天氣App283
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
Android到現在已經發展瞭10年瞭,從最初不怎麼完善發展到現在,形成瞭一個由成韆上萬的App支撐,可以運行在包括手機、平闆電腦、電視、汽車、手錶、無人機在內的幾乎所有智能設備中的完整生態係統,這一切足以讓Android的擁有者Google感到無比自豪。
不過有一件事一直讓Google“很不爽”,那就是開發AndroidApp的核心語言Java並不屬於Google,而屬於Oracle。而且Oracle一直在和Google打關於Java的“官司”,盡管Google贏得瞭“官司”,但也讓Google清楚地看到,如果編程語言不掌握在自己的手裏,那麼總會受製於人,所以Google在數年時間裏進行瞭多次嘗試,如推齣瞭Go語言。不過Go語言和C++類似,並不適閤開發AndroidApp。所以2017年5月之前,開發AndroidApp的主要編程語言仍然是Java。
然而在2017年5月的I/O大會上,Google突然宣布,Kotlin成為開發Android的一級編程語言,這就意味著,從這一刻開始,開發AndroidApp可以使用兩種語言:Java和Kotlin。
那麼Kotlin是什麼呢?就在2017年5月的I/O大會之前,我也不太清楚這個世界上還有一種叫Kotlin的編程語言,相信大多數讀者和我一樣,在此之前都不太瞭解什麼是Kotlin。其實與Kotlin類似的語言有很多,如Scala,它們都是基於JVM的語言,也就是說,Kotlin和Scala一樣,都隻提供瞭編譯器,沒有提供運行環境。運行Kotlin和Scala程序,需要將源代碼編譯成ByteCode,然後在JVM上運行。
在剛開始接觸Kotlin時,我感到很奇怪,現在基於JVM的語言非常多,例如,編寫瞭Spark的Scala語言,還有Groovy、JRuby、Clojure等,那麼Google為什麼單獨偏愛Kotlin呢?隨著我對Kotlin的深入接觸,逐漸對Google選擇Kotlin的決定錶示認可!
Kotlin作為第二種開發AndroidApp的核心編程語言,肯定是與Java有很大差異的,而且這種差異要彌補Java的不足或增強Java的功能。所以要求都是正嚮的差異。
Java盡管曆史悠久,應用眾多,但也有很多不足的地方,例如,我們經常會遇到NullPointerException異常,這是個很討厭的異常,産生異常的原因是因為訪問瞭空對象的成員。Kotlin巧妙地解決瞭這個問題,讓訪問空對象的成員不再拋齣異常,而是直接返迴NULL。Kotlin除瞭解決Java的遺留問題外,還加瞭很多“語法糖”,例如,Kotlin支持擴展和操作符重載,這是兩個非常大的“語法糖”。通過擴展,可以在沒有源代碼的情況下,為類添 Kotlin程序開發入門精要 下載 mobi epub pdf txt 電子書
書是正品就不用說瞭 畢竟是京東自營的 物流也是相當快的 昨天下單今天就到瞭
評分技術性的難點之類的,目前一點都沒看到。也是寫書的人語言通俗易懂。全書,570頁。
評分打開看瞭下印刷、應該是正品沒錯、
評分打算入程序猿的坑,就買瞭,誰知道光盤放不瞭,然後就換貨瞭。換的新的光盤能看,不過我看得好慢,要加油啊(? •?_•?)?。話說發現裏麵有個錯彆字,球模(正確是求模,37頁)
評分第一次學習java看起來比其他的教材好理解一點!
評分和此賣傢交流,不由得精神為之一振,自覺七經八脈為之一暢,我在~買瞭這麼多年,所謂閱商無數,但與賣傢您交流,我隻想說,老闆你實在是太好瞭,你的高尚情操太讓人感動瞭,本人對此賣傢之仰慕如滔滔江水連綿不絕,海枯石爛,天崩地裂,永不變心。交易成功後,我的心情是久久不能平靜,自古英雄齣少年,賣傢年紀輕輕,就有經天緯地之纔,定國安邦之智,而今,天佑我大中華,滄海桑田5000年,神州平地一聲雷,飛沙走石,大霧迷天,朦朧中,隻見頂天立地一金甲天神立於天地間,花見花開,人見人愛,這位英雄手持雙斧,二目如電,一斧下去,混沌初開,二斧下去,女媧造人,三斧下去,小生傾倒。得此大英雄,實乃國之幸也,民之福,人之初也,怎不叫人喜極而泣……看著交易成功,我竟産生齣一種無以名之的悲痛感——啊,這麼好的賣傢,如果將來我再也遇不到瞭,那我該怎麼辦?直到我毫不猶豫地把賣傢的店收藏瞭,我內心的那種激動纔逐漸平靜下來,可是我立刻想到,這麼好的賣傢,倘若彆人看不到,那麼不是浪費心血嗎?經過痛苦的思想鬥爭,我終於下定決心,犧牲小我,奉獻大我。我要以此評價奉獻給世人賞閱,我要給好評……評到所有人都看到為止!
評分安卓係統編程入門好教程,內容詳盡,好用
評分京東買書搞活動 世界讀書日便宜瞭很多 囤瞭一些書。。
評分和此賣傢交流,不由得精神為之一振,自覺七經八脈為之一暢,我在~買瞭這麼多年,所謂閱商無數,但與賣傢您交流,我隻想說,老闆你實在是太好瞭,你的高尚情操太讓人感動瞭,本人對此賣傢之仰慕如滔滔江水連綿不絕,海枯石爛,天崩地裂,永不變心。交易成功後,我的心情是久久不能平靜,自古英雄齣少年,賣傢年紀輕輕,就有經天緯地之纔,定國安邦之智,而今,天佑我大中華,滄海桑田5000年,神州平地一聲雷,飛沙走石,大霧迷天,朦朧中,隻見頂天立地一金甲天神立於天地間,花見花開,人見人愛,這位英雄手持雙斧,二目如電,一斧下去,混沌初開,二斧下去,女媧造人,三斧下去,小生傾倒。得此大英雄,實乃國之幸也,民之福,人之初也,怎不叫人喜極而泣……看著交易成功,我竟産生齣一種無以名之的悲痛感——啊,這麼好的賣傢,如果將來我再也遇不到瞭,那我該怎麼辦?直到我毫不猶豫地把賣傢的店收藏瞭,我內心的那種激動纔逐漸平靜下來,可是我立刻想到,這麼好的賣傢,倘若彆人看不到,那麼不是浪費心血嗎?經過痛苦的思想鬥爭,我終於下定決心,犧牲小我,奉獻大我。我要以此評價奉獻給世人賞閱,我要給好評……評到所有人都看到為止!
Kotlin程序開發入門精要 pdf epub mobi txt 電子書 下載