Android開發(fā)精要

出版時間:2012-8  出版社:機械工業(yè)出版社  作者:范懷宇  頁數(shù):335  
Tag標簽:無  

前言

前言為什么要寫這本書一直覺得我和Android還是蠻有緣分的,從Android發(fā)布第一個版本的SDK開始,我就一直在“摸著石頭”寫各種Android應用,了解一切與Android有關的事情,直至今日。還記得剛開始接觸Android時,由于缺少相關的學習資料或書籍,入門都是一件非常困難的事情,只能靠自己不斷地翻看SDK文檔、嘗試各種代碼實現(xiàn)來揣摩如何開發(fā)Android應用,因而走過很多彎路,幾乎犯過所有可能出現(xiàn)的錯誤,深感寫好Android程序并不是一件很容易的事情。如今有大量的開發(fā)者開始從事Android開發(fā),幸運的是很多前輩寫了大量關于Android開發(fā)的書籍,其中包括很多非常優(yōu)秀的書籍,能幫助Android開發(fā)者更快速地學習Android開發(fā),使他們不用再重復我當年初學時的痛苦。但從我在工作中接觸到的Android開發(fā)者來看,雖然學會如何編寫Android應用不再是難事,但他們依舊困擾于如何寫出地道的、貼近Android設計理念的、更加高效和運行可靠的Android應用。雖然已經(jīng)有很多功力深厚的書籍詳細剖析過Android底層實現(xiàn)的方方面面,能幫助開發(fā)者把Android應用寫得更出色,但正是由于這類書中包含了大量底層實現(xiàn)細節(jié),因此使得開發(fā)者學習成本較高,難于從中快速獲取期望的內(nèi)容,痛感“遠水解不了近渴”。因此,我萌生了寫這本書的念頭,期望從我的開發(fā)經(jīng)驗和繁雜的Android源代碼中,抽取出Android開發(fā)的“精華”和“要點”,這些“精要”剝離了很多瑣碎的實現(xiàn)細節(jié),進行了更多的概括和總結。這一方面能夠幫助開發(fā)者更深入理解Android的應用開發(fā),從學會Android進階到理解Android;另一方面又使他們不會被太多細節(jié)所牽絆,能夠更快速地學習和掌握所需內(nèi)容。本書主要內(nèi)容本書將所有內(nèi)容整理成四個部分13章。第一部分幫助讀者重新認識Android,并從各個角度來介紹一些Android的核心理念和學習方法,包含前兩章內(nèi)容。第1章從多個方面介紹和闡述了對Android架構的理解,只有真正理解Android的設計理念和思想才能夠更快地掌握Android開發(fā)。第2章介紹了如何獲取、編譯和閱讀Android源代碼,對于愿意投入更多時間學習Android的開發(fā)者來說,源代碼無疑是最好的學習資料。第二部分深入闡述了Android最核心的組件機制,包含4章內(nèi)容。第3章從整體上闡述了Android組件機制的設計理念和重要特征,詳細介紹了4大組件的特點和使用方式。第4章從設計和源代碼出發(fā),講解了Intent對象和Android的意圖機制,旨在幫助開發(fā)者理解Android是如何將來自不同應用、不同進程的組件整合在一起工作的。第5章介紹了Android各個組件的生命周期,包括每個組件的進程模型、線程模型,以及編程時需要把控的一些“要點”。第6章從實際開發(fā)的角度出發(fā),詳細介紹了組件間數(shù)據(jù)傳遞的解決方案,以及這些解決方案的優(yōu)缺點和使用場景。接下來的第三部分,轉換到了另一個核心話題,即Android的交互界面開發(fā),包括兩章內(nèi)容。第7章講解了Android的控件框架,結合實際的項目,對重要控件的實現(xiàn)和使用逐一進行了分析與講解,其中包含了最新的Android 4.0界面開發(fā)的一些實踐“精華”。第8章繼續(xù)介紹了Android的資源體系,詳細剖析了Android底層對資源的處理,并結合具體的應用實現(xiàn)介紹了如何正確地配置資源和構建交互界面。剩下的章節(jié)是第四部分,其內(nèi)容涵蓋了Android的各個核心模塊,對每個模塊的實現(xiàn)機制都做了分析,并結合具體的工程實踐針對使用模塊時最容易遇到的問題給出了解決方案。第9章介紹了Android的數(shù)據(jù)存儲結構,以及不同的數(shù)據(jù)存儲模式的使用要點,包括基于文件、基于設置文件(Preference)、基于數(shù)據(jù)庫、基于云端等多種模式。第10章介紹了Android豐富多彩的網(wǎng)絡連接方式,著重介紹了開發(fā)時常見問題的解決,范圍不僅涵蓋了傳統(tǒng)的HTTP連接、藍牙傳輸,還包括最新的近場通信(NFC)和基于WiFi的P2P連接等。第11章講解的是Android的地理信息服務,不僅包括Android的定位服務、地址服務和地圖服務的框架實現(xiàn),還特別針對定位時會遇到的各個問題給出了解決方案。第12章圍繞Android的多媒體信息處理展開,具體包括了圖像、音頻、視頻和相機的實現(xiàn)和使用,內(nèi)存占用量大是多媒體處理中最常見的問題,該章結合對一些系統(tǒng)應用的剖析,總結了一些常用的解決策略。第13章涵蓋內(nèi)容比較多,主要介紹的是Android中比較有特色的一些模塊,包括短信和通話的處理、聯(lián)系人的使用、通知機制(Notification)、桌面小工具(App Widget)的開發(fā)等內(nèi)容,著重介紹的是一些比較有特色的實現(xiàn)細節(jié),以幫助開發(fā)者寫出更為“地道”的Android應用。本書特色本書最大的特色在于對底層實現(xiàn)機制的總結和整理,以及結合項目實踐經(jīng)驗對開發(fā)中常遇到的核心問題給出具體的解決策略。對于底層實現(xiàn)機制的整理,可視為Android開發(fā)的“要點”,每個開發(fā)者都需要理解和掌握這些內(nèi)容,才能在開發(fā)時“下筆如有神”。為了能夠更好地傳達這些要點,本書中不會出現(xiàn)大段的底層實現(xiàn)代碼,而是把所有的實現(xiàn)機制和策略,整理成文字和圖表進行總結解析,以幫助讀者更輕松地學習和理解。而對于實際開發(fā)問題的解決策略,可看做是Android開發(fā)中的“精華”部分。本書從系統(tǒng)應用和一些優(yōu)秀開源項目中整理出常見問題的解決策略,并結合個人實踐經(jīng)驗分析不同解決策略的思想和適用場景,不僅能夠授讀者以解決問題之“魚”,更能夠授其分析問題之“漁”。本書面向的讀者我期望所有的Android應用開發(fā)者都能夠從本書中獲益。對于Android初學者而言,可以著重閱讀本書對Android設計思想、組件機制、UI框架的介紹,增強對Android底層機制的理解,這對于日后開發(fā)更高效、可靠的Android應用,必將有所裨益。而對于具有豐富Android開發(fā)經(jīng)驗、對Android基礎框架有很深認識的資深開發(fā)者而言,可以在本書中尋找針對具體問題給出的一些解決策略,相信這些策略會對解決開發(fā)中的實際問題有所幫助。如何閱讀本書從本書的結構來看,前三部分包含的內(nèi)容對于大部分開發(fā)者都適用,可以逐節(jié)進行閱讀;而第四部分包含的內(nèi)容則可以結合具體問題有選擇地進行閱讀。本書在介紹內(nèi)容的過程中,會涉及Android中的具體Java類,在首次提及時會使用完整的類名進行描述,如android.app.Activity,而在之后再次提及時則會略去全部的包信息,僅使用類名,如Activity,以節(jié)約篇幅便于閱讀。與之類似,本書會將一些英文的專有名詞翻譯成中文,在首次提及時會使用中英文對照的方式,如界面組件(Activity),而再次涉及時則會直接使用中文名稱,如界面組件。本書幾乎沒有完整的代碼實例(具體的實例來源會給出對應的鏈接或描述),只有從中截取并改良過的代碼片段,其描述風格如下:// 這是一段示例代碼,在代碼的重要位置,會用注釋給出解釋String hello = "Hello, ";  // 重要的變量、函數(shù)會用粗體表示String user_name = GetUserName();  // 一些虛擬的函數(shù)、變量,會用斜體表示...  // 一些略去的實現(xiàn)細節(jié),會用省略號表示此外,本書會穿插一些小貼士,提供相關聯(lián)的知識內(nèi)容,小貼士的格式形如:小貼士 這是一則小貼士,所謂小貼士,就是對相關內(nèi)容進行擴展介紹,或者是加入一些個人的理解。資源及勘誤由于個人能力的局限,雖已竭盡所能,但在本書中對于一些問題的理解難免會有所紕漏,給出的一些解決方案也可能會有缺陷,敬請讀者海涵。如在閱讀過程中發(fā)現(xiàn)問題或者有所疑問需要討論,可發(fā)郵件至我的郵箱,所有關于本書內(nèi)容的勘誤會在個人博客上不斷更新。致謝兩年前的一天,本書的策劃編輯楊福川在我的博客上看到了本書最雛形的一些文字,便極力邀請并最終促成了這本書。感謝福川在兩年多的時間里一直鼓勵著我,容忍著我無限期的“跳票”,幫我整理思路繼續(xù)前行,感謝他和他的同事白宇、王曉菲、曾珊幫我打磨每一行文字,整理每一張圖片,沒有他們的專業(yè)和堅持就不會有本書的最終完稿,感謝你們,感謝機械工業(yè)出版社。也要感謝我的前東家網(wǎng)易有道,是它給我機會來開發(fā)諸如有道詞典這樣擁有大量用戶的Android應用,在這個過程中我積累了大量的實踐經(jīng)驗,這是我能夠完成本書的技術基礎。更要感謝豌豆實驗室和所有的豌豆們,這是我正為之奮斗的公司和一起戰(zhàn)斗的同事們,在這里我不僅開拓了技術視野,了解了更豐富的Android技術,更重要的是,讓我體會到了什么是為了理想而共同奮斗,這是鞭策我不斷前進的動力。還要感謝那些和我一起寫Android代碼的朋友們,徐嵐、陽光元、王健飛、吳淼偉……那些我寫下你們解掉的Bug,都讓我從中學到了新的知識。當然,一定要感謝我的家人,我的父母每周都會問我:“書寫得怎么樣了?早點休息,別太辛苦!”我想說,有你們的支持,我永遠不會辛苦。感謝我的妻子張佳,本來我想拿著這本書作為我們的結婚禮物,卻未曾想到,待到出版時我們已然是老夫老妻了,兩年間你一直鼓勵我、幫助我完成此書,感謝有你,一直陪伴在你身邊,是我能為你做的。最后,感謝所有即將閱讀此書的朋友們,如果有人能從此書獲益,將是我莫大的欣慰。范懷宇2012年5月于北京

