Android系統(tǒng)源代碼情景分析

出版時間:2012-10  出版社:電子工業(yè)出版社  作者:羅升陽  頁數(shù):830  字?jǐn)?shù):1570000  
Tag標(biāo)簽:無  

前言

雖然Android系統(tǒng)自2008年9月發(fā)布第一個版本1.0以來,截至2011年10月發(fā)布最新版本4.0,一共存在十多個版本,但是據(jù)官方統(tǒng)計(jì),截至2012年3月5日,占據(jù)首位的是Android 2.3,市場占有率達(dá)到66.5%;其次是Android 2.2,市場占有率為25.3%;第三位是Android 2.1,市場占有率為6.6%;而最新發(fā)布的Android 3.2和Android 4.0的市場占有率只有3.3%和2%。因此,在本書中,我們選擇了Android 2.3的源代碼來分析Android系統(tǒng)的實(shí)現(xiàn),一是因?yàn)閺哪壳皝碚f,它的基礎(chǔ)架構(gòu)是最穩(wěn)定的;二是因?yàn)樗鞘褂米顝V泛的。本書內(nèi)容全書分為初識Android系統(tǒng)篇、Android專用驅(qū)動系統(tǒng)篇和Android應(yīng)用程序框架篇三個部分。初識Android系統(tǒng)篇包含三個章節(jié)的內(nèi)容,主要介紹Android系統(tǒng)的基礎(chǔ)知識。第1章介紹與Android系統(tǒng)有關(guān)的參考書籍,以及Android源代碼工程環(huán)境的搭建方法;第2章介紹Android系統(tǒng)的硬件抽象層;第3章介紹Android系統(tǒng)的智能指針。讀者可能會覺得奇怪,為什么一開始就介紹Android系統(tǒng)的硬件抽象層呢?因?yàn)樯婕坝布?,它似乎是一個深奧的知識點(diǎn)。其實(shí)不然,Android系統(tǒng)的硬件抽象層無論是從實(shí)現(xiàn)上,還是從使用上,它的層次都是非常清晰的,而且從下到上涵蓋了整個Android系統(tǒng),包括Android系統(tǒng)在用戶空間和內(nèi)核空間的實(shí)現(xiàn)。內(nèi)核空間主要涉及硬件驅(qū)動程序的編寫方法,而用戶空間涉及運(yùn)行時庫層、應(yīng)用程序框架層及應(yīng)用程序?qū)?。因此,盡早學(xué)習(xí)Android系統(tǒng)的硬件抽象層,有助于我們從整體上去認(rèn)識Android系統(tǒng),以便后面可以更好地分析它的源代碼。在分析Android系統(tǒng)源代碼的過程中,經(jīng)常會碰到智能指針,第3章我們就重點(diǎn)分析Android系統(tǒng)智能指針的實(shí)現(xiàn)原理,也是為了后面可以更好地分析Android系統(tǒng)源代碼。Android專用驅(qū)動系統(tǒng)篇包含三個章節(jié)的內(nèi)容。我們知道,Android系統(tǒng)是基于Linux內(nèi)核來開發(fā)的,但是由于移動設(shè)備的CPU和內(nèi)存配置都要比PC低,因此,Android系統(tǒng)并不是完全在Linux內(nèi)核上開發(fā)的,而是在Linux內(nèi)核里面添加了一些專用的驅(qū)動模塊來使它更適合于移動設(shè)備。這些專用的驅(qū)動模塊同時也形成了Android系統(tǒng)的堅(jiān)實(shí)基礎(chǔ),尤其是Logger日志驅(qū)動程序、Binder進(jìn)程間通信驅(qū)動程序,以及Ashmem匿名共享內(nèi)存驅(qū)動程序,它們在Android系統(tǒng)中被廣泛地使用。在此篇中,我們分別在第4章、第5章和第6章分析Logger日志系統(tǒng)、Binder進(jìn)程間通信系統(tǒng)和Ashmem共享內(nèi)存系統(tǒng)的實(shí)現(xiàn)原理,為后面深入分析Android應(yīng)用程序的框架打下良好的基礎(chǔ)。Android應(yīng)用程序框架篇包含十個章節(jié)的內(nèi)容。我們知道,在移動平臺中,Android系統(tǒng)、iOS系統(tǒng)和Windows Phone系統(tǒng)正在形成三足鼎立之勢,誰的應(yīng)用程序更豐富、質(zhì)量更高、用戶體驗(yàn)更好,誰就能取得最終的勝利。因此,每個平臺都在盡最大努力吸引第三方開發(fā)者來為其開發(fā)應(yīng)用程序。這就要求平臺必須提供良好的應(yīng)用程序架構(gòu),以便第三方開發(fā)者可以將更多的精力集中在應(yīng)用程序的業(yè)務(wù)邏輯上,從而開發(fā)出數(shù)量更多、質(zhì)量更高和用戶體驗(yàn)更好的應(yīng)用程序。在此篇中,我們將從組件、進(jìn)程、消息和安裝四個維度來分析Android應(yīng)用程序的實(shí)現(xiàn)框架。第7章到第10章分析Android應(yīng)用程序四大組件Activity、Service、Broadcast Receiver和Content Provider的實(shí)現(xiàn)原理;第11章和第12章分析Android應(yīng)用程序進(jìn)程的啟動過程;第13章到第15章分析Android應(yīng)用程序的消息處理機(jī)制;第16章分析Android應(yīng)用程序的安裝和顯示過程。學(xué)習(xí)了這些知識之后,我們就可以掌握Android系統(tǒng)的精髓了。本書特點(diǎn)本書從初學(xué)者的角度出發(fā),結(jié)合具體的使用情景,在縱向和橫向上對Android系統(tǒng)的源代碼進(jìn)行了全面、深入、細(xì)致的分析。在縱向上,采用從下到上的方式,分析的源代碼涉及了Android系統(tǒng)的內(nèi)核層(Linux Kernel)、硬件抽象層(HAL)、運(yùn)行時庫層(Runtime)、應(yīng)用程序框架層(Application Framework)以及應(yīng)用程序?qū)樱ˋpplication),這有利于讀者從整體上掌握Android系統(tǒng)的架構(gòu)。在橫向上,從Android應(yīng)用程序的組件、進(jìn)程、消息以及安裝四個角度出發(fā),全面地剖析了Android系統(tǒng)的應(yīng)用程序框架層,這有利于讀者深入地理解Android應(yīng)用程序的架構(gòu)以及運(yùn)行原理。作 者

