●第1章高級圖形圖像處理1
1.1ShapeDrawable、PaintDrawable與OvalShape、RectShape、ArcShape1
1.2GradientDrawable梯度漸變3
1.3過渡動畫的TransitionDrawable9
1.4圓形圓角圖像10
1.5ImageView的setImageLevel和level-list13
1.6紅色小圓球樣式的新消息提醒14
1.7小結18
第2章圖形圖像渲染的梯度漸變20
2.1線性梯度漸變渲染器LinearGradient20
2.2掃描梯度漸變渲染器SweepGradient23
2.3放射環狀梯度漸變渲染器RadialGradient25
2.4xml配置線性梯度漸變26
2.5xml配置放射狀梯度漸變31
2.6xml配置掃描形梯度漸變34
2.7小結35
第3章由靜至動的動態拖曳View及動畫36
3.1alpha:透明漸變屬性動畫36
3.2rotation:旋轉屬性動畫37
3.3translation:位移屬性動畫38
3.4scale:縮放屬性動畫39
3.5AnimatorSet:屬性動畫集40
3.6ViewDragHelper:拖曳管控42
3.7小結50
第4章View高級特性51
4.1橫豎屏切換不同尺寸的View51
4.2onMeasure控制View的大小尺寸54
4.3onLayout控制子View的空間位置59
4.4小結63
第5章高級組件開發65
5.1Android設備消息通知65
5.2狀態欄的通知消息點擊觸發事件啟動後臺的Activity68
5.3消息通知的自定義布局69
5.4WindowManager懸浮窗70
5.5白天/夜間模式標準實現72
5.6小結77
第6章桌面部件AppWidget78
6.1桌面部件AppWidget的簡單實現78
6.2桌面部件AppWidget的定制開發84
6.3簡單音樂播放器的桌面部件Widget89
6.4小結95
第7章OkHttp一攬子網絡技術解決方案96
7.1OkHttp異步方式下載96
7.2OkHttp同步方式加載數據100
7.3OKHttp的post上傳101
7.4OkHttp的基本配置104
7.6小結110
第8章圖片加載利器Glide112
8.1Glide最簡單的網絡圖片加載方式112
8.2Glide加載gif動態圖113
8.3Glide占位圖placeholder114
8.4Glide加載圖片的特殊效果115
8.5Glide內存緩存和硬盤緩存121
8.6小結123
第9章高階Java多線程在Android中的運用124
9.1多線程技術概述125
9.2Java線程池ThreadPoolExecutor126
9.3Java線程池的調度ScheduledThreadPoolExecutor129
9.4Future、Callable類獲得線程返回結果131
9.5FutureTask線程類詳解134
9.6Java線程安全的LinkedBlockingQueue類和ConcurrentLinkedQueue類136
9.7小結139
第10章大數據、多任務、斷點續傳下載管理140
10.1DownloadManager開發簡介140
10.2DownloadManager下載狀態查詢145
10.3DownloadManager下載進度、存放目錄等147
10.4DownloadManager下載完成事件監聽148
10.5小結150
第11章內存與物理存儲高效緩存及策略152
11.1引入LruCache內存緩存技術的背景152
11.2內存LruCache緩存及算法的策略思想153
11.3二級緩存LruCache和DiskLruCache159
11.4DiskLruCache緩存讀寫操作具體過程162
11.5小結165
第12章進程間通信之AIDL機制166
12.1進程間通信概述166
12.1.7信號量169
12.1.8套接字170
12.2進程間通信170
12.2.1進程間通信AIDL之服務器端171
12.2.2進程間通信AIDL之客戶端173
12.3進程間通信AIDL之雙向通信175
12.4小結179
第13章框架性架構體繫180
13.1EventBus:靈活輕便的跨域消息通信180
13.2Lifecycle:從生命周期中解放出來184
13.3Android運行時權限187
13.4小結192
第14章企業級開發ORM數據庫技術194
14.1ORMLite數據庫環境搭建194
14.2ORMLite數據庫應用開發195
14.3ORMLite的外鍵關聯映射200
14.4Android平臺上的greenDAO關繫數據庫205
14.5greenDAO關繫映射模型213
14.6小結218
第15章多媒體與圖像識別掃描技術219
15.1Android二維碼/條形碼技術方案綜述219
15.2Android二維碼/條形碼技術開發實踐220
15.3SurfaceView簡介與實例223
15.4TextureView與SurfaceTexture實現相機拍照226
15.5TextureView與MediaPlayer實現視頻播放231
15.6小結233
第16章藍牙網絡通信技術235
16.1發現藍牙設備236
16.2PairedBluetoothDevices:藍牙設備配對241
16.3藍牙設備連接的建立243
16.4藍牙設備之間的數據傳輸247
16.5手機端通過藍牙發送文件到電腦端252
16.6小結260
第17章RxJava/RxAndroid脈絡清晰的響應式編程261
17.1RxJava/RxAndroid技術概論261
17.2intervalRange與interval間隔、周期性地發射數據流264
17.3map和flatMap操作符266
17.4zip、merge和concat操作符269
17.5scan和filter操作符272
17.6take、skip和takeLast操作符275
17.7ofType根據類型選擇輸出結果277
17.8distinct與distinctUntilChanged操作符279
17.9doAfterNext和doOnNext接力鏈式操作280
17.10buffer緩衝操作符282
17.11retry錯誤重試285
17.12小結288
第18章AndroidDataBinding:MVVM架構基石,數據驅動App運轉289
18.1AndroidDataBinding概述289
18.2初識AndroidDataBinding291
18.3notifyPropertyChanged:動態更新數據295
18.4@=操作符雙向綁定298
18.5數據綁定的BindingAdapter適配器299
18.6BindingMethods可實現BindingAdapter功能301
18.7基於InverseBindingAdapter實現雙向綁定之反向綁定302
18.8基於InverseBindingMethods實現雙向綁定之反向綁定308
18.9基於BindingAdapter與InverseBindingAdapter實現SeekBar雙向綁定310
18.10基於InverseBindingMethods實現SeekBar雙向綁定313
18.11AndroidDataBinding技術在傳統ListView中的運用315
18.12AndroidDataBinding技術在RecyclerView中的運用317
18.13AndroidDataBinding的Lambda表達式318
18.14小結320
第19章AndroidNDK開發技術321
19.1JavaJNI技術簡介321
19.2AndroidNDK開發環境配置323
19.3AndroidStudio自動生成的NDK工程代碼結構分析325
19.4自定義實現Android的NDK庫328
19.5小結332
第20章Android傳感器333
20.1Android傳感器開發概述334
20.2Android線性加速度傳感器335
20.3Android近距離傳感器338
20.4Android壓力傳感器340
20.5Android光強傳感器341
20.6Android方位傳感器342
20.7Android運動計步傳感器345
20.8小結346
參考文獻348
本書從簡單到復雜繫統地講解了Android研發所涉及的全面開發技術。內容包括:高級圖形圖像處理;圖形圖像渲染的梯度漸變;由靜至動的動態拖曳View及動畫,View高級特性;高級組件開發;桌面部件AppWidget;OKHttp一攬子網絡技術解決方案;圖片加載利器Glide;高階Java多線程在Android中的運用;大數據、多任務、斷點續斷下載管理;內存與物理存儲高效緩存及策略;進程間通信之AIDL機制;框架性架構體繫;企業級開發ORM數據庫技術;多媒體與圖像識別掃描技術;藍牙網絡通信技術;RxJava/RxAndroid脈絡清晰的響應式編程;AndroidDataBinding:MVVM架構基石,數據驅動App運轉;AndroidNDK開發技術;Android傳感器。本書在技術點編排上循序漸進,側重培養在實際項目開發中的動手能力;精心選取的關鍵程序代碼,由淺入深地幫助讀者快速、直觀地深入等