內(nèi)容概要

如何才能寫出貼近Android設計理念、能夠更加高效和可靠運行的Android應用?通過Android的源代碼去了解其底層實現(xiàn)細節(jié)是最重要的方法之一!然而,Android系統(tǒng)太過于龐大,源代碼實現(xiàn)復雜,學習的技術門檻和時間成本都很高。有沒有一種方法既能幫助開發(fā)者深入理解Android應用開發(fā),又能不被底層大量的實現(xiàn)細節(jié)所羈絆,迅速掌握編寫高質量Android應用所需的知識?本書針對這個問題給出了完美的答案!它從Android繁雜的源代碼中抽取出了Android開發(fā)的“精華”和“要點”,剝離了大量瑣碎的底層實現(xiàn)細節(jié),進行了高度概括和總結,不僅能幫助開發(fā)者迅速從宏觀上理解整個Android系統(tǒng)的設計理念,而且能幫助開發(fā)者迅速從微觀上掌握核心知識點的原理,從而編寫出高質量的Android應用。
本書共13章,在邏輯上分為4個部分。第一部分(1-2章):第1章系統(tǒng)介紹了Android的系統(tǒng)架構、核心模塊和設計思想,旨在讓讀者真正理解它的設計理念;第2章講解了Android源代碼的獲取、編譯、閱讀和編輯的方法。第二部分(3-6章):第3章深入闡述了Android組件機制的設計理念和重要特征,并詳細介紹了4大組件的方法和原理;第4章講解了Intent對象和Android的意圖機制,闡明了Android是如何將來自不同應用、不同進程的組件整合在一起的;第5章解析了Android中各個組件的生命周期,包括組件的進程模型和線程模型;第6章從開發(fā)的角度詳細闡述了組件間數(shù)據(jù)傳遞的解決方案,以及它們的優(yōu)缺點和適用場景。第三部分(7-8章):第7章深入講解了Android的控件框架,結合實際項目對重要控件的實現(xiàn)和使用逐一進行了分析,還包含Android
4.0界面開發(fā)的實踐“精華”;第8章分析了Android的資源體系,剖析了Android底層對資源的處理。第4部分(9-13章):第9章講解了Android的數(shù)據(jù)存儲結構,以及不同數(shù)據(jù)存儲模式的使用要點;第10章分析了Android的各種網(wǎng)絡連接方式,涵蓋NFC和基于Wifi的P2P連接等內(nèi)容;第11章講解了Android的定位服務、地址解析服務、地圖服務的框架實現(xiàn);第12章仔細分析了Android各種多媒體功能的實現(xiàn)機制;第13章對Android中比較有特色的一些模塊的實現(xiàn)細節(jié)進行了分析。