內(nèi)容概要

  在內(nèi)容上,本書結(jié)合使用情景,全面、深入、細(xì)致地分析Android系統(tǒng)的源代碼,涉及到Linux內(nèi)核層、硬件抽象層(HAL)、運(yùn)行時庫層(Runtime)、應(yīng)用程序框架層(Application
Framework)以及應(yīng)用程序?qū)?Application)。在組織上,本書將上述內(nèi)容劃分為初識Android系統(tǒng)、Android專用驅(qū)動系統(tǒng)和Android應(yīng)用程序框架三大篇章。初識Android系統(tǒng)篇介紹了參考書籍、基礎(chǔ)知識以及實(shí)驗(yàn)環(huán)境搭建;Android專用驅(qū)動系統(tǒng)篇介紹了Logger日志驅(qū)動程序、Binder進(jìn)程間通信驅(qū)動程序以及Ashmem匿名共享內(nèi)存驅(qū)動程序;Android應(yīng)用程序框架篇從組件、進(jìn)程、消息以及安裝四個維度來對Android應(yīng)用程序的框架進(jìn)行了深入的剖析。通過上述內(nèi)容及其組織,本書能使讀者既能從整體上把握Android系統(tǒng)的層次結(jié)構(gòu),又能從細(xì)節(jié)上去掌握每一個層次的要點(diǎn)。

作者簡介

羅升陽,1984年出生,2007年畢業(yè)于浙江大學(xué)計(jì)算機(jī)系,取得學(xué)士學(xué)位,2010年畢業(yè)于上海交通大學(xué)計(jì)算機(jī)系,取得碩士學(xué)位。畢業(yè)后一直從事于互聯(lián)網(wǎng)軟件開發(fā),并且致力于移動平臺的研究,特別是對Android平臺有深入的理解和研究。在國內(nèi)知名IT技術(shù)社區(qū)CSDN上發(fā)表了數(shù)十篇高質(zhì)量的Android系統(tǒng)原創(chuàng)性文章,并且開設(shè)博客專欄--《老羅的Android之旅》,積極與網(wǎng)友互動,深受大家喜愛,訪問量一直居于前茅。

