買這商品的人也買了...
-
$730$694 -
$580$458 -
$403第一行代碼 : Android, 2/e
-
$500汽車黑客大曝光 (The Car Hacker's Handbook:A Guide for the Penetration Tester)
-
$305Android Studio 高級編程 (Expert Android Studio)
-
$454Kotlin 實戰 (Kotlin in action)
-
$403黑客攻防技術寶典:反病毒篇( The Antivirus Hacker's Handbook)
-
$505第一季Kotlin崛起:次世代Android開發
-
$454趣學算法
-
$505Android 應用安全防護和逆向分析
-
$474$450 -
$540$459 -
$520$406 -
$1,000$850 -
$834$792 -
$600$468 -
$980$774 -
$580$458 -
$520$406 -
$580$458 -
$534$507 -
$880$748 -
$690$538 -
$720$562 -
$720$569
相關主題
商品描述
內 容 提 要
本書深入淺出,詳細講解了Android開發的知識,主要內容包括:Android的體系架構、Android Studio、項目的創建、Android工程目錄、調試程序、界面的搭建;常用的控件和屬性、提示信息Toast和Snackbar、點擊事件3種寫法等;Activity之間的跳轉、Activity生命周期、Activity啟動模式等;數據存儲、網絡編程;圖片的處理;復雜控件的使用;Fragment、廣播接收者、Service、動畫等;以及Android新特性、Kotlin語言、性能優化、屏幕適配、自定義控件、JNI/NDK開發等高級知識。並通過開發一個真實的項目讓讀者學以致用。
本書內容通俗易懂,比較適合初學者閱讀,也可以作為專業人員的工具書,以及大專院校相關專業師生的學慣用書和培訓學校的教材。
作者簡介
於連林,CSDN博客專家,從事Android開發和教育多年,做過很多個項目,包括辦公類,O2O等類型,曾在培訓機構從事Android教育,有上千課時講課經驗,收到過許多好評。
目錄大綱
目錄
第1章初識Android 1
1.1 Android是什麼1
1.2 Android體系架構1
1.3 Android發展史4
第2章選擇您的開發工具5
2.1準備軟件,認識Android Studio 5
2.1.1什麼是Android Studio 5
2.1. 2為什麼使用Android Studio 6
2.2安裝Android Studio 6
2.2.1安裝配置要求6
2.2.2下載地址6
2.2.3安裝JDK 7
2.2.4安裝Android Studio 7
2.2.5設置JDK和Android SDK
目錄14
2.3項目的創建16
2.3.1創建項目的步驟16
2.3.2解決錯誤(沒有錯誤最好) 19
2.4 Android Studio界面預覽21
2.5常用設置22
2.5.1設置主題22
2.5.2設置字體和格式22
2.5.3設置文件編碼24
2.5.4設置快捷鍵24
2.5.5其他設置26
2.6常用快捷鍵26
2.7 Android工程目錄27
2.7.1工程目錄介紹27
2.7.2 Gradle使用詳解28
2.7.3 app/build.gradle 28
2.8 SDK目錄介紹30
2.9調試程序31
2.9.1創建模擬器31
2.9.2連接真實手機33
2.9.3 Genymotion模擬器34
2.10程序啟動分析34
2.11日誌和註釋36
2.11.1註釋37
2.11.2日誌3 7
2.11.3設置Android Studio日誌
顯示顏色38
2.11.4實際開發中控制日誌39
2.11.5 Logger的使用41
總結42
第3章界面的搭建43
3.1眼見皆View 43
3.2佈局的搭建方式43
3.3常用的控件和屬性44
3.3.1 TextView 44
3.3.2 Button 45
3.3.3 EditText 46
3.3.4 ImageView 47
3.3.5 ProgressBar 49
3.4佈局的介紹50
3.4.1 LinearLayout(線性佈局) 50
3.4.2 RelativeLayout(相對佈局) 52
3.4.3 FrameLayout(幀佈局) 55
3.4.4 GridLayout(網格佈局) 56
3.4.5 CoordinatorLayout 58
3.4.6 ConstraintLayout(約束
佈局) 61
3.5提示信息Toast和Snackbar 61
3.5.1 Toast使用詳解61
3.5 .2修改Toast位置63
3.5.3自定義Toast佈局63
3.5.4避免內存洩露65
3.5.5 Snackbar 65
3.6點擊事件三種寫法68
3.6.1通過匿名內部類或內部類
實現68
3.6.2讓類實現接口69
3.6.3在佈局文件中註冊事件70
3.7使用Lambda表達式代替匿名
內部類70
3.7.1什麼是lambda呢70
3.7.2使用Lambda表達式71
3.8 AlertDialog提示 話框73
3.8.1一般對話框75
3.8.2 Material Design風格的
對話框76
3.8.3列表對話框78
3.8.4單選按鈕對話框79
3.8.5多選按鈕對話框79
3.8.6自定義AlertDialog 80
3.9 ProgressDialog 81
總結83
第4章Activity介紹84
4.1 Activity之間的跳轉84
4.1.1顯示意圖84
4.1.2隱式意圖86
4.1.3隱式意圖的常見操作88
4.1.4 IntentFilter匹配規則89
4.2 Activity之間傳遞數據92
4.2.1通過Intent傳遞數據92
4.2.2靜態工廠設計模式傳遞
數據93
4.2.3返回數據給之前的Activity 93
4.3 Android 6.0權限的管理95
4.3.1 Android 6.0新的權限機制96
4.3.2申請權限96
4.3.3第三方庫RxPermissions 100
4.4 Activity生命週期101
4.4.1生命週期的方法101
4.4.2 Activity銷毀時保存數據102
4.4.3鎖定橫豎屏103
4.4.4開發時注意事項104
4.5 Activity任務棧104
4.6 Activity啟動模式105
4.6.1 standard 105
4.6.2 singleTop 106
4.6.3 singleTask 106
4.6.4 singleInstance 107
4.6.5統一管理Activity 108
4.7 Toolbar 和Navigation Drawer 109
4.7.1 AppBar的簡介109
4.7.2創建菜單111
4.7.3 Toolbar 112
4.7.4 Toolbar遇上Navigation
Drawer 114
4.8主題樣式設置118
總結120
第5章數據存儲121
5.1 SharedPreference 121
5.2 MD5加密123
5.3文件存儲數據124
5.3.1保存到手機內存(Internal
Storage) 124
5.3.2 SD卡存儲(External
Storage) 127
5.4 SQLite存儲132
5.4.1創建數據庫132
5.4.2升級數據庫135
5.4.3數據庫增刪改查(CURD) 137
5.4.4 SQLite數據庫的事務操作144
5.5常見的數據庫框架146
總結146
第6章網絡編程148
6.1 HTTP協議148
6.1.1 URL簡介148
6.1.2 HTTP簡介149
6.1.3 GET和POST對比151
6.2 HttpURLConnection 151
6.2.1為什麼廢棄HttpClient 151
6.2.2使用HttpURLConnection
聯網152
6.3多線程編程154
6.3.1線程的同步和異步154
6.3.2 AsycTask 158
6.3.3 RxJava 161
6.4網絡請求實例164
6.5 JSON解析168
6.5.1使用Android原生方式解析
JSON 169
6.5.2 Gson的使用170
6.5.3插件GsonFormat快速實現
JavaBea n 174
6.5.4完成請求實例176
6.6網絡請求框架——Retrofit 179
6.6.1使用Retrofit 179
6.6.2常用的註解181
6.6.3完成請求案例181
6.6.4 RxJava和Retrofit結合183
6.7 WebView 184
6.7. 1 WebView配置186
6.7.2 WebViewClient方法187
6.7.3設置WebChromeClient 189
6.7.4 WebView常用的方法190
6.7.5 WebView模板代碼191
總結196
第7章圖片的處理197
7.1 Bitmap和Drawable 197
7.2大圖的加載199
7.3圖片加水印202
7.4圖片特效,Matrix 205
7.4.1縮放205
7.4.2倒影、鏡面207
7.4.3旋轉208
7.4.4位移208
7.5圖片顏色處理——打造自己的美圖
秀秀209
7.5. 1顏色過濾器
ColorMatrixColorFilter 209
7.5.2實現圖片美化功能210
7.6案例——隨手塗鴉214
7.7加載網絡圖片217
7.7.1網絡圖片的緩存策略217
7.7.2圖片加載庫Picasso的使用218
總結219
第8章複雜控件的使用220
8.1 ListView 220
8.1.1初識ListView 221
8.1.2定制ListView條目的界面222
8.1.3優化ListView 225
8.1.4 ListView的點 事件226
8.1.5 ListView常用的屬性228
8.2 GridView 229
8.3 RecyclerView 231
8.3.1初識RecyclerView 231
8.3.2使用RecyclerView 232
8.3.3不同的佈局排列方式234
8.3.4 RecyclerView添加點擊
事件236
8.3.5 RecyclerView添加刪除
數據237
8.3.6下拉刷新
SwipeRefreshLayout 237
8.4 CardView 239
8.5 ViewPager 241
8.6 BottomNavigationView(底部
導航) 243
8.7 TabLayout 246
8.7.1 TabLayout使用246
8.7.2 TabLayout自定義條目
樣式249
總結250
第9章探索Fragment 251
9.1使用Fragment 252
9.1.1 Fragment的生命週期252
9.1.2創建Fragment 252
9.1.3向Activity添加Fragment 254
9.1.4管理片段256
9.1.5 Fragment的向下兼容257
9.2 FragmentTabHost實現底部標籤257
9.3 ViewPager和Fragment結合259
總結273
第10章廣播接收者274
10.1廣播簡介274
10.2實現一個BroadcastReceiver 275
10.3發送自定義廣播279
10.4桌面快捷方式283
總結285
第11章Service介紹286
11.1服務的基本用法286
11.1.1創建服務286
11.1.2啟動和 止服務287
11.1.3綁定服務289
11.1.4服務的生命週期292
11.2 IntentService 292
11.3 Service和BroadCastReceiver結合
使用的案例(兼容Android 7.0) 294
11.3.1 Android 7.0錯誤原因297
11.3.2使用FileProvider 298
總結300
第12章動畫301
12.1補間動畫(Tween Animation) 301
12.2.1 AlphaAnimation(透明度
動畫) 302
12.2.2 ScaleAnimation(縮放
動畫) 304
12.2.3 TranslateAnimation(平移
動畫) 305
12.2.4 RotateAnimation(旋轉
動畫) 306
12.2逐幀動畫(Frame Animation) 308
12.3屬性動畫310
總結313
第13章新特性314
13.1 Android 7.0分屏開發314
13.1.1如何分屏呢315
13.1.2多窗口生命週期315
13.1.3針對多窗口進行配置316
13.1.4多窗口模式中運行應用
注意事項316
13.1.5在多窗口模式中啟動新
Activity 317
13.1.6支持拖放318
13.2 Android 7.0快速設定318
13.3約束佈局ConstraintLayout 321
13.3.1 ConstraintLayout簡介321
13.3.2添加約束佈局322
13.3.3使用約束佈局322
1 3.3.4添加約束323
13.3.5使用自動連接和約束推斷325
13.3.6快速對齊Align 326
13.4使用Kotlin語言開發Android 326
總結330
第14章性能優化331
14.1性能檢測331
14.1.1檢測內存洩露331
14.1 .2 LeakCanary 334
14.1.3追踪內存分配335
14.1.4查詢方法執行的時間335
14.2過度繪製(OverDraw) 336
14.2.1過度繪製概念336
14.2.2追踪過度繪製336
14.2.3去掉不合理背景337
14.2 .4不合理的XML佈局對
繪製的影響338
14.3避免ANR 338
14.3.1 ANR分析339
14.3.2 ANR解決方式341
總結341
第15章屏幕適配342
15.1 Android屏幕適配出現的原因342
15.2相關重要概念344
15.2.1屏幕尺寸344
15.2.2屏幕分辨率344
15.2.3屏幕像素密度344
15.2.4屏幕尺寸、分辨率、像素
密度三者關係344
15.2.5 dip 345
15.2.6 sp 345
15.3尺寸適配解決方案346
15.3.1 “佈局”適配346
15.3.2尺寸(size)限定符347
15.3.3最小寬度(Smallest-width)
限定符348
15.3.4使用佈局別名349
15 .3.5屏幕方向(Orientation)
限定符350
15.3.6 “佈局組件”匹配352
15.3.7 Layout_weight詳解352
15.3.8 “圖片資源”匹配355
15.3.9 .9的製作355
15.3.10 “用戶界面流程”匹配357
15.4屏幕密度適配359
15.4.1 “佈局控件”適配359
15.4.2百分比佈局360
15.4.3約束佈局362
總結362
第16章自定義控件363
16.1自定義控件簡介363
16.2 View的生命週期364
16.2.1構造函數365
16.2.2 onAttachedToWindow 369
16.2.3 onMeasure 370
16.2.4 onLayout 372
16.2.5 onDraw 372
16.2.6 View更新373
16.2.7動畫374
總結374
第17章JNI/NDK開發375
17.1 NDK配置(最新的CMake
方式) 375
17.1.1下載376
17.1.2創建項目376
17.1.3運行項目378
17.1.4手動添加native方法379
總結380
第18章開發一個真實的項目381
18.1項目需求分析381
18.2創建項目382
18.3界面實現383
18.3.1啟動界面383
18.3.2引導頁面385
18.3.3主界面388
18.3.4列表界面390
18.4請求網絡395
18.5新聞列表和詳情400
18. 6完成整個項目409
總結412