作者簡介

  范懷宇,資深Android開發(fā)工程師,畢業(yè)于清華大學,從事移動開發(fā)多年,對Android系統(tǒng)有頗為深入的研究,開發(fā)經(jīng)驗十分豐富。曾就職于網(wǎng)易有道,負責完成了有道詞典Android版、網(wǎng)易掌上郵Android版、網(wǎng)易八方Android版等項目的開發(fā)工作,現(xiàn)就職于豌豆實驗室,負責豌豆莢2.0版本的設計和開發(fā)。很早開始從事Android開發(fā),曾參加ADC1大賽。關注新技術,喜歡閱讀源碼和寫技術文章,活躍于博客園、Chrome開發(fā)群和Top
Language討論組等多個社群組織。

書籍目錄

前言
致謝
第1章 Android的系統(tǒng)架構
1.1 Android系統(tǒng)架構概況
1.1.1 應用層
1.1.2 框架層
1.1.3 運行時
1.1.4 核心類庫
1.1.5 硬件抽象層和Linux內(nèi)核
1.2 Android的核心功能模塊
1.2.1 界面框架
1.2.2 數(shù)據(jù)存儲
1.2.3 網(wǎng)絡通信
1.2.4 地理信息
1.2.5 圖形和多媒體處理
1.2.6 外部設備
1.2.7 特色功能模塊
1.3 Android的架構特征和設計思想
1.3.1 平臺開放性
1.3.2 基于組件的應用設計
1.3.3 基于網(wǎng)絡服務的平臺
1.4 小結
第2章 Android源代碼的下載和編譯
2.1 Android源代碼的獲取和編譯
2.1.1 環(huán)境搭建
2.1.2 源代碼獲取
2.1.3 源代碼的編譯
2.2 Android源代碼結構
2.2.1 框架層源代碼目錄frameworks
2.2.2 應用層源代碼目錄packages
2.2.3 其他源代碼目錄
2.3 Android源代碼的閱讀和編輯
2.3.1 用Eclipse閱讀源代碼
2.3.2 反饋Bug
2.3.3 提交修改
2.4 小結
第3章 Android組件模型解析
3.1 基于Mashup的應用設計
3.1.1 Android中的Mashup
3.1.2 基于Mashup的Android應用模型
3.1.3 基于Mashup的應用架構特征
3.2 界面組件Activity解析
3.2.1 界面組件的功能和特征
3.2.2 界面組件的開發(fā)
3.2.3 界面組件的數(shù)據(jù)結構
3.3 服務組件Service解析
3.3.1 服務組件的功能和特征
3.3.2 服務組件的開發(fā)和使用
3.3.3 服務組件的進程間通信模型
3.4 觸發(fā)器組件Broadcast Receiver解析
3.4.1 觸發(fā)器組件的功能和特征
3.4.2 觸發(fā)器組件的使用
3.4.3 廣播事件的發(fā)送
3.5 數(shù)據(jù)源組件Content Provider解析
3.5.1 數(shù)據(jù)源組件的定位和操作
3.5.2 數(shù)據(jù)源組件的開發(fā)
3.5.3 數(shù)據(jù)源組件的實現(xiàn)細節(jié)
3.6 應用配置文件解析
3.6.1 權限配置
3.6.2 環(huán)境配置
3.6.3 應用和組件配置
3.7 小結
第4章 Android的Intent機制
4.1 Intent對象的作用和構成
4.1.1 Intent對象的作用
4.1.2 Intent對象的構成
4.1.3 Intent對象解析
4.1.4 Intent Filter對象
4.2 意圖匹配
4.2.1 意圖匹配的算法流程
4.2.2 匹配組件的選擇
4.2.3 意圖匹配的優(yōu)化
4.3 意圖機制的應用
4.3.1 意圖機制在界面組件中的應用
4.3.2 意圖機制在服務組件中的應用
4.3.3 意圖機制在觸發(fā)器組件中的應用
4.4 小結
第5章 組件生命周期解析
5.1 應用進程模型
5.1.1 應用、組件和進程
5.1.2 組件的應用進程配置
5.2 應用進程托管
5.2.1 為什么需要進程托管
5.2.2 進程優(yōu)先級
5.2.3 進程回收算法
5.2.4 進程的強行終止
5.2.5 掌控進程的優(yōu)先級
5.3 組件的生命周期模型
5.3.1 界面組件的生命周期
5.3.2 服務組件的生命周期
5.3.3 觸發(fā)器組件的生命周期
5.3.4 數(shù)據(jù)源組件的生命周期
5.3.5 應用環(huán)境的生命周期
5.4 任務和界面組件棧
5.4.1 界面組件的運行模式
5.4.2 組件的任務黏度
5.4.3 實際應用中的任務控制
5.5 小結
第6章 組件間的數(shù)據(jù)傳輸
6.1 利用Intent對象進行數(shù)據(jù)傳輸
6.1.1 利用Intent對象回傳數(shù)據(jù)
6.1.2 利用Intent對象傳遞數(shù)據(jù)的優(yōu)缺點
6.2 利用文件進行數(shù)據(jù)共享
6.2.1 利用文件進行數(shù)據(jù)共享的實現(xiàn)
6.2.2 利用文件進行數(shù)據(jù)共享的優(yōu)缺點
6.3 利用應用環(huán)境的全局數(shù)據(jù)共享
6.3.1 利用應用環(huán)境對象共享數(shù)據(jù)的實現(xiàn)
6.3.2 利用應用環(huán)境對象共享數(shù)據(jù)的優(yōu)缺點
6.4 利用組件共享數(shù)據(jù)
6.4.1 利用數(shù)據(jù)源組件共享數(shù)據(jù)
6.4.2 利用服務組件共享數(shù)據(jù)
6.5 小結
第7章 Android控件解析
7.1 Android的控件框架
7.1.1 Android控件構成
7.1.2 Android交互事件傳輸
7.1.3 Android控件屬性
7.1.4 控件的丈量和繪制
7.2 Android的窗口機制
7.2.1 窗口機制的基本原理
7.2.2 界面組件和窗口
7.2.3 對話框
7.2.4 彈出窗口
7.3 Android的基本控件介紹
7.3.1 文本控件
7.3.2 圖像控件
7.3.3 Surface控件
7.3.4 Layout控件
7.3.5 適配器控件
7.3.6 選項卡控件
7.3.7 瀏覽器控件
7.4 自定義控件
7.4.1 控件的定制
7.4.2  復合控件
7.4.3 自繪控件
7.5 Android界面新發(fā)展
7.5.1 動作欄
7.5.2 界面片段
7.5.3 重新定制選項卡
7.5.4 交互界面的適配
7.6 小結
第8章 應用資源
8.1 Android應用資源體系
8.1.1 Android的應用資源構成
8.1.2 應用資源的適配
8.1.3 應用資源的動態(tài)匹配
8.2 應用資源的調(diào)用
8.2.1 應用資源的編譯和R類
8.2.2 應用資源的管理
8.2.3 使用應用資源
8.3 應用資源的類型
8.3.1 界面和樣式
8.3.2 字符串和常量
8.3.3 圖像、圖形和動畫
8.3.4 其他資源文件
8.4 小結
第9章 數(shù)據(jù)存儲
9.1 Android的文件系統(tǒng)
9.1.1 Android的目錄結構
9.1.2 Android的應用數(shù)據(jù)存儲
9.1.3 Android的文件操作
9.2 使用設置文件
9.2.1 設置文件的存儲和使用
9.2.2 設置界面組件
9.3 使用數(shù)據(jù)庫
9.3.1 Android數(shù)據(jù)庫實現(xiàn)
9.3.2 Android數(shù)據(jù)庫的使用
9.4 存儲在云端
9.4.1 云端存儲的架構
9.4.2 云端存儲的使用
9.5 小結
第10章 網(wǎng)絡通信
10.1 Web通信
10.1.1 基于HTTP的網(wǎng)絡連接
10.1.2 聯(lián)網(wǎng)方式的選擇
10.1.3 WiFi的管理
10.2 藍牙
10.2.1 Android的藍牙實現(xiàn)
10.2.2 基于藍牙的通信
10.3 近場通信
10.3.1 基于NFC的識別和通信
10.3.2 基于NFC的點對點通信
10.4 基于WiFi連接的P2P通信
10.4.1 Android 4.0的P2P連接實現(xiàn)
10.4.2 使用Socket進行數(shù)據(jù)傳輸
10.5 小結
第11章 地理信息服務
11.1 Android的定位服務
11.1.1 定位服務框架
11.1.2 位置信息源
11.1.3 定位選擇
11.1.4 定位實例
11.2 Android的地址服務
11.2.1 地址服務的框架
11.2.2 使用地址服務
11.3 Android的地圖服務
11.3.1 使用地圖
11.3.2 其他使用地圖服務的方式
11.4 小結
第12章 多媒體處理
12.1 Android的圖像處理
12.1.1 圖像的表示
12.1.2 圖像的讀取和輸出
12.1.3 圖像的呈現(xiàn)
12.1.4 圖像的管理
12.2 Android的音視頻處理
12.2.1 Android音視頻的支持框架
12.2.2 Android音視頻的播放
12.2.3 Android音視頻的錄制
12.3 Android中相機的使用
12.4 小結
第13章 其他重要模塊
13.1 通話和短信
13.1.1 Android的通話和短信框架
13.1.2 通話的處理
13.1.3 短信的發(fā)送和接收
13.2 App Widget的使用和實現(xiàn)
13.2.1 Android的App Widget框架
13.2.2 App Widget的界面構造和Remote Views
13.2.3 App Widget的事件處理和Pending Intent
13.3 Android的應用內(nèi)搜索
13.3.1 Android應用內(nèi)搜索實現(xiàn)框架
13.3.2 為應用定制搜索功能
13.3.3 全局搜索功能
13.4 Android的全局通知機制
13.4.1 全局通知的類型和實現(xiàn)
13.4.2 Toast的使用
13.4.3 狀態(tài)欄通知
13.5 Android聯(lián)系人處理
13.5.1 Android聯(lián)系人數(shù)據(jù)存儲框架
13.5.2 Android聯(lián)系人操作
13.6 小結