書籍目錄

第1篇 初識Android系統(tǒng)
第1章 準(zhǔn)備知識
1.1 Linux內(nèi)核參考書籍
1.2 Android應(yīng)用程序參考書籍
1.3 下載、編譯和運(yùn)行Android源代碼
1.3.1 下載Android源代碼
1.3.2 編譯Android源代碼
1.3.3 運(yùn)行Android模擬器
1.4 下載、編譯和運(yùn)行Android內(nèi)核源代碼
1.4.1 下載Android內(nèi)核源代碼
1.4.2 編譯Android內(nèi)核源代碼
1.4.3 運(yùn)行Android模擬器
1.5 開發(fā)第一個Android應(yīng)用程序
1.6 單獨(dú)編譯和打包Android應(yīng)用程序模塊
1.6.1 導(dǎo)入單獨(dú)編譯模塊的mmm命令
1.6.2 單獨(dú)編譯Android應(yīng)用程序模塊
1.6.3 重新打包Android系統(tǒng)鏡像文件
第2章 硬件抽象層
2.1 開發(fā)Android硬件驅(qū)動程序
2.1.1 實(shí)現(xiàn)內(nèi)核驅(qū)動程序模塊
2.1.2 修改內(nèi)核Kconfig文件
2.1.3 修改內(nèi)核Makefile文件
2.1.4 編譯內(nèi)核驅(qū)動程序模塊
2.1.5 驗(yàn)證內(nèi)核驅(qū)動程序模塊
2.2 開發(fā)C可執(zhí)行程序驗(yàn)證Android硬件驅(qū)動程序
2.3 開發(fā)Android硬件抽象層模塊
2.3.1 硬件抽象層模塊編寫規(guī)范
2.3.2 編寫硬件抽象層模塊接口
2.3.3 硬件抽象層模塊的加載過程
2.3.4 處理硬件設(shè)備訪問權(quán)限問題
2.4 開發(fā)Android硬件訪問服務(wù)
2.4.1 定義硬件訪問服務(wù)接口
2.4.2 實(shí)現(xiàn)硬件訪問服務(wù)
2.4.3 實(shí)現(xiàn)硬件訪問服務(wù)的JNI方法
2.4.4 啟動硬件訪問服務(wù)
2.5 開發(fā)Android應(yīng)用程序來使用硬件訪問服務(wù)
第3章 智能指針
3.1 輕量級指針
3.1.1 實(shí)現(xiàn)原理分析
3.1.2 應(yīng)用實(shí)例分析
3.2 強(qiáng)指針和弱指針
3.2.1 強(qiáng)指針的實(shí)現(xiàn)原理分析
3.2.2 弱指針的實(shí)現(xiàn)原理分析
3.2.3 應(yīng)用實(shí)例分析
第2篇 Android專用驅(qū)動系統(tǒng)
第4章 Logger日志系統(tǒng)
4.1 Logger日志格式
4.2 Logger日志驅(qū)動程序
4.2.1 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)
4.2.2 日志設(shè)備的初始化過程
4.2.3 日志設(shè)備文件的打開過程
4.2.4 日志記錄的讀取過程
4.2.5 日志記錄的寫入過程
4.3 運(yùn)行時庫層日志庫
4.4 C/C++日志寫入接口
4.5 Java日志寫入接口
4.6 Logcat工具分析
4.6.1 相關(guān)數(shù)據(jù)結(jié)構(gòu)
4.6.2 初始化過程
4.6.3 日志記錄的讀取過程
4.6.4 日志記錄的輸出過程
第5章 Binder進(jìn)程間通信系統(tǒng)
5.1 Binder驅(qū)動程序
5.1.1 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)
5.1.2 Binder設(shè)備的初始化過程
5.1.3 Binder設(shè)備文件的打開過程
5.1.4 Binder設(shè)備文件的內(nèi)存映射過程
5.1.5 內(nèi)核緩沖區(qū)管理
5.2 Binder進(jìn)程間通信庫
5.3 Binder進(jìn)程間通信應(yīng)用實(shí)例
5.4 Binder對象引用計(jì)數(shù)技術(shù)
5.4.1 Binder本地對象的生命周期
5.4.2 Binder實(shí)體對象的生命周期
5.4.3 Binder引用對象的生命周期
5.4.4 Binder代理對象的生命周期
5.5 Binder對象死亡通知機(jī)制
5.5.1 注冊死亡接收通知
5.5.2 發(fā)送死亡接收通知
5.5.3 注銷死亡接收通知
5.6 Service Manager的啟動過程
5.6.1 打開和映射Binder設(shè)備文件
5.6.2 注冊為Binder上下文管理者
5.6.3 循環(huán)等待Client進(jìn)程請求
5.7 Service Manager代理對象的獲取過程
5.8 Service組件的啟動過程
5.8.1 注冊Service組件
5.8.2 啟動Binder線程池
5.9 Service代理對象的獲取過程
5.10 Binder進(jìn)程間通信機(jī)制的Java接口
5.10.1 Service Manager的Java代理對象的獲取過程
5.10.2 Java服務(wù)接口的定義和解析
5.10.3 Java服務(wù)的啟動過程
5.10.4 Java服務(wù)代理對象的獲取過程
5.10.5 Java服務(wù)的調(diào)用過程
第6章 Ashmem匿名共享內(nèi)存系統(tǒng)
6.1 Ashmem驅(qū)動程序
6.1.1 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)
6.1.2 匿名共享內(nèi)存設(shè)備的初始化過程
6.1.3 匿名共享內(nèi)存設(shè)備文件的打開過程
6.1.4 匿名共享內(nèi)存設(shè)備文件的內(nèi)存映射過程
6.1.5 匿名共享內(nèi)存塊的鎖定和解鎖過程
6.1.6 匿名共享內(nèi)存塊的回收過程
6.2 運(yùn)行時庫cutils的匿名共享內(nèi)存訪問接口
6.3 匿名共享內(nèi)存的C++訪問接口
6.3.1 MemoryHeapBase
6.3.2 MemoryBase
6.3.3 應(yīng)用實(shí)例
6.4 匿名共享內(nèi)存的Java訪問接口
6.4.1 MemoryFile
6.4.2 應(yīng)用實(shí)例
6.5 匿名共享內(nèi)存的共享原理
第3篇 Android應(yīng)用程序框架
第7章 Activity組件的啟動過程
7.1 Activity組件應(yīng)用實(shí)例
7.2 根Activity組件的啟動過程
7.3 子Activity組件在進(jìn)程內(nèi)的啟動過程
7.4 子Activity組件在新進(jìn)程中的啟動過程
第8章 Service組件的啟動過程
8.1 Service組件應(yīng)用實(shí)例
8.2 Service組件在新進(jìn)程中的啟動過程
8.3 Service組件在進(jìn)程內(nèi)的綁定過程
第9章 Android系統(tǒng)廣播機(jī)制
9.1 廣播機(jī)制應(yīng)用實(shí)例
9.2 廣播接收者的注冊過程
9.3 廣播的發(fā)送過程
第10章 Content Provider組件的實(shí)現(xiàn)原理
10.1 Content Provider組件應(yīng)用實(shí)例
10.1.1 ArticlesProvider
10.1.2 Article
10.2 Content Provider組件的啟動過程
10.3 Content Provider組件的數(shù)據(jù)共享原理
10.3.1 數(shù)據(jù)共享模型
10.3.2 數(shù)據(jù)傳輸過程
10.4 Content Provider組件的數(shù)據(jù)更新通知機(jī)制
10.4.1 注冊內(nèi)容觀察者
10.4.2 發(fā)送數(shù)據(jù)更新通知
第11章 Zygote和System進(jìn)程的啟動過程
11.1 Zygote進(jìn)程的啟動腳本
11.2 Zygote進(jìn)程的啟動過程
11.3 System進(jìn)程的啟動過程
第12章 Android應(yīng)用程序進(jìn)程的啟動過程
12.1 應(yīng)用程序進(jìn)程的創(chuàng)建過程
12.2 Binder線程池的啟動過程
12.3 消息循環(huán)的創(chuàng)建過程
第13章 Android應(yīng)用程序的消息處理機(jī)制
13.1 創(chuàng)建線程消息隊(duì)列
13.2 線程消息循環(huán)過程
13.3 線程消息發(fā)送過程
13.4 線程消息處理過程
第14章 Android應(yīng)用程序的鍵盤消息處理機(jī)制
14.1 鍵盤消息處理模型
14.2 InputManager的啟動過程
14.2.1 創(chuàng)建InputManager
14.2.2 啟動InputManager
14.2.3 啟動InputDispatcher
14.2.4 啟動InputReader
14.3 InputChannel的注冊過程
14.3.1 創(chuàng)建InputChannel
14.3.2 注冊Server端InputChannel
14.3.3 注冊系統(tǒng)當(dāng)前激活的應(yīng)用程序窗口
14.3.4 注冊Client端InputChannel
14.4 鍵盤消息的分發(fā)過程
14.4.1 InputReader獲得鍵盤事件
14.4.2 InputDispatcher分發(fā)鍵盤事件
14.4.3 系統(tǒng)當(dāng)前激活的應(yīng)用程序窗口獲得鍵盤消息
14.4.4 InputDispatcher獲得鍵盤事件處理完成通知
14.5 InputChannel的注銷過程
14.5.1 銷毀應(yīng)用程序窗口
14.5.2 注銷Client端InputChannel
14.5.3 注銷Server端InputChannel
第15章 Android應(yīng)用程序線程的消息循環(huán)模型
15.1 應(yīng)用程序主線程消息循環(huán)模型
15.2 與界面無關(guān)的應(yīng)用程序子線程消息循環(huán)模型
15.3 與界面相關(guān)的應(yīng)用程序子線程消息循環(huán)模型
第16章 Android應(yīng)用程序的安裝和顯示過程
16.1 應(yīng)用程序的安裝過程
16.2 應(yīng)用程序的顯示過程

