出版時間:2012-7 出版社:電子工業(yè)出版社 作者:馬爾科·加爾根塔 頁數(shù):261 字?jǐn)?shù):426000 譯者:李亞舟,任中龍,杜鋼
Tag標(biāo)簽:無
前言
本書源自于Marakana Android 訓(xùn)練營幾年來的培訓(xùn)課程,其學(xué)員包括數(shù)千名工作于全球四大洲中頂尖移動設(shè)備公司的軟件開發(fā)人員。在教授這門課程的過程中,隨著時間的推移,我逐漸發(fā)現(xiàn)了其中有效與無效的內(nèi)容。在Marakana開發(fā)了Android訓(xùn)練營培訓(xùn)課程之后,我又對其進(jìn)行了數(shù)次巨大的調(diào)整,終于將其中的精華凝結(jié)為此書?! ≡贘ava還未被稱為Java之前,我就已經(jīng)開始使用它了。從一開始,我就對嵌入式開發(fā)非常感興趣,因為這樣我就可以在日常生活中的各種設(shè)備上編程。后來Java在Web應(yīng)用開發(fā)領(lǐng)域中得到極大發(fā)展,因此我之前十年的經(jīng)驗主要集中在構(gòu)建大型企業(yè)系統(tǒng)上。然后Android出現(xiàn)了,我再一次興奮地投入到為非計算機設(shè)備開發(fā)軟件的工作中。而我現(xiàn)在的興趣,是在那些甚至不是手機的設(shè)備上使用Android。 本書會向了解Java(或者某種相似的語言)的人,講解如何開發(fā)一個適度復(fù)雜的Android應(yīng)用程序。我希望你能夠感到本書非常容易理解,并且以實例為基礎(chǔ)的學(xué)習(xí)過程能讓你感到相當(dāng)有動力。本書的目標(biāo)是使你按照Android的方式來“思考”?! ?nèi)容簡介 第1章,Android概述 簡單介紹Android及其歷史。 第2章,Android的架構(gòu) 從全局的角度概括地介紹了Android操作系統(tǒng)及其各部分?! 〉?章,快速入門 幫助你配置Android應(yīng)用程序開發(fā)環(huán)境。 第4章,基本構(gòu)件 講解開發(fā)人員用于創(chuàng)建一個應(yīng)用程序的Android組件。 第5章,Yamba項目簡介 講解我們會貫穿全書的Yamba應(yīng)用程序,并通過一個例子來學(xué)習(xí)Android的諸多特性。 第6章,Android用戶界面 講解如何為你的應(yīng)用程序設(shè)計用戶界面?! 〉?章,首選項、文件系統(tǒng)、選項菜單及Intent 介紹一些操作系統(tǒng)中能夠簡化開發(fā)人員工作的特性?! 〉?章,服務(wù) 介紹如何創(chuàng)建一個Android服務(wù)來處理后臺任務(wù)?! 〉?章,數(shù)據(jù)庫 講解Android框架對內(nèi)置SQLite數(shù)據(jù)庫的支持,以及如何在你的應(yīng)用程序中使用其來保存數(shù)據(jù)?! 〉?0章,列表與適配器 介紹Android的一個重要特性,它允許大數(shù)據(jù)集合高效地鏈接較小的屏幕?! 〉?1章,廣播接收器(Broadcast Receiver) 介紹了如何應(yīng)用Android中的“發(fā)布-訂閱”機制來響應(yīng)系統(tǒng)和用戶定義的各種消息?! 〉?2章,內(nèi)容提供器(Content Provider) 介紹如何設(shè)計一個內(nèi)容提供器在應(yīng)用程序之間共享數(shù)據(jù),在本章中,我們將通過它來讓應(yīng)用程序小部件在主屏幕上顯示數(shù)據(jù)?! 〉?3章, 系統(tǒng)服務(wù) 介紹可供開發(fā)者利用的一些系統(tǒng)服務(wù)?! 〉?4章,Android接口描述語言(AIDL) 介紹如何構(gòu)建一個進(jìn)程間通信機制,使得另一個應(yīng)用程序可以遠(yuǎn)程訪問一個服務(wù)?! 〉?5章,Native Development Kit(NDK) 介紹在你的應(yīng)用程序中編寫本地C代碼?! ≈轮x 本書之付梓面世離不開大家的協(xié)作。首先,要感謝O'Reilly的編輯Andy Oram和BrianJepson。Andy,你的建議總是一針見血,讓我受益良多。Brian,感謝你說服我開始本書的寫作?! 「兄x我的所有技術(shù)編輯:Dan Bornstein、Hervé Guihot、Frank Maker III和Bill Schrickel。感謝你們孜孜不倦地審讀我未成形的原稿,以及你們提供的寶貴建議?! ]有我們在大量客戶端上所做的實際測試,本書肯定不是現(xiàn)在的樣子。你們絕對是Android的先驅(qū)者,你們的項目令人印象深刻。感謝你們的信任?! 「兄x我在Marakana的團(tuán)隊:Aleksandar (Sa·a) Gargenta、Ken Jones和Laurent Tonon。你們使用本書的原稿作為Android Bootcamp的教材,并給了我第一手的反饋。這里要特別感謝曾多次督促我回到寫字臺的Sa·a:如果沒你深刻的技術(shù)評論,本書很可能幾個月就草草了事了?! ∽詈?,深深地感謝我深愛的妻子Lisa和女兒Kylie。我知道當(dāng)我一心撲在寫作上時你們所做出的犧牲。感謝你們對我一如既往的支持。
內(nèi)容概要
《Learning
Android(中文版)》為Android開發(fā)入門圖書,循序漸進(jìn)地介紹了如何利用Android基本構(gòu)件來實現(xiàn)構(gòu)造用戶界面、存儲數(shù)據(jù)、連接網(wǎng)絡(luò)等實踐中必不可少的需求。本書以親手實現(xiàn)一個類Twitter的應(yīng)用為主線,通過不斷為其添加功能展開講解。而這一學(xué)習(xí)過程積累出的代碼模式庫,可以靈活運用于真實Android應(yīng)用開發(fā)。本書內(nèi)容包括但不限于:Android平臺概覽、Android設(shè)計架構(gòu)、Android開發(fā)環(huán)境配置、基本Android的用戶界面構(gòu)建、UI元件組織方法、構(gòu)建執(zhí)行后臺任務(wù)與更新數(shù)據(jù)的服務(wù)、AIDL與NDK介紹等。
作者簡介
Marko Gargenta,是舊金山Marakana培訓(xùn)公司的創(chuàng)始人與首席Android專家。他創(chuàng)建了Android
Bootcamp與AndroidInternals兩門課程,并培訓(xùn)了來自四大洲超過1000名開發(fā)者。他的客戶包括高通、索尼愛立信、摩托羅拉、夏普、思科與美國國防部。
書籍目錄
前言
第1章 Android概述
概述
完整性
開源平臺
為移動設(shè)備而設(shè)計
歷史
Google的動機
開放手持設(shè)備聯(lián)盟
Android的版本
總結(jié)
第2章 Android的架構(gòu)
架構(gòu)概述.
Linux系統(tǒng)
可移植性
安全性
豐富的特性
本地庫
Dalvik 虛擬機
Android與Java
應(yīng)用程序框架
應(yīng)用程序
APK文件
應(yīng)用程序簽名
應(yīng)用程序發(fā)布
總結(jié)
第3章 快速入門
安裝Android SDK
設(shè)置PATH環(huán)境變量
安裝 Eclipse
Eclipse的工作區(qū)
安裝Android 開發(fā)工具
Hello, World程序
創(chuàng)建新項目
Manifest文件
Layout(布局)XML代碼
Strings(字符串)文件
R(資源)文件
Java源碼文件
仿真器
仿真器和真機
總結(jié).
第4章 基本構(gòu)件
什么是基本構(gòu)件
一個實際的例子
活動(Activity)
活動的生命周期
Intent
服務(wù)(Service)
內(nèi)容提供器(Content Provider).
廣播接收器(Broadcast Receiver)
應(yīng)用程序上下文(Application Context)
總結(jié).
第5章 Yamba項目簡介
Yamba 應(yīng)用程序
設(shè)計原則
項目設(shè)計
第1部分:Android用戶界面
構(gòu)建一個活動
網(wǎng)絡(luò)和多線程
調(diào)試Android 程序
第2部分:首選項、文件系統(tǒng)、選項菜單及Intent 活動
菜單系統(tǒng)與Intent.
文件系統(tǒng)
第3部分:Android服務(wù)
服務(wù)應(yīng)用程序?qū)ο?br />第4部分:使用數(shù)據(jù)庫.
SQLite及Android對它的支持
再次重構(gòu)代碼
第5部分:列表(List)與適配器(Adapter)
時間軸(Timeline)活動
再重構(gòu)一次
第6部分:廣播接收器(Broadcast Receiver)
啟動接收器與網(wǎng)絡(luò)連接接收器
時間軸(Timeline)接收器
權(quán)限
第7部分:內(nèi)容提供器(Content Provider)
狀態(tài)數(shù)據(jù)
Android小部件
第8部分:系統(tǒng)服務(wù)
指南針與位置
Intent服務(wù)、提醒及通知、總結(jié)
第6章 Android用戶界面
創(chuàng)建用戶界面的兩種方法
聲明式的用戶界面
編程式的用戶界面
各取所長
控件與布局
LinearLayout
TableLayout
FrameLayout
RelativeLayout
AbsoluteLayout
啟動Yamba項目
StatusActivity布局
控件的重要屬性
字符串資源
StatusActivity Java類
編寫具體應(yīng)用的對象,以及初始化相關(guān)代碼
保存文件:編譯代碼和構(gòu)建項目
添加庫jtwitter.jar
更新Manifest文件,獲取Internet權(quán)限
Android的日志機制
LogCat
Android的線程機制
單線程執(zhí)行
多線程執(zhí)行
AsyncTask.
其他UI事件
添加圖片與色彩
添加圖片
添加色彩
多版本資源文件
優(yōu)化用戶界面
Hierarchy Viewer 工具
總結(jié)
第7章 首選項、文件系統(tǒng)、選項菜單及Intent
首選項
資源文件
PrefsActivity類
修改Manifest文件
選項菜單
菜單的資源文件
Android系統(tǒng)資源.
更新StatusActivity,加載菜單
更新StatusActivity,捕獲菜單事件
字符串資源
Shared Preferences
文件系統(tǒng)簡介
瀏覽文件系統(tǒng)
文件系統(tǒng)的分區(qū)
系統(tǒng)分區(qū)
SDCard 分區(qū).
用戶數(shù)據(jù)分區(qū)
文件系統(tǒng)的安全機制
總結(jié)
第8章 服務(wù)
Yamba的Application對象
YambaApplication類
更新Manifest文件
簡化 StatusActivity
UpdaterService
創(chuàng)建 UpdaterService Java類
更新Manifest文件
添加菜單項
更新選項菜單的事件處理
測試服務(wù)
在服務(wù)中循環(huán)
測試服務(wù)
從 Twitter 讀取數(shù)據(jù)
測試服務(wù)
總結(jié)
第9章 數(shù)據(jù)庫
關(guān)于 SQLite
DbHelper類
數(shù)據(jù)庫模式及其創(chuàng)建
4種主要操作
游標(biāo)
第一個例子
修改UpdaterService
測試服務(wù)
數(shù)據(jù)庫約束
重構(gòu)數(shù)據(jù)庫訪問
總結(jié)
第10章 列表與適配器
TimelineActivity
TimelineActivity的基本布局
ScrollView簡介
創(chuàng)建TimelineActivity類
關(guān)于適配器
為TimelineActivity添加ListView
創(chuàng)建一個單行消息布局
在TimelineActivity.java中創(chuàng)建適配器
TimelineAdapter
ViewBinder: 取代TimelineAdapter的更好選擇
更新Manifest文件
程序初始設(shè)置
Base Activity
服務(wù)開關(guān)
總結(jié)
第11章 廣播接收器(Broadcast Receiver)
關(guān)于Broadcast Receiver
BootReceiver
將BootReceiver注冊到AndroidManifest文件
測試 Boot Receiver
TimelineReceiver
廣播Intent.
Network Receiver.
添加用于發(fā)送和接收廣播的自定義權(quán)限
在Manifest文件中聲明權(quán)限
為更新服務(wù)應(yīng)用權(quán)限機制
為TimelineReceiver應(yīng)用權(quán)限機制
總結(jié)
第12章 內(nèi)容提供器(Content Provider)
創(chuàng)建Content Provider.
定義URI
插入數(shù)據(jù)
更新數(shù)據(jù)
刪除數(shù)據(jù)
查詢數(shù)據(jù)
獲取數(shù)據(jù)類型
更新Android Manifest文件
在小部件中使用Content Provider
實現(xiàn)YambaWidget類
創(chuàng)建XML布局
創(chuàng)建AppWidgetProviderInfo文件
更新Manifest文件
測試小部件
總結(jié)
第13章 系統(tǒng)服務(wù)
實例:指南針.
使用系統(tǒng)服務(wù)的一般步驟
獲取指南針的更新
指南針的主活動
自定義的表盤小部件
位置服務(wù)
實例: Where Am I
用上位置服務(wù),重構(gòu)Yamba
更新首選項
更新Yamba程序.
更新Status Activity
Intent服務(wù)
Alarms
在首選項中添加Interval選項
更新BootReceiver
發(fā)送通知
總結(jié)
第14章 Android接口描述語言.
實現(xiàn)遠(yuǎn)程服務(wù)
編寫AIDL
實現(xiàn)服務(wù)
實現(xiàn)一個Parcel
注冊到Manifest文件
實現(xiàn)遠(yuǎn)程客戶端
綁定到遠(yuǎn)程服務(wù)
測試運行
總結(jié)
第15章 Native Development Kit (NDK)
NDK是什么
NDK的功能
工具鏈
打包庫文件
文檔與標(biāo)準(zhǔn)頭文件
NDK實例:計算菲波那契數(shù)列
FibLib
JNI 頭文件
C 實現(xiàn)
Makefile
構(gòu)建共享庫
Fibonacci Activity
測試所有的工作
總結(jié)
索引
章節(jié)摘錄
版權(quán)頁: 插圖: 如上,這都是一些很直接的需求。通過使用Android提供的構(gòu)件,你可以輕松地將以上需求分解成各個概念性的單元,從而單獨實現(xiàn)它們,然后再將它們拼起來形成一個完整的包。 活動(Activity) 一個活動(activity),通常是用戶在某一時刻,存設(shè)備上看到的單獨界面。一個應(yīng)用程序通常含有多個活動,用戶可在其間進(jìn)行切換。對用戶而言,這就是程序的外觀部分。我通常使用網(wǎng)站來比喻活動。就像一個含有多個網(wǎng)頁的網(wǎng)站一樣,Android程序也包含多個活動。如同網(wǎng)站有一個“主頁”一樣,Android程序也有一個“主活動”(mainactivity)——通常是啟動程序時顯示的第一個界面。為了方便用戶在多個頁面之間跳轉(zhuǎn),網(wǎng)站會提供導(dǎo)航功能,Android程序也應(yīng)該有同樣的功能。 在網(wǎng)絡(luò)上,你可以從某網(wǎng)站的一個頁面跳轉(zhuǎn)到另一個網(wǎng)站的頁面。類似地,在Android中,你可以在一個應(yīng)用程序中查看某個活動,隨后又可以啟動另一個完全獨立的應(yīng)用程序中的其他活動。例如,在聯(lián)系人應(yīng)用程序中,你選擇向某個朋友發(fā)送信息,然后就會啟動短信息應(yīng)用程序的活動,供你書寫短信息。 活動的生命周期 啟動一個活動可能會消耗大量資源。它可能會涉及新建一個Linux進(jìn)程、為UI對象申請內(nèi)存空間、從XML布局填充所有對象,以及創(chuàng)建整個界向。既然我們在啟動一個活動上花費了這么多工夫,一旦用戶離開該界面,如果只是將它銷毀那就實在太浪費了。為了避免這種浪費,Android通過活動管理器(Activity Manager)來管理活動的生命周期。 活動管理器負(fù)責(zé)創(chuàng)建、銷毀和管理活動。例如,當(dāng)用戶第一次啟動了一個應(yīng)用程序,活動管理器會創(chuàng)建它的活動,并將活動顯示到界面上。隨后,當(dāng)用戶切換界面時,活動管理器會將之前這個活動移動到其他地方。這樣,如果用戶想退回到之前的活動,就可以更加快速地啟動這個活動。用戶不再使用的舊活動,過一段時候后會被銷毀,以便為當(dāng)前活動釋放更多的空間。這個機制可以幫助提高用戶界面的速度,并改進(jìn)整個用戶體驗。
編輯推薦
《Learning Android(中文版)》是由電子工業(yè)出版社出版。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載