中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊

包郵 Android進階指北

作者:劉望舒
出版社:電子工業出版社出版時間:2020-09-01
開本: 其他 頁數: 484
中 圖 價:¥53.3(4.9折) 定價  ¥109.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
溫馨提示:5折以下圖書主要為出版社尾貨,大部分為全新(有塑封/無塑封),個別圖書品相8-9成新、切口
有劃線標記、光盤等附件不全詳細品相說明>>
本類五星書更多>

Android進階指北 版權信息

Android進階指北 本書特色

適讀人群 :本書適合有一定基礎的Android應用開發工程師和對Android系統源碼感興趣的讀者閱讀。1.Android進階三部曲是專門為應用開發進階和面試打造的系列圖書,共同構建Android進階三部曲知識體系。 2.本書是Android進階三部曲第三部,暢銷書《Android進階之光》《Android進階解密》 作者又一力作! 3.本書主要內容:系統源碼的下載、編譯、調試,Binder原理,PMS/IMS,Gradle核心思想,Jetpack架構組件,Flutter等。 4.本書適合有一定基礎的Android應用開發工程師和對Android系統源碼感興趣的讀者閱讀。

Android進階指北 內容簡介

本書是一本Android進階圖書,結合《Android進階之光》和《Android進階解密》兩本書介紹的知識,一同建立起Android應用開發進階知識體系。全書共分13章,主要從3個方面來組織內容:(1)Android應用開發所需要掌握的系統源碼知識,包括系統源碼的下載、編譯、調試,包管理機制,輸入系統,Native Binder,Java Binder;(2)應用開發必需的知識點,包括Groovy基礎、Gradle核心思想、Gradle的Android插件、Android Jetpack架構組件;(3)與跨平臺開發相關的知識點,包括跨平臺技術演進、Dart基礎、Flutter基礎。

Android進階指北 目錄

目錄