章節(jié)摘錄

版權(quán)頁:   插圖:   成員變量proc指向一個Binder實(shí)體對象的宿主進(jìn)程。在Binder驅(qū)動程序中,這些宿主進(jìn)程通過一個binder_proc結(jié)構(gòu)體來描述。宿主進(jìn)程使用一個紅黑樹來維護(hù)它內(nèi)部所有的Binder實(shí)體對象,而每一個Binder實(shí)體對象的成員變量rb_node就正好是這個紅黑樹中的一個節(jié)點(diǎn)。如果一個Binder實(shí)體對象的宿主進(jìn)程已經(jīng)死亡了,那么這個Binder實(shí)體對象就會通過它的成員變量dead_node保存在一個全局的hash列表中。 由于一個Binder實(shí)體對象可能會同時被多個Client組件引用,因此,Binder驅(qū)動程序就使用結(jié)構(gòu)體binder_ref來描述這些引用關(guān)系,并且將引用了同一個Binder實(shí)體對象的所有引用都保存在一個hash列表中。這個hash列表通過Binder實(shí)體對象的成員變量refs來描述,而Binder驅(qū)動程序通過這個成員變量就可以知道有哪些Client組件引用了同一個Binder實(shí)體對象。 成員變量internal_strong_refs和local_Strong_refs均是用來描述一個Binder實(shí)體對象的強(qiáng)引用計(jì)數(shù),而成員變量local_weak_refs用來描述一個Binder實(shí)體對象的弱引用計(jì)數(shù)。當(dāng)一個Binder實(shí)體對象請求一個Service組件來執(zhí)行某一個操作時,會增加該Service組件的強(qiáng)引用計(jì)數(shù)或者弱引用計(jì)數(shù),相應(yīng)地,Binder實(shí)體對象會將其成員變量has_strong_ref和has_weak_ref的值設(shè)置為1。當(dāng)一個Service組件完成一個Binder實(shí)體對象所請求的操作之后,Binder實(shí)體對象就會請求減少該Service組件的強(qiáng)用計(jì)數(shù)或者弱引用計(jì)數(shù)。Binder實(shí)體對象在請求一個Service組件增加或者減少強(qiáng)引用計(jì)數(shù)或者弱引用計(jì)數(shù)的過程中,會將其成員變量pending_strong_ref或者pending_weak_ref的值設(shè)置為1;而當(dāng)該Service組件增加或者減少了強(qiáng)引用計(jì)數(shù)或者弱引用計(jì)數(shù)之后,Binder實(shí)體對象就會將這兩個成員變量的值設(shè)置為0。