章節(jié)摘錄

版權頁:   插圖:   4.1.2 Intent對象的構成 Intent對象的這些作用,都是通過它的實現(xiàn)和設計體現(xiàn)出來的。從數(shù)據(jù)結構來看,Intent類的實現(xiàn)非常簡單,它并沒有包含復雜的邏輯功能,只是包含著若干個數(shù)據(jù)項。 Action項 在日常生活中描述自己的意愿或愿望時,總是用一個表達動作的詞作為意愿的核心。比如:我要吃飯、我想寫書、我要做俯臥撐,等等,其中的“吃”、“寫”、“做”都是在說明整個意愿的動作,是整個意愿表達的核心之一。 在Intent中,Action就是用來表達動作的。當調(diào)用組件指明了一個Action,執(zhí)行組件就會依照這個動作的指示,接受相關的輸入,執(zhí)行對應的操作,生成所期望的輸出。在實現(xiàn)上,Action是一個字符串,可以調(diào)用Intent.setAction函數(shù)為Intent對象指定一個動作,也可以通過Intent.getAction函數(shù)讀取Intent對象中的動作信息。為了保持動作的唯一性和實現(xiàn)的可擴展性,Action的命名格式遵循Java包的命名規(guī)范,比如可以這樣自定義一個表示“吃”的動作: com. duguhome.sample.action.ACTION_EAT 其中,com.duguhome.sample是應用的包名,action表示定義的是一個Action動作,而ACTION_EAT,則具體指明了該動作的含義。 在Android的Intent類中,定義了很多標準的動作,比如:Intent.ACTION_VIEW、Intent.ACTION_PICK等。這些標準動作約定了Android組件間的通信規(guī)范,保證了組件系統(tǒng)的可擴展性,使得那些相互獨立的組件能夠通過這些標準的Action信息彼此溝通。 如果系統(tǒng)預設的這些“標準動作”不能滿足應用的需求,則各個應用都可以自行定義擴展。但與這些“標準動作”相比,自定義的Action不常用在跨應用的通信中,而僅應用于內(nèi)部組件的通信。