Android進階三部曲知識體系 1
第1章 系統源碼的下載、編譯、調試 5
1.1 使用VirtualBox安裝Ubuntu 5
1.1.1 安裝Ubuntu的步驟 6
1.1.2 安裝增強工具 12
1.2 AOSP源碼下載 14
1.2.1 AOSP簡介 14
1.2.2 下載repo 15
1.2.3 下載源碼 15
1.3 內核源碼下載 16
1.4 系統源碼的整編和單編 18
1.4.1 編譯系統概述 18
1.4.2 編譯源碼的方式 20
1.4.3 準備編譯環境 20
1.4.4 源碼整編 21
1.4.5 源碼單編 24
1.5 Source Insight導入系統源碼 25
1.5.1 新建源碼項目 25
1.5.2 定位文件 27
1.5.3 全局搜索 28
1.6 Android Studio導入系統源碼 29
1.7 Android Studio調試系統源碼 33
1.7.1 AOSP源碼項目調試 34
1.7.2 導入部分源碼調試 38
1.7.3 新建Android項目調試 39
1.8 本章小結 40
第2章 理解包管理機制和PMS 41
2.1 PackageInstaller的初始化 41
2.1.1 PackageManager簡介 42
2.1.2 APK的文件結構和安裝方式 42
2.1.3 尋找PackageInstaller入口 43
2.1.4 PackageInstallerActivity解析 47
2.1.5 PackageInstaller初始化的過程 51
2.2 PackageInstaller安裝APK過程 52
2.2.1 PackageInstaller中的處理 52
2.2.2 Java框架層的處理 57
2.2.3 PackageInstaller安裝APK的過程 59
2.3 PMS處理APK的安裝過程 59
2.3.1 PackageHandler處理安裝消息 60
2.3.2 復制APK的處理 66
2.3.3 PMS處理APK安裝 70
2.3.4 PMS處理APK安裝的步驟 76
2.4 PMS的創建過程 77
2.4.1 SystemServer處理部分 77
2.4.2 PMS構造方法 80
2.5 APK解析過程 91
2.5.1 引入PackageParser 91
2.5.2 PackageParser解析APK 92
2.5.3 Package的數據結構 99
2.6 本章小結 100
第3章 理解輸入系統和IMS 102
3.1 輸入事件傳遞流程的組成部分 103
3.2 IMS的誕生 105
3.2.1 SystemServer處理部分 105
3.2.2 InputManagerService構造方法 107
3.3 IMS的啟動過程 110
3.4 InputDispatcher的啟動過程 112
3.5 InputReader處理事件的過程 113
3.6 輸入事件的處理總結 119
3.7 InputReader的加工類型 120
3.8 InputDispatcher的分發過程 123
3.8.1 喚醒InputDispatcherThread 123
3.8.2 InputDispatcher進行分發 124
3.9 事件分發到目標窗口的過程 128
3.9.1 為事件尋找合適的分發目標 128
3.9.2 處理點擊形式的事件 132
3.9.3 向目標窗口發送事件 135
3.9.4 Motion事件分發過程總結 136
3.10 本章小結 138
第4章 IPC機制 139
4.1 Linux和Android的IPC機制 139
4.1.1 Linux中的IPC機制 139
4.1.2 Android中的IPC機制 141
4.2 開啟多進程 142
4.2.1 開啟多進程舉例 142
4.2.2 開啟多進程引出的問題 144
4.3 用Messenger進行進程間通信 146
4.4 使用AIDL實現跨進程方法調用 150
4.4.1 創建AIDL文件 150
4.4.2 創建服務端 152
4.4.3 客戶端調用 153
4.5 用ContentProvider進行進程間通信 155
4.5.1 建立數據庫,方便ContentProvider使用 155
4.5.2 使用ContentProvider對數據庫進行操作 156
4.5.3 在Activity中調用另一個進程的GameProvider方法 158
4.6 用Socket實現跨進程聊天程序 160
4.7 本章小結 167
第5章 Native Binder原理 168
5.1 學習Binder的前置知識點 168
5.1.1 Linux和Binder的IPC通信原理 169
5.1.2 使用Binder的原因 173
5.1.3 學習Binder的原因 174
5.2 ServiceManager中的Binder機制 175
5.2.1 基于Binder通信的C/S架構 175
5.2.2 MediaServer的main函數 176
5.2.3 每個進程唯一的ProcessState實例 177
5.2.4 解析ServiceManager中的Binder機制 180
5.2.5 小結 187
5.3 系統服務的注冊過程 187
5.3.1 從調用鏈角度說明MediaPlayerService的注冊過程 187
5.3.2 從進程角度說明MediaPlayerService的注冊過程 195
5.3.3 小結 196
5.4 ServiceManager的啟動過程 196
5.4.1 打開binder設備 198
5.4.2 注冊成為Binder機制的上下文管理者 201
5.4.3 循環等待和處理客戶端發來的請求 203
5.5 系統服務的獲取過程 206
5.5.1 客戶端MediaPlayerService請求獲取服務 206
5.5.2 服務端ServiceManager處理請求 212
5.6 本章小結 218
第6章 Java Binder原理 219
6.1 Java Binder的JNI注冊 219
6.1.1 Binder類的注冊 223
6.1.2 BinderInternal類的注冊 224
6.2 Java Binder中系統服務的注冊過程 225
6.2.1 將AMS注冊到ServiceManager 226
6.2.2 引出JavaBBinder 230
6.2.3 解析JavaBBinder 232
6.2.4 Java Binder架構 234
6.3 本章小結 235
第7章 Groovy基礎 236
7.1 Groovy概述 236
7.2 Groovy編寫和調試 237
7.3 變量 237
7.4 方法 237
7.5 類 238
7.6 語句 239
7.6.1 斷言 239
7.6.2 for循環 239
7.6.3 switch語句 240
7.7 數據類型 241
7.7.1 字符串 241
7.7.2 List 242
7.7.3 Map 242
7.7.4 閉包(Closure) 243
7.8 I/O操作 244
7.8.1 文件讀取 244
7.8.2 文件寫入 244
7.9 其他 245
7.9.1 asType 245
7.9.2 判斷是否為真 245
7.9.3 安全取值 245
7.9.4 with操作符 246
7.10 本章小結 246
第8章 Gradle核心思想 247
8.1 Gradle概述 247
8.1.1 項目自動化 248
8.1.2 構建工具 248
8.1.3 Gradle的特性 253
8.2 Gradle基礎知識 255
8.2.1 配置Gradle環境 255
8.2.2 實現Hello World 257
8.2.3 Gradle的任務 258
8.2.4 Gradle日志級別 260
8.2.5 Gradle 命令行 261
8.3 被忽視的Gradle Wrapper 263
8.3.1 為什么需要Gradle Wrapper 263
8.3.2 構建Gradle Wrapper 264
8.3.3 配置Gradle Wrapper 265
8.3.4 使用Gradle Wrapper 266
8.3.5 升級Gradle Wrapper 267
8.3.6 自定義Gradle Wrapper 268
8.4 Gradle插件基礎 268
8.4.1 Gradle插件概述 268
8.4.2 應用Gradle插件 270
8.4.3 插件DSL 272
8.4.4 自定義對象插件 273
8.4.5 Gradle插件的作用和優點 274
8.5 自定義Gradle插件 274
8.5.1 在build.gradle中編寫 275
8.5.2 在buildSrc工程項目中編寫 277
8.5.3 在獨立項目中編寫 278
8.6 本章小結 281
第9章 Gradle的Android插件 282
9.1 什么是Gradle的Android插件 282
9.2 Android Studio的模塊類型和項目視圖 283
9.3 項目build.gradle 284
9.4 模塊build.gradle 285
9.4.1 Gradle的Android插件類型 286
9.4.2 Android塊 286
9.4.3 dependencies塊 291
9.5 Android簽名文件配置 292
9.5.1 自定義簽名信息文件 292
9.5.2 本地添加簽名信息文件 293
9.6 Gradle的庫依賴 294
9.7 Gradle的庫依賴管理 295
9.7.1 Gradle的依賴傳遞 296
9.7.2 Gradle的依賴檢查 296
9.7.3 Gradle的依賴沖突 299
9.8 本章小結 301
第10章 Android Jetpack架構組件 302
10.1 Android Jetpack簡介 303
10.2 Android Jetpack分類 303
10.2.1 Architecture 304
10.2.2 Foundationy 305
10.2.3 Behavior 306
10.2.4 UI 307
10.3 在應用中引入Jetpack相關組件 307
10.4 使用Lifecycle 307
10.4.1 為什么需要Lifecycle 307
10.4.2 如何使用Lifecycle 309
10.4.3 Lifecycle應用舉例 312
10.4.4 自定義LifecycleOwner 315
10.5 Lifecycle的原理 316
10.5.1 Lifecycle的生命周期狀態事件和狀態 316
10.5.2 Lifecycle如何觀察Activity和Fragment的生命周期 317
10.5.3 Lifecycle關聯類 327
10.6 使用LiveData 328
10.6.1 什么是LiveData 328
10.6.2 LiveData的基本用法 329
10.6.3 更改LiveData中的數據 330
10.6.4 合并多個LiveData數據源 332
10.6.5 拓展LiveData對象 333
10.7 LiveData的原理 335
10.7.1 LiveData如何觀察組件生命周期變化 335
10.7.2 LiveData的observe方法回調 336
10.7.3 postValue/setValue方法分析 339
10.7.4 Transformations.map方法分析 341
10.7.5 LiveData關聯類 343
10.8 使用ViewModel 344
10.8.1 什么是ViewModel 345
10.8.2 ViewModel的基本使用方法 345
10.8.3 ViewModel的生命周期 347
10.9 ViewModel的原理 348
10.10 本章小結 351
第11章 跨平臺技術演進 352
11.1 Web App 353
11.2 Hybrid App 353
11.2.1 Cordova 354
11.2.2 Ionic 355
11.2.3 VasSonic 355
11.2.4 微信小程序 356
11.3 語言編譯轉換 357
11.4 原生渲染 358
11.4.1 React Native 358
11.4.2 Weex 358
11.4.3 快應用 359
11.5 自繪UI 360
11.5.1 Qt 360
11.5.2 Flutter 361
11.6 本章小結 362
第12章 Dart基礎 363
12.1 Dart開發環境搭建 363
12.2 Dart概述 364
12.3 Dart的特性和重要概念 365
12.4 Dart關鍵字 366
12.5 變量 367
12.6 基本數據類型 367
12.6.1 Number 367
12.6.2 String 368
12.6.3 Boolean 368
12.6.4 List 368
12.6.5 Set 369
12.6.6 Map 369
12.7 函數 369
12.7.1 可選參數 370
12.7.2 默認參數值 370
12.7.3 main函數 371
12.7.4 匿名函數 371
12.8 流程控制語句 371
12.8.1 for循環 372
12.8.2 switch和case 372
12.9 捕獲異常 373
12.10 為類添加新的功能 373
12.11 庫的使用方法 374
12.12 異步支持 375
12.13 使類可調用 376
12.14 創建實例 376
12.15 本章小結 376
第13章 Flutter基礎 377
13.1 Flutter開發環境搭建和Hello World 377
13.1.1 Flutter概述 378
13.1.2 Flutter開發環境搭建 378
13.1.3 運行一個Flutter Demo 383
13.1.4 Hello World 385
13.2 Widget基礎 386
13.2.1 Widget概述 387
13.2.2 Widget的分類 387
13.2.3 Widget的狀態分類 388
13.2.4 根Widget的種類 388
13.3 Basic Widget 389
13.3.1 代碼模板和主題 389
13.3.2 文本 390
13.3.3 圖片 391
13.3.4 凸起按鈕 394
13.3.5 其他Widget 395
13.4 Material組件 397
13.4.1 MaterialApp 398
13.4.2 Scaffold 401
13.4.3 AppBar 403
13.4.4 BottomNavigationBar 405
13.4.5 TabBar 407
13.4.6 Drawer 411
13.5 Scrolling Widget 413
13.5.1 ListView 413
13.5.2 GridView 418
13.5.3 PageView 419
13.6 手勢相關Widget 421
13.6.1 指針事件 421
13.6.2 手勢 422
13.6.3 使用GestureDetector 423
13.6.4 使用Dismissible 424
13.7 資源和圖片 426
13.7.1 指定asset 426
13.7.2 加載文本 427
13.7.3 加載圖片 430
13.8 布局Widget 433
13.8.1 線性布局Widget 433
13.8.2 流式布局Widget 434
13.8.3 層式布局Widget 436
13.8.4 彈性布局Widget 438
13.9 網絡請求庫Dio 440
13.9.1 Dio的使用入門 440
13.9.2 Dio訪問網絡 441
13.10 JSON數據解析 443
13.10.1 使用json.decode方法 443
13.10.2 手動編寫實體類 444
13.10.3 自動生成實體類 445
13.11 路由與數據傳遞 447
13.11.1 新建路由 447
13.11.2 使用注冊路由 450
13.11.3 路由間數據傳遞 451
13.12 Flutter與Android的相互通信 456
13.12.1 PlatformChannel概述 456
13.12.2 Flutter調用Android 458
13.12.3 Android調用Flutter 461
13.13 本章小結 465

