TOP
英國出版界指標大獎肯定!A.F. Steadman 獲年度作家,《史坎德》系列帶你踏上熱血奇幻旅程
深入Android應用開發:核心技術解析與最佳實踐(簡體書)
滿額折

深入Android應用開發:核心技術解析與最佳實踐(簡體書)

商品資訊

人民幣定價:79 元
定價
:NT$ 474 元
優惠價
87412
缺貨無法訂購
無法訂購
商品簡介
作者簡介
名人推薦
目次
書摘/試閱

商品簡介

如何才能真正進階為Android應用開發高手?必須深入理解Android核心技術的底層原理和在開發中總結並使用各種最佳實踐,別無他法!本書以Android的源代碼為主,SDK為輔,針對應用開發者的需求,對各種核心技術的使用方法、底層原理和實現細節進行了深入而詳細的講解,同時輔之以大量案例和最佳實踐,為開發者的進階修煉和開發高質量的應用提供了絕佳指導。 第1章深入介紹了Android的4大核心組件和9大主要應用框架;第2章透徹講解了資源、組件、事件處理、應用風格和數據適配等核心知識;第3章系統地展示了各種常用的UI控件的使用方法及原理,並對XML和Java這兩種控件屬性配置方式和適用場景進行了分析和比較;第4章深入闡述了Android的數據存儲與管理;第5章分析了Android在UI層、框架層和內核層的通信機制和原理;第6章深入講解了Android實現多線程的兩種主要方式(原生Java線程和Android對Java線程的封裝)的原理,並對它們進行了全方位比較;第7章深入介紹了Android網絡編程的核心技術;第8章詳細講解了Android中的2D圖像、3D圖像、2D圖形以及動畫方面的知識;第9章全面介紹了Android的多媒體編程,包括音頻、視頻和Camera服務等,並對TTS的實現進行了剖析;第10章詳細講解了Android的跨語言調用;第11章深入剖析了Android的安全框架和安全機制;第12章針對商業應用的需要講解了Android的調試、測試與性能優化;第13章全面地剖析了Android的編譯系統,包括編譯工具、映像文件編譯、SDK編譯、NDK編譯和目標系統的配置等;第14章分析了Android系統的啟動過程;第15章講解了Android的系統管理原理,包含內存管理、應用管理、電源管理、系統管理,以及系統的還原、升級、配置和備份等多方面的內容,能幫助開發者從一個更高的視角去理解Android的運行機制。

作者簡介

苗忠良,資深Android開發工程師和嵌入式軟件開發工程師,對Android、Linux和Qtopia等平臺和技術有非常深入的研究,實踐經驗極其豐富。尤其是在Android領域,不僅擅長Android應用的開發,對Android系統的底層原理有非常深入的研究,而且還對Android應用的設計開發思想和用戶體驗有非常深入的認識。現擔任某公司上海研發中心的技術總監,擁有發明專利3項,發表學術論文多篇,曾多次在高校和企業舉辦技術講座,深受歡迎。

名人推薦

《深入Android應用開發:核心技術解析與最佳實踐》編輯推薦:以源代碼為依托,逐步深入討論Android應用開發涉及的方方面面;展示大量最佳實踐,為開發高質量的Android應用提供絕佳指導。