媒體關注與評論

要成為真正的Android開發(fā)高手,要開發(fā)出高質量的Android應用,必須對Android系統(tǒng)的實現(xiàn)原理和工作機制有較深入的理解。然而,整個Android系統(tǒng)非常龐大且錯綜復雜,要通過源代碼理解它,不僅需要較深技術功底,而且需要投入大量時間,門檻和成本都非常高。為了讓基礎不那么扎實又沒有充足時間去研究Android源代碼的讀者也能明白它的原理,本書對它的原理進行了高度概括和抽象,不僅能使讀者迅速掌握Android系統(tǒng)的工作機制,而且還能深刻理解系統(tǒng)中各核心模塊和服務的實現(xiàn)原理,對希望迅速提高應用開發(fā)水平的讀者非常有幫助,強烈推薦!——51CTO移動開發(fā)頻道

編輯推薦

《Android開發(fā)精要》編輯推薦:資深Android專家經(jīng)驗之作,51CTO和開源中國社區(qū)聯(lián)袂推薦!高度抽象Android系統(tǒng)的設計理念和底層實現(xiàn)機制,全面概括Android實現(xiàn)原理的“要點”和實際開發(fā)中的“精華”,為開發(fā)高質量Android應用提供絕佳指導!

名人推薦

要成為真正的Android開發(fā)高手,要開發(fā)出高質量的Android應用,必須對Android系統(tǒng)的實現(xiàn)原理和工作機制有較深入的理解。然而,整個Android系統(tǒng)非常龐大且錯綜復雜,要通過源代碼理解它,不僅需要較深技術功底,而用需要投入大量時間,技術門檻和成本都非常高。為了讓基礎不那么扎實又沒有充足時間去研究Andmid源代碼的讀者也能叫白它的原理,本書對它的原理進行了高度概括和抽象,不僅能使讀者迅速掌握Android系統(tǒng)的工作機制,而且還能深刻理解系統(tǒng)中各核心模塊和服務的實現(xiàn)原理,對希望迅速提高應用開發(fā)水平的讀者非常有幫助,強烈推薦! ——51CTO移動開發(fā)頻道

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    Android開發(fā)精要 PDF格式下載