媒體關(guān)注與評論

強(qiáng)大的羅大師,感謝你的Android之旅,我已看完你的6篇教程,雖然我目前還不太懂,但是我相信你就是我打開它的那把鑰匙,再次感謝你的教程?!狜mutex_js老羅,寫的太精彩啦!不僅僅是在Android 按鍵機(jī)制方面令人受益匪淺,給我在學(xué)習(xí)其他模塊上也提供了一套很好的分析思路。非常感謝!——@yuleslie看你的文章,收獲很多,分析得很透徹,思路清晰,前后呼應(yīng),成系統(tǒng),對我?guī)椭艽螅浅8兄x你的無私奉獻(xiàn)!——@kenen2006你的博客給了我一種非常刺激的體驗(yàn),讓我更深層次地認(rèn)識Android。非常感謝你的講解,太棒了!——@stevenhu_223我真的想放棄這個行業(yè),可我看到你的博客,讓我看到了希望,讓我充滿了信心和堅(jiān)定!——@zhudeqing看過幾本Andriod方面的書,但還真比不上這里的博客。羅老師的Linux內(nèi)核知識及對軟件架構(gòu)的知識積累用功很深,代碼閱讀能力也很強(qiáng)!膜拜!——@herodie我是看你的博客開始學(xué)Android的,寫的真的太好了。每一個系列都自成一體,無需其他參考。從頂?shù)较露寄艽揭黄?,這樣看起來最痛快了!——@hellowolrd本人語言功底也不是很好,所以系統(tǒng)學(xué)習(xí)Android也經(jīng)歷了不少困難。3個多月了,反反復(fù)復(fù)閱讀你的博文;每一次都有進(jìn)步,每一次的進(jìn)步也都有不同的方向。謝謝!技術(shù)的道路上真沒有捷徑,更不可以偷懶。我將不懈努力!謝謝博主,期待您能出書!——@tankai19880619剛看到老羅的這篇新作,還挺熱乎的。忍不住分N口氣讀完,膜拜!讀完后,有些有意思的想法,從文章本身來看,很精彩。這篇文章老羅至少說明了一下問題:1. 兩種最典型的使用場景及他們的區(qū)別 (UI相關(guān)與否);2. 引出來兩種線程消息處理模型;3. 用實(shí)例解釋兩種模型是如何使用的;4. 最后介紹兩種模型的是怎樣實(shí)現(xiàn)的。該文章不但告訴我們 what(該文的主旨)、how (怎樣使用),還有why(怎么實(shí)現(xiàn))。偶的神,一篇文章里寫了這么多,還能寫的這么清楚。不容易啊!——@rambo2188太牛了!我是一個剛從事Android開發(fā)的新人,你的文章 真是入木三分,讀了很有啟發(fā),你的這種分析Android方式很棒!為了造福更多的Android學(xué)習(xí)者,建議你出書!——@yang105我覺得也許學(xué)習(xí)這些知識并不算難,可是要做到時刻有一個清晰的思路去學(xué)并且能夠把學(xué)過東西用通俗易懂的話語表達(dá)出來挺難的。必盡自身知識有限,有些東西可能一下子無法深刻理解。樓主是怎么做到的呢?感覺樓主的每篇文章都講的精練透徹,主要是能把問題全講出來。我想樓主的知識面一定很廣!——@wantianpei