為什么寫作本書
作為一個應勢而生的移動終端操作系統,Android適應了移動互聯網的發展和“4C”融合的趨勢,為產業從以硬件為重心向以內容和服務為重心轉型提供了一個絕佳的平臺。更由于其發起者Google的正確商業推廣策略,自發布之日起,Android便贏得了眾多開發者和OEM廠商的青睞與支持,支持者如滾雪球般不斷擴大,最終後來居上。由于其面向互聯網設計的特點,Android適用于數字家庭、遠程醫療、物聯網、交通監控、移動終端、機器人等多種應用領域,能很好地適應移動互聯網的發展,其前景被越來越多的人看好。Android的出現,加速了以“內容”和“服務”為重心的新一代信息產業革命的發展。
隨著移動互聯網的發展,科技的魅力逐漸滲透到世界的每個角落,但是隨著科技的普及,至少在消費類電子領域,以技術驅動為核心的價值觀理念正逐漸讓位于以消費需求為核心的價值觀理念。衡量產品成功的標準不再局限于技術是否先進,而是能否最大限度地滿足消費者需求。Android的出現正逢其時。
然而Android龐大的架構背後蘊含的設計理念和邏輯細節異常復雜,入門容易,深入卻難,需要開發者仔細鉆研。Android的知識點跨越了Linux、Java、C/C++、XML、移動終端、無線接入技術、用戶研究和計算機網絡等多個領域,整合了計算機網絡、嵌入式系統、移動通信、集成電路、工業設計、人機交互、設計藝術學等多個學科。
在本書中,根據以往和讀者交流的經驗,筆者摒棄了以前側重理論和理念引導的寫作方法,更注重實戰經驗的總結。從哲學角度看,這是一種退步,但是就具體的開發和與技術的適配來看,這種寫作方法更加有利于將筆者的心得分享給讀者,幫助讀者迅速提高自己的開發水平。
然而必須申明,任何平臺和工具均是開發者表達自己理念的一種手段,永遠無法也不應該替代開發者頭腦中的應用的設計理念,尤其是在進行商業開發的過程中,應始終明確設計理念和商業模式遠比工具本身更重要。API僅是表達設計意圖的一個途徑,必須將個人的視野拔高到設計的層次。在商務實踐中,戰略和執行力構成個人和企業成功的兩大基石,自身的技術能力和能夠利用的資源則決定著產品的質量。只懂使用工具的人稱不上優秀的人才,相比內外兼修的“中華功夫”高手,不過徒然練就了“一身外功”而已。只有理論與實踐兼修,才能夠深刻了解產業的發展趨勢,才能找到正確的切入點,才能體會到工程實踐的重要意義,才能理解優秀的產品其實是一種平衡者才能獲得的更高成就,而前進的每一步都是在不斷否定自我的過程中實現的。
秉持一貫的作風,本書少有完整的例子供開發者參考,因為在Android SDK所攜帶的文檔中,已經有足夠多的示例供開發者學習,筆者沒有必要在此著墨太多。
在具體的內容上,本書以源代碼為主、SDK為輔的方式與大家分享經驗心得。希望本書能夠幫助Android愛好者一窺Android內在的神秘。
本書面向的讀者
本書適合所有有一定基礎的Android應用開發工程師和系統開發工程師閱讀。
本書主要內容
本書在邏輯上力避耦合,讀者可以根據自己的需要調整閱讀順序。缺乏Android基礎的讀者請務必先詳細閱讀本書的附錄。
本書第1~4章介紹Android基礎開發涉及的核心組件、應用框架、資源框架、UI控件、數據存儲等,這是所有Android開發者都應掌握的;第5~10章介紹Android框架層的通信機制、多線程編程、網絡編程、圖像與動畫、多媒體編程、跨語言調用等內容,這些是中等水平的Android開發者必須掌握的;第11~15章則介紹了Android的安全框架、調試與優化、編譯環境、啟動過程和系統管理,以幫助開發者完成更高層次的積累并為商業級產品開發做好準備。
支持和勘誤
除了苗忠良、曾旭、宛斌之外,周紅恩、王振偉、李德偉、張婷婷、劉存青、王珊珊等還參與了資料的整理和示例的收集等工作。
由于筆者水平有限,書中難免還存在一些不足,請大家見諒。您若對本書有任何意見和建議,歡迎發郵件到mzl626@163.com和筆者討論。
本書中所涉及的源代碼可在http://source.android.com處下載。
致謝
在本書撰寫過程中,得到了公司同事管艷麗、陳文、唐曉軍、何偉偉等和家人的大力鼓勵和支持,他們為本書提供了很多好的意見和建議,使本書得以不斷完善,在此對他們表示深深的謝意,我很高興能在創業的道路上和他們一路同行;另外,我的兒子苗思源的降生帶給了我極大的快樂,每天看到他天真無邪的笑臉,都覺得是一種莫大的幸福,這種幸福激勵著我不斷奮斗。
另外,還要感謝機械工業出版社的編輯、美工和校對人員,尤其是策劃編輯楊福川先生,及姜影和白宇兩位編輯。在本書撰寫過程中,他們提出了不少真知灼見,很高興能和他們一起推動本書的出版。

苗忠良

目次

