愛上Android

愛上Android

《愛上Android》是2017年8月人民郵電出版社出版的圖書,作者是於連林。

基本介紹

  • 中文名:愛上Android
  • 作者:於連林
  • 出版時間:2017年8月
  • 出版社:人民郵電出版社
  • 頁數:412 頁
  • ISBN:9787115461759
  • 定價:69 元
  • 開本:16 開
  • 裝幀:平裝
內容簡介,圖書目錄,

內容簡介

本書深入淺出,詳細講解了Android開發的知識,主要內容包括:Android的體系架構、Android Studio、項目的創建、Android工程目錄、調試程式、界面的搭建;常用的控制項和屬性、提示信息Toast和Snackbar、點擊事件3種寫法等;Activity之間的跳轉、Activity生命周期、Activity啟動模式等;數據存儲、網路編程;圖片的處理;複雜控制項的使用;Fragment、廣播接收者、Service、動畫等;以及Android新特性、Kotlin語言、性能最佳化、螢幕適配、自定義控制項、JNI/NDK開發等高 級知識。並通過開發一個真實的項目讓讀者學以致用。
本書內容通俗易懂,比較適合初學者閱讀,也可以作為專業人員的工具書,以及大專院校相關專業師生的學習用書和培訓學校的教材。

圖書目錄

第 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 日誌 37
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 保存到手機記憶體(InternalStorage) 124
5.3.2 SD卡存儲(ExternalStorage) 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快速實現
JavaBean 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
13.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

相關詞條

熱門詞條

聯絡我們