編輯推薦

《Android系統(tǒng)源代碼情景分析》能使讀者既能從整體上把握Android系統(tǒng)的層次結(jié)構(gòu),又能從細(xì)節(jié)上去掌握每一個層次的要點(diǎn)。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    Android系統(tǒng)源代碼情景分析 PDF格式下載


用戶評論 (總計(jì)124條)

 
 

  •   從Android應(yīng)用開發(fā)轉(zhuǎn)型Android系統(tǒng)支持,相信這本書會對我起一個很好的引導(dǎo)作用,我也對未來的工作充滿了信心,補(bǔ)充一點(diǎn)就是當(dāng)當(dāng)?shù)呐渌驼娴暮芸?,比系統(tǒng)預(yù)期時間快了一天,贊一個!
  •   之前在CSDN上看作者的博客,有了想買這本書的沖動,拿到書后,發(fā)現(xiàn)那不是沖動,值得買!剛開始看,覺得能夠?qū)ψ约河袔椭?。書很大,很厚,A4紙小一點(diǎn),3~4厘米厚,認(rèn)真看完,對Android的掌握應(yīng)該會上升一定的高度!
  •   在國內(nèi)能買到的中文Android源代碼相關(guān)的書中,這本最適合新手學(xué)習(xí)了!
  •   入門Android系統(tǒng)的好讀物,跟隨書本的內(nèi)容學(xué)習(xí),一定會有很大的收獲
  •   需要內(nèi)核開發(fā)基礎(chǔ),而且手頭最好準(zhǔn)備好android源碼。
  •   深入、細(xì)致地掌握Android,這本書是首選
  •   書不錯,里面android開發(fā)的過程講解的很詳細(xì),包括碰到的一些問題怎么處理
  •   如果想對android有比較深入的理解,那這本書肯定是比較不錯的
  •   一直在閱讀作者的博客才入門android,非常不錯。值得購買。
  •   學(xué)習(xí)android源碼的好書,很受用
  •   學(xué)android幾個月,這本 書真心不錯 ,看了這么久,好多 都沒有 研究透,有待以后好好琢磨了,很 值得擁有 的一本 書
  •   此書寫的很好,就是有點(diǎn)看不懂。剛剛又買了兩本將Linux的書
  •   適合有一定Linux基礎(chǔ)的人看。另外書非常的厚重,可以當(dāng)枕頭用
  •   終于看完這本書了,將的知識點(diǎn)還是挺多的,過程的解析也比較全面,只是有部分錯誤??傮w來說還行,只是寫這本書的人不咋的。
  •   書收到時已經(jīng)破損,不知道是野蠻快遞還是出庫就是殘本。書的內(nèi)容不錯,就這樣了。
  •   老羅的書,看著不錯,學(xué)習(xí)一下,希望對自己有所幫助
  •   老羅的博客是我一直關(guān)注的,他出的書,一定要看的
  •   書到了,發(fā)貨挺快,老羅的博客看了很多,相信書不會讓我失望。
  •   老羅的書 沒問題 值得看啊
  •   書是很好的,支持老羅!
  •   拿到書感覺好厚,呵呵,先重點(diǎn)看了第二單,感覺寫的不錯。
  •   很不錯的書,當(dāng)當(dāng)?shù)姆?wù)也很到位,第一次送的書封皮有點(diǎn)問題,申請換貨之后,馬上就處理,這個非常滿意。
  •   這本書是經(jīng)過別人推薦的,還沒開始看,感覺如果對象對內(nèi)核有所了解,這應(yīng)該是不錯的書,有點(diǎn)貴啊,呵呵
  •   內(nèi)容基礎(chǔ)些,不知道為什么書質(zhì)會像盜版書。。。紙質(zhì)偏薄,字有些不清晰
  •   剛拿到,還沒看。當(dāng)當(dāng)?shù)奈锪魉俣群喼背?,贊一個
  •   書不錯,理解很深入。
  •   難得的好書,值得一看,分析一目了然,很詳細(xì)具體
  •   這個作為工具用書 感覺很好 值得你選擇
  •   好大一本書,真的完全可以當(dāng)枕頭!送貨速度挺快的。。。書里面有一頁紙偏大被折疊了,這個是個小小的遺憾
  •   對于源碼的分析很不錯,值得一看
  •   書的內(nèi)容和blog上相差不大,更加細(xì)化和具體,非常細(xì)化,支持!
  •   ha還沒看不知道
  •   第一次在網(wǎng)上買書,很好,很強(qiáng)大。以后不用去書店買書了,哈哈。
  •   剛剛收到還沒看,感覺不錯,內(nèi)容比較豐富。唯一缺點(diǎn)就是紙張有點(diǎn)薄
  •   這本書寫得很好,比書店也便宜不少
  •   我要認(rèn)真學(xué)習(xí)了,這本書是同事推薦買的。
  •   這本書非常好,解釋詳細(xì),邏輯清晰,強(qiáng)烈推薦。
  •   書好厚,還沒看,網(wǎng)上看過幾章,寫的非常好
  •   書的質(zhì)量很好,確實(shí)不錯啊~
  •   書本整體質(zhì)量不錯,就是有部分頁碼的文字印刷有重影
  •   寫到太詳細(xì)了,有點(diǎn)基礎(chǔ)的再看比較合適
  •   這幾本書都不錯、內(nèi)容不錯,當(dāng)當(dāng)也挺給力了!
  •   很好啊,學(xué)習(xí)
  •   非常不錯,認(rèn)真閱讀中...
  •   不錯,寫得很充實(shí),內(nèi)容比較深
  •   雖然全書都是代碼,解釋,如果看下來,收獲定會不小。
  •   這本書不錯,值得推薦??!
  •   內(nèi)容深, 不適合入門
  •   挺好,內(nèi)容還沒有仔細(xì)看
  •   什么也別說了,當(dāng)當(dāng)速度也很快。
  •   送貨速度快,印刷好。
  •   非常好,謝謝了
    書好物流也快
  •   寶貝有光盤哦,實(shí)用價值很高,而且看一下可以提高自己的技能 。
  •   這本很好,很豐富
  •   還不錯,,東西還行,送貨速度不慢。
  •   買了一段時間了,才看了一章,要學(xué)c++,不然看不懂這書
  •   書寫的不錯,是根據(jù)代碼來寫的
  •   書不錯,可惜快遞暴力,給下方弄破了。希望當(dāng)當(dāng)約束下快遞啊。
  •   剛收到,書的內(nèi)容不錯,就是包裝上,以及封面上有折痕和破損,哎,將就看吧
  •   非常不錯的書,適合初學(xué)者!內(nèi)容講的非常詳細(xì)
  •   書內(nèi)容很不錯,值得推薦
  •   正在研究 ,應(yīng)該不錯?。?!
  •   服務(wù)很好吧,,,
  •   很好很強(qiáng)大,早就想買了,不過要有耐心看得下去!
  •   幫同事買的,作者是84年生,寫了這么一大厚本,佩服
  •   書收到了,有分量,也有光盤
  •   很厚實(shí)的書,送給LG的,還有一張光盤。
  •   還沒開始讀,都說不錯,給個好評。
  •   書籍破損?。。?/li>
  •   不錯的安卓書籍,只是還沒看多少
  •   非常好啊啊非常好啊啊非常好啊啊非常好啊啊非常好啊啊非常好啊啊
  •   有的方法原先完全沒有意識到,作者很大程度上幫忙理順了
  •   書很厚看上去是正版,非常不錯的書啊
  •   書還挺不錯的送貨也快
  •   很是不錯 值得研究
  •   媽的,我買的時候是86.2元,過一天就變成81.8元了
  •   貌似很厲害的樣子還沒怎么讀
  •   不錯快看完了
  •   不適合初學(xué)者,~~~~~~
  •   值得看看啦
  •   打算先看Linux驅(qū)動開發(fā)。沒有這個這方面知識,看起來太吃力了。
  •   看了老羅的博客,覺得還是看看書吧,程序猿老師趴電腦面前不好哦.
  •   幫助學(xué)習(xí)很有好處,按照其中的介紹,可以搭建一些初級的應(yīng)用!
  •   說是含CD一張,結(jié)果拿到書時,封面已經(jīng)被壓壞了,也沒有CD。因?yàn)橐郧坝性诋?dāng)當(dāng)買書,缺少東西的經(jīng)歷,那次是聯(lián)系了數(shù)次客服,最后不了了之了,所以這次也不想找了,以后自己多注意吧。
  •   有兩本沒光盤。實(shí)在是不知道怎么回事。
  •   分析的很不錯,可以看看
  •   書內(nèi)容很好。。。正讀中。。。
  •   這本書挺好,挺滿意,只是還沒開始看!
  •   物流特別慢,到了也不通知
  •   書看起來內(nèi)容挺豐富的,還不錯
  •   書還不錯,但沒網(wǎng)上的講的多
  •   還不錯,好厚一本,有的看了
  •   一般吧 很厚 希望會有用
  •   有時間好好研究一下
  •   就是有些地方寫的稍微有些跳躍.
  •   書壞了 盤爛了
  •   幫別人買的,不錯的書。
  •   挺好的,雖然還沒怎么看
  •   這本值得慢慢研究
  •   從底層了解andoid
 

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

京ICP備13047387號-7