用戶評論 (總計51條)

 
 

  •   首先說一下,這本書我才看了3章,但已經(jīng)感覺不得不上來推薦一下了!先一句話概況一下,這本書,不適合初學者,但對于希望android開發(fā)水平能從入門再往上升一步的同學,是必備的!目前市面上的android圖書多如牛毛,但絕大多數(shù)都內(nèi)容十分雷同,無非就是介紹各種控件的使用和幾大組件的用法,隨便找一本看了就能開工干一些簡單的活了。但是對android系統(tǒng)很多背后的機理,在這一階段是霧里看花基本搞不清楚的,我的感覺就是很多程序都能寫了,但背后的原理幾乎一無所知,對android系統(tǒng)的總體設計架構和思想也沒有清晰的概念。市面上也有不少書是深入研究android內(nèi)部機理的圖書,但這類書一般上來就談linux內(nèi)核,android源代碼,對于我這種菜鳥又太過艱深了。而這本書不一樣,作者站在一個比一本入門書籍更高的高度,用十分精煉準確但并不晦澀的語言為我們展示出了android系統(tǒng)的框架設計思想,很多平時寫程序時遇到的困惑,讀著讀著不經(jīng)意間就明白了,這種感覺真是太好了。原來我迷信國外的技術書籍,基本是有原版的就買原版的,沒原版的就買翻譯的,基本不買國內(nèi)作者寫的。原因是被國內(nèi)的垃圾書傷透了心。但近年來很多國內(nèi)的年輕作者嶄露頭角,寫的書質量十分的高,而且語言比看那些翻譯書不知道要流暢多少倍,這種情況真是令人欣喜。這些作者很多都是各大技術公司的骨干,在中國寫技術書是既費力又賺不到錢的,他們肯花時間把自己的心...得寫出來,應該就是對技術那種最單純的熱愛吧,這樣的國產(chǎn)圖書,已經(jīng)遠遠不再是過去那種大學老師找研究生拼湊或者專業(yè)出版工作室拼湊出來的那種垃圾國產(chǎn)書了,推薦大家多多關注這樣的圖書 閱讀更多 ›
  •   內(nèi)容還是不錯的,但是對整個android系統(tǒng)來說 很多內(nèi)容都沒涉及到.書的印刷不錯.
  •   看了一些 ,內(nèi)容充實,不過細節(jié) 講得不深!!
  •   有時候感覺太抽象了,建議沒有代碼積累的人最好繞道
  •   跟很多android的書不同,深入解剖了android開發(fā)的精要,通過這本書,再不是從表面簡單地區(qū)了解它,而是開始學習其原理
  •   感覺還不錯,不過不適合新手
  •   在介紹android框架的一些原理方面,比較深入,有參考價值
  •   書的內(nèi)容很不錯,只是對我這種初學者來說有點吃力
  •   基本上都涵蓋了,對于新手來說講得不是太細。
  •   個人認為,這是一本絕對的好書,不像同類書,講一些使用方法,它更側重于原理。值得擁有。
  •   這本書講的不是很精確,只是但當涉獵而已。但是內(nèi)容還可以,從另外一種角度解析Android,沒事的時候可以學習學習!??!
  •   這個書對于新手來說幾乎沒用,里面講的都是 深入的,合適 掌握初級知識后的提高
  •   盡扯大段的理論,描述又不簡明,還不用實例,實在空洞
  •   與那些雷同的翻譯類新手指南比,這本書這種闡述android開發(fā)需要掌握的概念,以及之前的關聯(lián),簡明扼要。
  •   作者果然是大牛,將系統(tǒng)代碼從思想的層次上用簡單易懂的語言寫出來,昨天到書,昨晚無意翻看了下就愛不釋手了。有點看小說的狀態(tài)。
  •   前7章,內(nèi)容精要。值得一讀。
  •   內(nèi)容比較全面,整體感覺不錯
  •   可以精讀
  •   學習android開發(fā)就靠這本書了
  •   稍稍看了下
  •   android開發(fā)精要
  •     知其然知其所以然,比市面上靠各種sdk例子和wiki翻譯搭砌起來的書要好的多。
      
      有一點不太習慣的是,作者把大部分英文術語翻譯成中文,比如activity翻譯成界面組件,經(jīng)常一下就略過去了,沒認出來。了解作者的良苦用心,但術語盡量不要翻譯了,反而影響閱讀效率。
  •     讀了幾章,文字簡潔,思路清晰,很不錯!
      
      找了好久,才找到一本合我口味的書!
      
      其它很多書不是過于細節(jié),就是照抄SDK文檔。。。
      
      實在提不起興趣!
      
      繼續(xù)拜讀。。。
      
      --------------------我是分割線----------------------------------------------
      
      不是吧?寫了這么多還嫌短??
  •     各部分都講得比較詳細,新手快速了解android全貌,以及作為工具書收藏很有必要。
      但對android設計思想并沒有很深刻得刻畫,多數(shù)對設計思想的描述如官方所述,只講是什么,沒解釋清楚為什么,但我看這書目的是為了深入了解為什么,所以本處沒能很好回答我這個問題。
      
      但總的來說,這本書可以一讀。
  •     從動手寫這本書,到正式出版,歷經(jīng)了兩年多的時光。其間,由于工作壓力,有一年的時間只字未添,有很多章節(jié)不斷的易稿整理補充新的內(nèi)容,在幾多糾結后總算是能面世見人。
      
      兩年多前,Android開發(fā)還是一個比較新鮮的領域,好書難覓,任何復雜一些的框架機制和實現(xiàn)模式,都需要摸爬滾打自行揣摩。于是決意要寫一本書,把自己從事Android開發(fā)的一些經(jīng)驗總結,和對源碼的學習了解,都整理出來。最早我給這本書的名字,與我博客上的一些文章同名,名曰『深入理解Android』,目標是把Android的一些核心機制的實現(xiàn)以及開發(fā)中常遇到的問題都剖析清楚,不僅能把底層實現(xiàn)說透了,更重要的是能夠和實際開發(fā)關聯(lián)的更為緊密。
      
      我不希望這本書在講解某項功能時有特別完整的例子,而只是提供經(jīng)過實戰(zhàn)考驗的代碼片段,因為我覺得,完整的例子就像一個裝修完好的房子,會把一些模式和場景限定的太死板,約束了閱讀時的思維,而代碼片段就像設計精巧的樂高積木,可以有更豐富的可能性。我也不想在寫底層邏輯時直接大段大段的貼代碼,而是把其中邏輯整理成更為清晰的文字和圖表,這樣才能使得略顯枯燥的內(nèi)容變得更為生動活潑易于理解。此外,我也不想把這本書做成面面俱到的手冊,只是把我覺得重要的核心機制和真實遇到過的內(nèi)容呈現(xiàn)出來即可,因為這些內(nèi)容是我理解的最好最深刻,也是我最能幫助到其他人的地方。
      
      但隨著寫作的深入,我發(fā)現(xiàn)我對“書”的理解還是太淺薄,停留在了“博客”層面。作為一本介紹機理和實現(xiàn)的書,完整性還是很重要的,因為書的讀者不是像博文讀者,是通過搜索某個小問題來閱讀的,而是需要一個更為整體的學習。所以,在寫作期間,我也不斷的對一些我原來了解的不夠清楚的地方,不斷學習和實踐,把一些我原本認為不太重要的細節(jié)也一挖再挖以求全面,文字上,也把啰嗦花哨的部分全部略去,力求簡單明了偶爾有趣。這些工作耗費了更多的精力和時間,使的出版日期不斷跳票,不過能夠使得整本書的內(nèi)容更為完整易讀,還是非常令人開心的事情。
      
      在出版前,書名最終更改為了『Android開發(fā)精要』,主要原因是和傳統(tǒng)的『深入理解XXX』書籍相比,這本書看上去并沒有那么深入,沒有對具體代碼細節(jié)的詮釋,沒有對一些特別底層的內(nèi)容進行剖析。而精要二字,一方面指的是“精華”,即Android的一些核心機制,比如進程托管,組件模型之類的;另一方面,指的是“要點”,即一些實際經(jīng)驗的整理,比如界面構造、大內(nèi)存控制,云云。我覺得這個書名雖然看著很冷僻,但也使得這本書更貼近它的讀者群,因為我本就是想為普通Android應用開發(fā)者寫一些東西。
      
      時至今日,Android開發(fā)儼然成了最熱門的工種之一,相關書籍多如牛毛,方方面面涵蓋甚廣。而這本書,也不是非常能契合我最早的預期,由于工作壓力,時間、精力、能力都十分有限,實在沒有辦法做到盡善盡美,書中還是有不少地方,我覺得寫得并不是很透。即便如此,我還是相信這本書能夠幫助到不少人,這種自信來自于平常的工作中,因為時常有同學遇到問題的時候,我都可以說:“這問題我書里有寫,在某某章節(jié),可以去看看”。
  •     一直想找一本書,能夠簡潔明了的把andriod的架構、設計原理講清楚,也就是先開了我的竅,在此基礎上再學習實用細節(jié)會更加快速,牛人終于出書滿足俺這種需求了。牛人寫的書,要好好拜讀,學習android開發(fā)就靠這本書了
  •     ~要成為真正的Android開發(fā)高手,要開發(fā)出高質量的Android應用,必須對Android系統(tǒng)的實現(xiàn)原理和工作機制有較深入的理解。然而,整個Android系統(tǒng)非常龐大且錯綜復雜,要通過源代碼理解它,不僅需要較深技術功底,而且需要投入大量時間,門檻和成本都非常高。為了讓基礎不那么扎實又沒有充足時間去研究Android源代碼的讀者也能明白它的原理,本書對它的原理進行了高度概括和抽象,不僅能使讀者迅速掌握Android系統(tǒng)的工作機制,而且還能深刻理解系統(tǒng)中各核心模塊和服務的實現(xiàn)原理,對希望迅速提高應用開發(fā)水平的讀者非常有幫助,強烈推薦!
  •   的確如樓主所述,這本書給人一個android大致輪廓,深入的內(nèi)容幾乎沒有,感覺有些走馬觀花,實戰(zhàn)性不強。
  •   絕對要頂,絕對要支持。有些遺憾是出的有些晚。
  •   最欣賞作者又牛逼又謙虛,跟我一樣。
  •   請問這書有電子版可買么?
  •   @任文山
    不好意思,還沒有。
  •   @duguguiyu
    在國外工作,買紙質書挺不方便的,如果能有電子版就好了
  •   @任文山
    我和出版社聯(lián)系下看看,國內(nèi)這方面貌似很不發(fā)達。
  •   @duguguiyu
    對啊,看評論最近有一些好書出版,尤其是Android深入這一塊的。如果能有電子版,其實會很方便 (不過也可能讓盜版更容易:p),而且技術書,看電子版其實會更方便。
    國外很多計算機類的都有電子版可以購買,價格跟紙質本一樣,或者略低一點兒(但肯定沒有郵費)。
  •   有樣章么,試讀一下。
  •   @zircon_1973
    不知啊。感興趣的話可以看看我的博客:flyvenus.net
  •   書已經(jīng)拿到手,閑暇翻閱,嘿嘿。
  •   @zircon_1973
    感謝支持,歡迎討論。
  •   今天在書店看到,都是切實的經(jīng)驗總結,實際開發(fā)中都會用到。
  •   啥時候出開發(fā)精要2啊,可以講講實際項目會用到的架構和設計模式,哈哈。
  •   為什么打開你的博客要求填寫登錄名和密碼呢?
  •   域名過期了。。。
  •   可惜啊,我剛剛開始學安卓開發(fā),正在讀你的這本書,很贊很喜歡,本來還打算圍觀一下原作者的博客~
  •   可以看看 www.cnblogs.com/duguguiyu
  •   這幾天我一直在看這本書,是我看過幾本android書中很有深度的一本,準備看完再重頭看一次
  •   超過很多老外寫的技術文檔,值得讀!多讀,至少3遍后,突然眼前一亮,我靠,以前的項目簡直是垃圾,范老師。。。
  •   美中不足就是,出處太少了,要是能夠融入些思想的原始文檔就更好了。還有就是繁簡的搭配在合理些。
  •   希望再出一版融入一些新的技術的說明。
  •   窮學生表示多看電子版40大洋略貴...還是先去圖書館借了,另外豌豆莢現(xiàn)在越來越臃腫了,希望以后越來越好,簡便,好用,體驗好。
  •   決定到亞馬遜去買來看看,支持作者的一片心意。
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7