前言
第1章 深入解析Android核心組件和應用框架 1
1.1 核心組件詳解 1
1.1.1 Activity組件 1
1.1.2 Service組件 19
1.1.3 Intent組件 25
1.1.4 BroadcastReceiver組件 31
1.2 應用框架解析 31
1.2.1 Service框架 32
1.2.2 Activity管理機制 38
1.2.3 Broadcast機制 41
1.2.4 對話框框架 42
1.2.5 標題欄框架 46
1.2.6 狀態欄框架 48
1.2.7 通知機制 52
1.2.8 搜索框架 56
1.2.9 ActionBar框架 59
第2章 Android 資源框架詳解 64
2.1 布局文件 64
2.2 值文件 67
2.3 創建菜單 75
2.3.1 選項菜單 75
2.3.2 上下文菜單 77
2.3.3 子菜單 79
2.3.4 彈出菜單 80
2.4 斷言的處理 81
2.5 Jar包和共享庫 83
2.6 系統資源 84
第3章 Android UI控件精要 89
3.1 布局控件 89
3.1.1 LinearLayout 89
3.1.2 RelativeLayout 92
3.1.3 TableLayout 93
3.1.4 FrameLayout 94
3.2 顯示控件 97
3.2.1 TextView 97
3.2.2 ProgressBar 99
3.2.3 WebView 100
3.2.4 ViewSwitcher 101
3.2.5 TextSwitcher 102
3.2.6 ViewFlipper 103
3.2.7 SeekBar 104
3.2.8 ViewStub 106
3.3 容器控件 106
3.3.1 SlidingDrawer 106
3.3.2 ListView 107
3.3.3 ExpandableListView 111
3.3.4 GridView 112
3.3.5 ScrollView 113
3.3.6 TabHost 114
3.4 輸入控件 114
3.4.1 EditText 114
3.4.2 Spinner 116
3.4.3 AutoCompleteTextView 117
3.5 控制控件 118
3.5.1 Button 118
3.5.2 CheckBox 119
3.5.3 RadioButton 119
3.5.4 RatingBar 120
3.5.5 ZoomControls 121
3.6 多媒體控件 122
3.6.1 ImageView 122
3.6.2 ImageSwitcher 122
3.7 特殊控件 125
3.8 桌面部件 126
3.8.1 App Widgets的實現 126
3.8.2 Live folders的實現 128
3.9 自定義控件 129
3.10 數據適配 130
3.10.1 視圖適配 130
3.10.2 標準化解析 133
3.11 Fragment 135
3.11.1 Fragment 生命周期 135
3.11.2 ListFragment 137
3.11.3 DialogFragment 137
3.11.4 PreferenceFragment 138
3.11.5 WebViewFragment 138
第4章 深入解析Android數據存儲與管理 139
4.1 XML文件管理 139
4.2 內部文件管理 140
4.2.1 寫入數據 141
4.2.2 讀取數據 141
4.3 外部文件管理 142
4.4 數據庫管理 143
4.4.1 Android封裝接口 144
4.4.2 原生方法處理 145
4.5 數據處理 145
4.5.1 Set類 146
4.5.2 Map類 148
4.5.3 list類 150
4.5.4 流類 150
4.5.5 正則表達式 153
4.5.6 I/O管理 153
4.5.7 JSON實現 155
第5章 深入解析Android通信機制 159
5.1 Intent通信 159
5.1.1 Intent的常見用法 159
5.1.2 Serializable接口 165
5.1.3 Parcelable接口 165
5.2 UI事件處理 166
5.2.1 事件監聽器、事件句柄及焦點處理 167
5.2.2 觸控事件處理 168
5.2.3 按鍵事件處理 170
5.2.4 軌跡球事件處理 171
5.3 任務調度 172
第6章 深入解析Android多線程編程 174
6.1 Java線程實現 174
6.2 Android線程封裝 177
6.3 線程間的消息通信 180
6.3.1 消息隊列 181
6.3.2 消息分發 183
6.3.3 消息接收 183
6.4 線程安全處理 184
6.4.1 synchronized同步 184
6.4.2 RPC通信 186
6.4.3 SQLite調用 186
第7章 深入解析Android網絡編程 187
7.1 無線接入技術概述 187
7.2 基礎協議封裝 190
7.3 Java網絡編程接口 194
7.4 Apache網絡編程接口 195
7.5 Android網絡編程接口 196
7.6 Web服務實現 199
7.6.1 Web服務概述 199
7.6.2 KSOAP2的實現 199
7.7 XML解析器 200
7.7.1 Pull解析器 201
7.7.2 DOM解析器 202
7.7.3 SAX解析器 203
7.8 套接字編程 203
7.9 Web應用實現 205
7.10 SIP服務 212
7.11 NFC通信 214
7.12 RIL層處理 216
7.13 報文分析 220
第8章 Android圖形、圖像與動畫精要 222
8.1 2D圖像處理 222
8.1.1 基本接口 222
8.1.2 縮略圖 228
8.1.3 圖像瀏覽 228
8.1.4 人臉檢測 230
8.2 3D圖像處理 233
8.2.1 OpenGL ES的實現 233
8.2.2 RenderScript的實現 236
8.3 圖形處理 239
8.3.1 基本接口 239
8.3.2 Surface渲染系統 244
8.4 動畫處理 247
8.4.1 補間動畫 248
8.4.2 幀動畫 249
8.4.3 屬性動畫 250
第9章 深入解析Android多媒體編程 257
9.1 音頻處理 257
9.1.1 音頻播放 258
9.1.2 音頻錄制 264
9.1.3 音頻管理 265
9.1.4 音效處理 267
9.2 視頻處理 269
9.2.1 視頻播放 270
9.2.2 視頻錄制 273
9.3 Camera服務 274
9.4 TTS的實現 276
第10章 Android跨語言調用詳解 279
10.1 C語言與匯編語言的相互調用 279
10.2 C++與C語言的相互調用 280
10.3 Java對C/C++的調用 282
10.4 C/C++對Java的調用 287
第11章 Android安全框架解析 292
11.1 Java混淆器 293
11.2 接入權限 294
11.2.1 創建接入權限 294
11.2.2 應用權限 294
11.2.3 權限驗證 296
11.2.4 接入服務 297
11.2.5 框架層接入限制 298
11.3 數字證書 298
第12章 Android的調試、測試與性能優化 300
12.1 Android調試 300
12.1.1 Logcat日志調試 300
12.1.2 dmtracedump跟蹤 300
12.1.3 Dev Tools調試 301
12.1.4 屏幕截圖分析 301
12.1.5 內存調試 302
12.2 Android布局優化 305
12.2.1 Layoutopt優化 305
12.2.2 Hierarchyviewer優化 306
12.3 Android測試 307
12.3.1 Monkey壓力測試 307
12.3.2 JUnit回歸測試 308
12.3.3 CTS兼容性測試 312
12.3.4 目標環境測試 313
12.4 Android性能優化 314
12.4.1 優化資源讀取 314
12.4.2 優化APK加載 315
12.4.3 Dalvik虛擬機 315
12.4.4 TraceView性能分析 315
12.4.5 運行效率的優化 317
第13章 深入解析Android編譯系統 318
13.1 源代碼編譯 318
13.1.1 映像文件 318
13.1.2 編譯方法 319
13.1.3 主要腳本 322
13.1.4 環境變量 332
13.1.5 目標環境 333
13.2 SDK編譯 333
13.2.1 Linux下的SDK編譯 334
13.2.2 Windows下的SDK編譯 334
13.2.3 ADT插件的編譯 334
13.3 NDK編譯 335
13.3.1 編譯腳本 336
13.3.2 配置腳本 337
13.3.3 GDB調試 340
13.3.4 NativeActivity實現 340
13.4 應用程序編譯 342
13.4.1 本地環境變量 342
13.4.2 在Eclipse下編譯 343
13.5 目標系統配置 343
13.5.1 自定義模擬器配置 343
13.5.2 目標板配置 348
13.5.3 目標環境配置 350
13.6 文件系統配置 350
13.7 編譯工具 350
13.8 fastboot模式 352
第14章 Android啟動過程詳解 353
14.1 系統的啟動過程 353
14.1.1 系統屬性配置 354
14.1.2 文件系統掛載 355
14.1.3 守護進程啟動 356
14.2 應用的啟動過程 362
14.2.1 應用的啟動配置 362
14.2.2 應用的啟動過程 364
第15章 深入解析Android系統管理 369
15.1 內存管理 369
15.1.1 對象引用 369
15.1.2 垃圾回收策略 370
15.2 應用管理 373
15.2.1 應用的配置 373
15.2.2 應用的啟動 374
15.2.3 應用的銷毀 375
15.3 電源管理 376
15.3.1 電源管理框架 376
15.3.2 應用層策略 379
15.4 下載管理 380
15.4.1 Gingerbread前的下載 380
15.4.2 Gingerbread後的下載 382
15.5 系統配置 383
15.5.1 系統數據庫 383
15.5.2 系統屬性 385
15.6 數據管理 386
15.6.1 數據備份 386
15.6.2 剪切板管理 387
15.7 設備管理 388
15.7.1 管理工具 388
15.7.2 傳感器管理 395
15.7.3 USB管理 398
15.8 應用發布 399
15.8.1 應用商店概述 399
15.8.2 目標環境的適配 401
15.8.3 發布應用 410
附錄A Android開發環境搭建 413
附錄B 常用Linux命令 436
附錄C 編碼規范 441
附錄D 學習資源 447
參考文獻 451

書摘/試閱

第1章
深入解析Android核心組件和應用框架
本章將詳細介紹Android的四大核心組件并深入剖析九大主要應用框架,旨在幫助讀者更好地理解Android的系統框架。
1.1 核心組件詳解
Android有4個核心組件,分別是:提供界面顯示的Activtiy、提供後臺計算的Service、提供進程間通信的Intent和提供廣播接收的BroadcastReceiver。本節將詳細介紹這些核心組件的使用方法和技巧,以及隱藏在背後的一些邏輯和原理。

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 412
缺貨無法訂購

暢銷榜

客服中心

收藏

會員專區