展開全部

Android進階指北 作者簡介

劉望舒,Android技術專家,Android進階三部曲《Android進階之光》 《Android進階解密》 《Android進階指北》作者,電子工業出版社博文視點2017、2018、2019年度優秀作者。CSDN知名博主,榮獲CSDN 2018年度博客之星稱號。GDG Devfest、Droidcon、安卓巴士開發者大會、全球移動開發者大會的特邀演講嘉賓或出品人。曾在多個知名大廠任職,目前就職于某大型互聯網公司,擔任技術負責人,負責管理和架構相關工作。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 混合反应量热仪-高温高压量热仪-微机差热分析仪DTA|凯璞百科 | 齿轮减速机_齿轮减速电机-VEMT蜗轮蜗杆减速机马达生产厂家瓦玛特传动瑞环机电 | 煤粉取样器-射油器-便携式等速飞灰取样器-连灵动 | 热熔胶网膜|pes热熔网膜价格|eva热熔胶膜|热熔胶膜|tpu热熔胶膜厂家-苏州惠洋胶粘制品有限公司 | 氟氨基酮、氯硝柳胺、2-氟苯甲酸、异香兰素-新晨化工 | Boden齿轮油泵-ketai齿轮泵-yuken油研-无锡新立液压有限公司 | 荣事达手推洗地机_洗地机厂家_驾驶式扫地机_工业清洁设备 | 铣刨料沥青破碎机-沥青再生料设备-RAP热再生混合料破碎筛分设备 -江苏锡宝重工 | 仿清水混凝土_清水混凝土装修_施工_修饰_保护剂_修补_清水混凝土修复-德州忠岭建筑装饰工程 | 洛阳防爆合格证办理-洛阳防爆认证机构-洛阳申请国家防爆合格证-洛阳本安防爆认证代办-洛阳沪南抚防爆电气技术服务有限公司 | 空气能暖气片,暖气片厂家,山东暖气片,临沂暖气片-临沂永超暖通设备有限公司 | 招商帮-一站式网络营销服务|互联网整合营销|网络推广代运营|信息流推广|招商帮企业招商好帮手|搜索营销推广|短视视频营销推广 | 高考志愿规划师_高考规划师_高考培训师_高报师_升学规划师_高考志愿规划师培训认证机构「向阳生涯」 | 首页_中夏易经起名网 | 浙江栓钉_焊钉_剪力钉厂家批发_杭州八建五金制造有限公司 | 砍排机-锯骨机-冻肉切丁机-熟肉切片机-预制菜生产线一站式服务厂商 - 广州市祥九瑞盈机械设备有限公司 | 大功率金属激光焊接机价格_不锈钢汽车配件|光纤自动激光焊接机设备-东莞市正信激光科技有限公司 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 济南冷库安装-山东冷库设计|建造|冷库维修-山东齐雪制冷设备有限公司 | Q361F全焊接球阀,200X减压稳压阀,ZJHP气动单座调节阀-上海戎钛 | 工程管道/塑料管材/pvc排水管/ppr给水管/pe双壁波纹管等品牌管材批发厂家-河南洁尔康建材 | 济南拼接屏_山东液晶拼接屏_济南LED显示屏—维康国际官网 | 橡胶接头|可曲挠橡胶接头|橡胶软接头安装使用教程-上海松夏官方网站 | 成都租车_成都租车公司_成都租车网_众行宝 | 酒糟烘干机-豆渣烘干机-薯渣烘干机-糟渣烘干设备厂家-焦作市真节能环保设备科技有限公司 | 酵素生产厂家_酵素OEM_酵素加盟_酵素ODM_酵素原料厂家_厦门益力康 | 广州展台特装搭建商|特装展位设计搭建|展会特装搭建|特装展台制作设计|展览特装公司 | 防火卷帘门价格-聊城一维工贸特级防火卷帘门厂家▲ | 钢板仓,大型钢板仓,钢板库,大型钢板库,粉煤灰钢板仓,螺旋钢板仓,螺旋卷板仓,骨料钢板仓 | 武汉不干胶印刷_标签设计印刷_不干胶标签印刷厂 - 武汉不干胶标签印刷厂家 | 海水晶,海水素,海水晶价格-潍坊滨海经济开发区强隆海水晶厂 | 德州网站开发定制-小程序开发制作-APP软件开发-「两山开发」 | 出国劳务公司_正规派遣公司[严海]| 高效节能电机_伺服主轴电机_铜转子电机_交流感应伺服电机_图片_型号_江苏智马科技有限公司 | 河南生物显微镜,全自动冰冻切片机-河南荣程联合科技有限公司 | 烟台游艇培训,威海游艇培训-烟台市邮轮游艇行业协会 | 苏州防水公司_厂房屋面外墙防水_地下室卫生间防水堵漏-苏州伊诺尔防水工程有限公司 | 废气处理_废气处理设备_工业废气处理_江苏龙泰环保设备制造有限公司 | 众品家具网-家具品牌招商_家具代理加盟_家具门户的首选网络媒体。 | 磁力抛光研磨机_超声波清洗机厂家_去毛刺设备-中锐达数控 | 鑫铭东办公家具一站式定制采购-深圳办公家具厂家直销 | 东莞市超赞电子科技有限公司 全系列直插/贴片铝电解电容,电解电容,电容器 |