Android開發(fā)完全講義(第二版)
-
【作 者】李寧 編著
【I S B N 】978-7-5084-9465-4
【責(zé)任編輯】張玉玲
【適用讀者群】科技
【出版時(shí)間】2012-04-27
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數(shù)】656
【千字?jǐn)?shù)】925
【印 張】41
【定 價(jià)】¥82
【叢 書】暫無分類
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
國內(nèi)覆蓋面最廣的Android開發(fā)指南,國內(nèi)著名Android社區(qū)eoeandroid極力推薦。
本書內(nèi)容全面,詳細(xì)講解Android框架、Android用戶接口、Android組件、Android的數(shù)據(jù)存儲(chǔ)解決方案、Android的4種可跨平臺(tái)通信的組件(Activity、Service、Broadcast和ContentProvider)、網(wǎng)絡(luò)、繪圖、多媒體、2D動(dòng)畫、OpenGL ES、資源、國際化、訪問Android手機(jī)的硬件、實(shí)時(shí)壁紙、實(shí)時(shí)文件夾、NDK(利用C/C++開發(fā)可運(yùn)行在Android上的應(yīng)用程序)、腳本語言(Python、Lua、Perl等)、手勢(shì)輸入、文字語音轉(zhuǎn)換(TTS)、藍(lán)牙等技術(shù),在本書的最后給出了兩個(gè)完整的例子:“萬年歷”和“知道當(dāng)前位置的Google GTalk機(jī)器人”。
本書適合有一定的Java基礎(chǔ),想通過Android進(jìn)入移動(dòng)開發(fā)領(lǐng)域的讀者;已經(jīng)有一定的Android開發(fā)經(jīng)驗(yàn),想進(jìn)一步提高Android的開發(fā)能力的讀者;想將本書作為Android的參考手冊(cè),隨時(shí)隨地查閱的讀者;對(duì)Android抱有濃厚興趣的其他手機(jī)平臺(tái)的開發(fā)人員;正在學(xué)習(xí)Android的在校大學(xué)生以及培訓(xùn)學(xué)校的學(xué)員。
● CSDN超人氣博主、eoeandroid論壇版主、cnblogs著名博主 “銀河使者”傾心編著
● 本書第1版受到數(shù)萬開發(fā)人員喜愛,繁體版在臺(tái)灣地區(qū)亦多次重印,眾多開發(fā)人員稱為Android國內(nèi)“第1書”
● 國內(nèi)最全面的Android開發(fā)技術(shù)參考手冊(cè),囊括了Android1.5至Android 4.x版本,適用于手機(jī)、平板電腦的應(yīng)用開發(fā)
● 完美的實(shí)戰(zhàn)環(huán)境,Step by Step地融合了超過200個(gè)實(shí)際案例
● 完整的綜合應(yīng)用案例,理論與實(shí)戰(zhàn)無縫結(jié)合,精心剔除常見學(xué)習(xí)障礙,真正的易學(xué)易用
● 大量有價(jià)值的高品質(zhì)代碼,可直接用于實(shí)際項(xiàng)目開發(fā)
第二版前言
隨著中國移動(dòng)互聯(lián)網(wǎng)3G時(shí)代的到來,很多搶眼的詞匯也不斷沖擊著人們的眼球。3G、Android、Ophone、iPhone、iPad、iPod touch、Google、蘋果、HTC、G1、G2、G3、Nexus S等詞匯在各大網(wǎng)站的新聞和評(píng)論中頻繁出現(xiàn)。出現(xiàn)這種情況的原因只有一個(gè),那就是智能手機(jī)和移動(dòng)互聯(lián)網(wǎng)終于修成成果,成為完美的一對(duì)。
智能手機(jī)雖然早在多年前就已出現(xiàn),但那時(shí)的智能手機(jī)的功能主要是本地應(yīng)用,這些手機(jī)以Nokia的Symbian系統(tǒng)為主。但隨著移動(dòng)互聯(lián)網(wǎng)時(shí)代的到來,本地應(yīng)用已遠(yuǎn)遠(yuǎn)無法滿足用戶的需求了。然而在創(chuàng)新為王的今天,新的技術(shù)總在不斷地取代舊的技術(shù)。以創(chuàng)新聞名的Google為了進(jìn)軍移動(dòng)廣告市場(chǎng),早在2005年,就開始研制新的移動(dòng)操作系統(tǒng),這也就是我們現(xiàn)在熟知的Android。經(jīng)過2年多的研發(fā),終于在2007年11月5日發(fā)布了Android的第一個(gè)版本:Android 1.0,而HTC(宏達(dá)電子)也在10個(gè)月后發(fā)布了世界上第一部裝有Android系統(tǒng)的手機(jī):G1。這也標(biāo)志著Android正式成為移動(dòng)操作系統(tǒng)大家族的成員,而且出身名門。
自從Google在2007年推出Android以來。Android已經(jīng)經(jīng)歷了4年多的發(fā)展。雖然Android的最初的兩個(gè)版本(1.0和1.1)并不太穩(wěn)定,也沒有被大眾接受。但從1.5開始,Android開始嶄露頭角,也開始進(jìn)入了高速發(fā)展階段。
Android的第一個(gè)穩(wěn)定而且功能較全面的版本是2.0。Google為了適應(yīng)平板電腦,又單獨(dú)推出了3.x。直到2011年底,Google為了統(tǒng)一手機(jī)和平板電腦,推出了Android 4.x。Android 4.x無論從穩(wěn)定性還是從功能上都上了一個(gè)新臺(tái)階,完全可以和IOS抗衡。
Android是Google進(jìn)軍移動(dòng)領(lǐng)域最具殺傷力的武器之一。在此之前,蘋果推出的iPhone在智能手機(jī)和移動(dòng)互聯(lián)網(wǎng)領(lǐng)域刮起了首輪風(fēng)暴,并且贏得了數(shù)以百萬計(jì)的忠實(shí)“粉絲”。而Android與iPhone不同。iPhone與蘋果以往的產(chǎn)品相同,都是在封閉狀態(tài)下發(fā)展的,而且限制太多。Android則在這方面有著絕對(duì)的優(yōu)勢(shì),Android不僅免費(fèi),而且開源,并且Google沒有限制使用什么語言或技術(shù)在Android上開發(fā)軟件。這就意味著任何企業(yè)、組織和個(gè)人都可以使用Android系統(tǒng),而且不需要付給Google一分錢。正是因?yàn)檫@一點(diǎn),支持Android的終端廠商不斷增加,這也使Android的市場(chǎng)占有率節(jié)節(jié)攀升。在2010年第1季度,Android在美國的占有率首次超過iPhone,成為占有率居第二位的移動(dòng)操作系統(tǒng)。在2011年,Android手機(jī)的市場(chǎng)占有率已經(jīng)全面超過iPhone,成為了智能手機(jī)系統(tǒng)中的翹楚。
在與美國相隔萬里的中國,Android也受到相當(dāng)?shù)年P(guān)注和重用。國內(nèi)不僅在短時(shí)間內(nèi)涌現(xiàn)了大量的Android社區(qū)(中國移動(dòng)開發(fā)者社區(qū)、eoeandroid等),而且很多運(yùn)營商和企業(yè)也以Android為基礎(chǔ)開發(fā)出了很多定制的移動(dòng)操作系統(tǒng)。其中國內(nèi)最早的定制Android系統(tǒng)就是中國移動(dòng)和播思通訊聯(lián)合開發(fā)的Ophone系統(tǒng),也稱為OMS。除此之外,還有聯(lián)想的LePhone。聯(lián)通和電信也在研發(fā)自己的定制Android系統(tǒng)。這些充分證明了Android在世界上的幾個(gè)主要市場(chǎng)(中國、美國等)都已成為競(jìng)相追逐的梅花鹿,在可預(yù)期的未來,將會(huì)在全球范圍內(nèi)上演一場(chǎng)群雄逐鹿的大戲。
既然Android無論在國內(nèi)還是在國外都是如此的火爆、如此的重要,那么作為開發(fā)人員的我們是不是應(yīng)該立刻開始學(xué)習(xí)Android呢?如果您以前閱讀過本書的第一版,那么說明您已經(jīng)給出了肯定的答案,而本書在第一版的基礎(chǔ)上加入了Android 4.x的新技術(shù),而且所有的示例都升級(jí)成了Android 4.x版本。如果您想了解新的Android 4.x技術(shù),那么就不要等待,請(qǐng)繼續(xù)閱讀本書的精彩內(nèi)容吧!
參加本書部分章節(jié)編寫工作的還有趙華振、李斌鋒、鄧斌、皮文星、閆芳、王玉芹、楊振珂、鄧福金、劉素云、代錫恒、劉曉鍵、李新生、歐陽會(huì)、李禮華、石杰、何少亮、歐陽觀、陸正武、王秀明、蘇海建、蘇勝男、胡中華、李風(fēng)好、馬永浩、鄭國玉、王欣、李延彬、謝星星,在此表示感謝。
編 者
2012年3月
第一版前言
2009年對(duì)于中國的移動(dòng)互聯(lián)網(wǎng)領(lǐng)域是最重要的一年,因?yàn)檫@一年信息產(chǎn)業(yè)部向中國三大運(yùn)營商(移動(dòng)、聯(lián)通、電信)發(fā)放了3G牌照。這就意味著中國移動(dòng)互聯(lián)網(wǎng)3G時(shí)代已經(jīng)到來,因此,2009年也就成為了中國移動(dòng)互聯(lián)網(wǎng)3G時(shí)代的元年。
隨著中國移動(dòng)互聯(lián)網(wǎng)3G時(shí)代的到來,很多搶眼的詞匯也不斷沖擊著人們的眼球。3G、Android、OPhone、iPhone、iPad、iPod touch、Google、蘋果、HTC、G1、G2、G3等詞匯在各大網(wǎng)站的新聞和評(píng)論中頻繁出現(xiàn)。出現(xiàn)這種情況的原因只有一個(gè),那就是智能手機(jī)和移動(dòng)互聯(lián)網(wǎng)終于修成成果,成為完美的一對(duì)。
智能手機(jī)雖然早在多年前就已出現(xiàn),但那時(shí)的智能手機(jī)的功能主要是本地應(yīng)用,這些手機(jī)以Nokia的Symbian系統(tǒng)為主。但隨著移動(dòng)互聯(lián)網(wǎng)時(shí)代的到來,本地應(yīng)用已遠(yuǎn)遠(yuǎn)無法滿足用戶的需求了。然而在創(chuàng)新為王的今天,新的技術(shù)總在不斷地取代舊的技術(shù)。以創(chuàng)新聞名的Google為了進(jìn)軍移動(dòng)廣告市場(chǎng),早在2005年,就開始研制新的移動(dòng)操作系統(tǒng),這也就是我們現(xiàn)在熟知的Android。經(jīng)過2年多的研發(fā),終于在2007年11月5日發(fā)布了Android的第一個(gè)版本:Android 1.0,而HTC(宏達(dá)電子)也在10個(gè)月后發(fā)布了世界上第一部裝有Android系統(tǒng)的手機(jī):G1。這也標(biāo)志著Android正式成為移動(dòng)操作系統(tǒng)大家族的成員,而且出身名門。
自從Android問世以來,不斷有新的運(yùn)營商、終端廠商、瀏覽器廠商、軟件廠商等加入Android陣營,通過合作以及不斷地創(chuàng)新,推出了大量基于Android的新產(chǎn)品,例如,Adobe公司已推出Android版的AIR和Flash 10,并且Google宣布在Android 2.2中將會(huì)全面支持Flash,這就意味著可以使用Flash來編寫Android應(yīng)用程序了。
Android是Google進(jìn)軍移動(dòng)領(lǐng)域最具殺傷力的武器之一。在此之前,蘋果推出的iPhone在智能手機(jī)和移動(dòng)互聯(lián)網(wǎng)領(lǐng)域刮起了首輪風(fēng)暴,并且贏得了數(shù)以百萬計(jì)的忠實(shí)“粉絲”。而Android與iPhone不同。iPhone與蘋果以往的產(chǎn)品相同,都是在封閉狀態(tài)下發(fā)展的,而且限制太多。Android則在這方面有著絕對(duì)的優(yōu)勢(shì),Android不僅免費(fèi),而且開源,并且Google沒有限制使用什么語言或技術(shù)在Android上開發(fā)軟件。這就意味著任何企業(yè)、組織和個(gè)人都可以使用Android系統(tǒng),而且不需要付給Google一分錢。正是因?yàn)檫@一點(diǎn),支持Android的終端廠商不斷增加,這也使Android的市場(chǎng)占有率節(jié)節(jié)攀升。甚至在2010年第一季度,Android在美國的占有率首次超過iPhone,成為占有率居第二位的移動(dòng)操作系統(tǒng)。
在與美國相隔萬里的中國,Android也受到相當(dāng)?shù)年P(guān)注和重用。國內(nèi)不僅在短時(shí)間內(nèi)涌現(xiàn)了大量的Android社區(qū)(中國移動(dòng)開發(fā)者社區(qū)、eoeandroid等),而且很多運(yùn)營商和企業(yè)也以Android為基礎(chǔ)開發(fā)出了很多定制的移動(dòng)操作系統(tǒng)。其中國內(nèi)最早的定制Android系統(tǒng)就是中國移動(dòng)和播思通訊聯(lián)合開發(fā)的OPhone系統(tǒng),也稱為OMS。除此之外,還有聯(lián)想的LePhone。聯(lián)通和電信也在研發(fā)自己的定制Android系統(tǒng)。這些充分證明了Android在世界上的幾個(gè)主要市場(chǎng)(中國、美國等)都已成為競(jìng)相追逐的梅花鹿,在可預(yù)期的未來,將會(huì)在全球范圍內(nèi)上演一場(chǎng)群雄逐鹿的大戲。
既然Android無論在國內(nèi)還是在國外都是如此的火爆、如此的重要,那么作為開發(fā)人員的我們是不是應(yīng)該立刻開始學(xué)習(xí)Android呢?如果您正在閱讀本書的前言,那么說明您已經(jīng)給出了肯定的答案,而本書正是打開Android神秘大門的鑰匙。有了這把鑰匙,就可以盡享Android中的寶藏。那么我們還等什么呢?Let’s go. 現(xiàn)在就讓我們繼續(xù)閱讀本書的精彩內(nèi)容,以獲取更多的寶藏吧!
參加本書部分章節(jié)編寫工作的還有趙華振、李斌鋒、鄧斌、皮文星、閆芳、王玉芹、楊振珂、鄧福金、劉素云、代錫恒、劉曉鍵、李新生、歐陽會(huì)、李禮華、石杰、何少亮、歐陽觀、陸正武,在此表示感謝。
編 者
2010年5月
第一版前言
如何使用本書的例子
第一部分 準(zhǔn)備篇——大軍未動(dòng),糧草先行
第1章 Android入門 2
1.1 Android的基本概念 3
1.1.1 Android簡介 3
1.1.2 Android的系統(tǒng)構(gòu)架 5
1.2 Android 2.3.x新功能介紹 6
1.2.1 顯示電池使用狀況 6
1.2.2 SIP網(wǎng)絡(luò)電話 7
1.2.3 近場(chǎng)通信(NFC) 7
1.2.4 控制多個(gè)攝像頭 8
1.3 Android 3.x新功能介紹 8
1.3.1 重新設(shè)計(jì)的UI 8
1.3.2 系統(tǒng)狀態(tài)條 9
1.3.3 多任務(wù)管理 10
1.3.4 多重桌面 11
1.3.5 電子郵件(E-mail) 11
1.3.6 聯(lián)系人管理 12
1.3.7 虛擬鍵盤與剪貼功能 12
1.3.8 相機(jī)功能 13
1.3.9 視頻電話 13
1.3.10 支持多核處理器 13
1.4 Android開發(fā)環(huán)境的搭建 14
1.4.1 開發(fā)Android程序需要些什么 14
1.4.2 安裝Android SDK 14
1.4.3 安裝Eclipse插件ADT 15
1.4.4 測(cè)試ADT是否安裝成功 16
1.5 Android SDK中的常用命令行工具 18
1.5.1 啟動(dòng)和關(guān)閉adb服務(wù)(adb start-server
和adb kill-server) 18
1.5.2 查詢當(dāng)前模擬器/設(shè)備的實(shí)例
(adb devices) 18
1.5.3 安裝、卸載和運(yùn)行程序(adb install、
adb uninstall和am) 19
1.5.4 PC與模擬器或真機(jī)交換文件(adb
pull和adb push) 20
1.5.5 Shell命令 20
1.5.6 創(chuàng)建、刪除和瀏覽AVD設(shè)備
(android) 21
1.5.7 獲取Android版本對(duì)應(yīng)的ID 21
1.5.8 創(chuàng)建SD卡 22
1.6 PC上的Android 22
1.6.1 Android LiveCD 23
1.6.2 AndroidX86 23
1.7 Android的學(xué)習(xí)資源 24
1.8 應(yīng)用程序商店 24
1.8.1 Android Market 24
1.8.2 Mobile Market(MM) 25
1.8.3 其他應(yīng)用程序商店 26
1.9 小結(jié) 26
第2章 第一個(gè)Android程序 27
2.1 編寫用于顯示當(dāng)前日期和時(shí)間的程序 27
2.1.1 新建一個(gè)Android工程 27
2.1.2 界面控件的布局 29
2.1.3 編寫實(shí)際代碼 29
2.2 調(diào)試程序 32
2.3 簽名和發(fā)布應(yīng)用程序 33
2.3.1 使用命令行方式進(jìn)行簽名 33
2.3.2 使用ADT插件方式進(jìn)行簽名 34
2.4 DDMS透視圖 36
2.5 小結(jié) 36
第二部分 基礎(chǔ)篇——Android世界的精彩之旅
第3章 Android應(yīng)用程序架構(gòu) 38
3.1 Android應(yīng)用程序中的資源 38
3.1.1 資源存放在哪里 38
3.1.2 資源的種類 39
3.1.3 資源的基本使用方法 39
3.2 Android的應(yīng)用程序組件 41
3.2.1 活動(dòng)(Activity)組件 41
3.2.2 服務(wù)(Service)組件 41
3.2.3 廣播接收者(Broadcast receivers)
組件 42
3.2.4 內(nèi)容提供者(Content providers)
組件 42
3.3 AndroidManifest.xml文件的結(jié)構(gòu) 42
3.4 小結(jié) 44
第4章 建立用戶接口 45
4.1 建立、配置和使用Activity 45
4.1.1 建立和配置Activity 46
4.1.2 Activity的生命周期 48
4.1.3 Activity生命周期的演示 50
4.2 視圖(View) 53
4.2.1 視圖簡介 53
4.2.2 使用XML布局文件控制視圖 54
4.2.3 在代碼中控制視圖 55
4.2.4 混合使用XML布局文件和代碼
來控制視圖 57
4.2.5 定制控件(Widget)的3種方式 60
4.2.6 定制控件——帶圖像的TextView 60
4.2.7 定制控件——帶文本標(biāo)簽的EditText 64
4.2.8 定制控件——可更換表盤的
指針時(shí)鐘 67
4.3 使用AlertDialog類創(chuàng)建對(duì)話框 73
4.3.1 AlertDialog類簡介 73
4.3.2 【確認(rèn)/取消】對(duì)話框 74
4.3.3 創(chuàng)建詢問是否刪除文件的
【確認(rèn)/取消】對(duì)話框 75
4.3.4 帶3個(gè)按鈕的對(duì)話框 76
4.3.5 創(chuàng)建【覆蓋/忽略/取消】對(duì)話框 77
4.3.6 簡單列表對(duì)話框 78
4.3.7 單選列表對(duì)話框 79
4.3.8 多選列表對(duì)話框 80
4.3.9 創(chuàng)建3種選擇省份的列表對(duì)話框 80
4.3.10 水平進(jìn)度對(duì)話框和圓形進(jìn)度對(duì)話框 86
4.3.11 水平進(jìn)度對(duì)話框和圓形進(jìn)度
對(duì)話框演示 87
4.3.12 自定義對(duì)話框 90
4.3.13 創(chuàng)建登錄對(duì)話框 90
4.3.14 用Activity托管對(duì)話框 93
4.3.15 創(chuàng)建懸浮對(duì)話框和觸摸任何位置
都可以關(guān)閉的對(duì)話框 95
4.4 Toast和Notification 98
4.4.1 用Toast顯示提示信息框 98
4.4.2 阻止關(guān)閉Toast信息框 99
4.4.3 Notification與狀態(tài)欄信息 101
4.5 菜單 103
4.5.1 創(chuàng)建選項(xiàng)菜單 104
4.5.2 設(shè)置與菜單項(xiàng)關(guān)聯(lián)的圖像和
Activity 105
4.5.3 響應(yīng)選項(xiàng)菜單項(xiàng)單擊事件的3種
方式 105
4.5.4 動(dòng)態(tài)添加、修改和刪除選項(xiàng)菜單 107
4.5.5 創(chuàng)建帶復(fù)選框和選項(xiàng)按鈕的子菜單 108
4.5.6 創(chuàng)建上下文菜單 109
4.5.7 菜單事件 110
4.5.8 Activity菜單、子菜單、上下文
菜單演示 111
4.6 布局 112
4.6.1 框架布局(FrameLayout) 112
4.6.2 霓虹燈效果的TextView 113
4.6.3 線性布局(LinearLayout) 115
4.6.4 利用LinearLayout將按鈕放在屏幕
的四角和中心位置 117
4.6.5 相對(duì)布局(RelativeLayout) 119
4.6.6 利用RelativeLayout實(shí)現(xiàn)梅花效果
的布局 119
4.6.7 表格布局(TableLayout) 120
4.6.8 計(jì)算器按鈕的布局 121
4.6.9 絕對(duì)布局(AbsoluteLayout) 121
4.6.10 查看apk文件中的布局 122
4.7 小結(jié) 122
第5章 控件詳解 123
5.1 顯示和編輯文本的控件 124
5.1.1 顯示文本的控件:TextView 124
5.1.2 在TextView中顯示URL及不同
字體大小、不同顏色的文本 127
5.1.3 帶邊框的TextView 128
5.1.4 設(shè)置TextView控件的行間距 131
5.1.5 輸入文本的控件:EditText 132
5.1.6 在EditText中輸入特定的字符 134
5.1.7 按回車鍵顯示EditText 135
5.1.8 自動(dòng)完成輸入內(nèi)容的控件:
AutoCompleteTextView 137
5.2 按鈕與復(fù)選框控件 138
5.2.1 普通按鈕控件:Button 138
5.2.2 異形(圓形、五角星、螺旋形
和箭頭)按鈕 139
5.2.3 圖像按鈕控件:ImageButton 141
5.2.4 同時(shí)顯示圖像和文字的按鈕 141
5.2.5 選項(xiàng)按鈕控件:RadioButton 143
5.2.6 開關(guān)狀態(tài)按鈕控件:ToggleButton 143
5.2.7 復(fù)選框控件:CheckBox 144
5.2.8 利用XML布局文件動(dòng)態(tài)創(chuàng)建
CheckBox 144
5.3 日期與時(shí)間控件 147
5.3.1 輸入日期的控件:DatePicker 147
5.3.2 輸入時(shí)間的控件:TimePicker 148
5.3.3 DatePicker、TimePicker與TextView
同步顯示日期和時(shí)間 148
5.3.4 顯示時(shí)鐘的控件:AnalogClock和
DigitalClock 150
5.4 進(jìn)度條控件 150
5.4.1 進(jìn)度條控件:ProgressBar 150
5.4.2 拖動(dòng)條控件:SeekBar 152
5.4.3 改變ProgressBar和SeekBar的顏色 154
5.4.4 評(píng)分控件:RatingBar 155
5.5 其他重要控件 156
5.5.1 顯示圖像的控件:ImageView 157
5.5.2 可顯示圖像指定區(qū)域的ImageView
控件 158
5.5.3 動(dòng)態(tài)縮放和旋轉(zhuǎn)圖像 159
5.5.4 列表控件:ListView 160
5.5.5 可以單選和多選的ListView 163
5.5.6 動(dòng)態(tài)添加、刪除ListView列表項(xiàng) 165
5.5.7 改變ListView列表項(xiàng)選中狀態(tài)的
背景顏色 169
5.5.8 封裝ListView的Activity:
ListActivity 169
5.5.9 使用SimpleAdapter建立復(fù)雜的
列表項(xiàng) 170
5.5.10 給應(yīng)用程序評(píng)分 172
5.5.11 可展開的列表控件:
ExpandableListView 175
5.5.12 下拉列表控件:Spinner 178
5.5.13 垂直滾動(dòng)視圖控件:ScrollView 179
5.5.14 水平滾動(dòng)視圖控件:
HorizontalScrollView 180
5.5.15 可垂直和水平滾動(dòng)的視圖 181
5.5.16 網(wǎng)格視圖控件:GridView 181
5.5.17 可循環(huán)顯示和切換圖像的控件:
Gallery和ImageSwitcher 183
5.5.18 標(biāo)簽控件:TabHost 186
5.6 小結(jié) 187
第6章 移動(dòng)存儲(chǔ)解決方案 188
6.1 最簡單的數(shù)據(jù)存儲(chǔ)方式:
SharedPreferences 188
6.1.1 使用SharedPreferences存取數(shù)據(jù) 189
6.1.2 數(shù)據(jù)的存儲(chǔ)位置和格式 190
6.1.3 存取復(fù)雜類型的數(shù)據(jù) 191
6.1.4 設(shè)置數(shù)據(jù)文件的訪問權(quán)限 194
6.1.5 可以保存設(shè)置的Activity:
PreferenceActivity 196
6.2 文件的存儲(chǔ) 199
6.2.1 openFileOutput和openFileInput
方法 199
6.2.2 SD卡文件瀏覽器 201
6.2.3 存取SD卡中的圖像 205
6.2.4 SAX引擎讀取XML文件的原理 208
6.2.5 將XML數(shù)據(jù)轉(zhuǎn)換成Java對(duì)象 208
6.3 SQLite數(shù)據(jù)庫 212
6.3.1 SQLite數(shù)據(jù)庫管理工具 212
6.3.2 創(chuàng)建數(shù)據(jù)庫和表 213
6.3.3 模糊查詢 215
6.3.4 分頁顯示記錄 215
6.3.5 事務(wù) 215
6.4 在Android中使用SQLite數(shù)據(jù)庫 216
6.4.1 SQLiteOpenHelper類與自動(dòng)
升級(jí)數(shù)據(jù)庫 216
6.4.2 SimpleCursorAdapter類與數(shù)據(jù)綁定 217
6.4.3 帶照片的聯(lián)系人管理系統(tǒng) 220
6.4.4 將數(shù)據(jù)庫與應(yīng)用程序一起發(fā)布 224
6.4.5 英文詞典 225
6.5 持久化數(shù)據(jù)庫引擎(db4o) 229
6.5.1 什么是db4o 229
6.5.2 下載和安裝db4o 230
6.5.3 創(chuàng)建和打開數(shù)據(jù)庫 230
6.5.4 向數(shù)據(jù)庫中插入Java對(duì)象 230
6.5.5 從數(shù)據(jù)庫中查詢Java對(duì)象 232
6.5.6 高級(jí)數(shù)據(jù)查詢 232
6.5.7 更新數(shù)據(jù)庫中的Java對(duì)象 233
6.5.8 刪除數(shù)據(jù)庫中的Java對(duì)象 233
6.6 小結(jié) 233
第7章 應(yīng)用程序之間的通信 234
7.1 Intent與Activity 234
7.1.1 用Intent啟動(dòng)Activity,并在Activity
之間傳遞數(shù)據(jù) 235
7.1.2 調(diào)用其他應(yīng)用程序中的Activity(撥打
電話、瀏覽網(wǎng)頁、發(fā)E-mail等) 238
7.1.3 定制自己的Activity Action 243
7.1.4 將電子詞典的查詢功能共享成一個(gè)
Activity Action 245
7.2 接收和發(fā)送廣播 247
7.2.1 接收系統(tǒng)廣播 247
7.2.2 開機(jī)可自動(dòng)運(yùn)行的程序 248
7.2.3 收到短信了,該做點(diǎn)什么 249
7.2.4 顯示手機(jī)電池的當(dāng)前電量 251
7.2.5 在自己的應(yīng)用程序中發(fā)送廣播 252
7.2.6 接收聯(lián)系人系統(tǒng)中發(fā)送的添加
聯(lián)系人廣播 253
7.3 小結(jié) 255
第8章 Android服務(wù) 256
8.1 Service起步 256
8.1.1 Service的生命周期 257
8.1.2 綁定Activity和Service 259
8.1.3 在BroadcastReceiver中啟動(dòng)
Service 262
8.2 系統(tǒng)服務(wù) 264
8.2.1 獲得系統(tǒng)服務(wù) 264
8.2.2 監(jiān)聽手機(jī)來電 265
8.2.3 來電黑名單 267
8.2.4 在模擬器上模擬重力感應(yīng) 267
8.2.5 手機(jī)翻轉(zhuǎn)靜音 270
8.3 時(shí)間服務(wù) 272
8.3.1 計(jì)時(shí)器:Chronometer 272
8.3.2 預(yù)約時(shí)間:Handler 275
8.3.3 定時(shí)器:Timer 276
8.3.4 在線程中更新GUI組件 278
8.3.5 全局定時(shí)器:AlarmManager 280
8.3.6 定時(shí)更換壁紙 281
8.3.7 多次定時(shí)提醒 284
8.4 跨進(jìn)程訪問(AIDL服務(wù)) 287
8.4.1 什么是AIDL服務(wù) 288
8.4.2 建立AIDL服務(wù)的步驟 288
8.4.3 建立AIDL服務(wù) 288
8.4.4 傳遞復(fù)雜數(shù)據(jù)的AIDL服務(wù) 292
8.5 小結(jié) 298
第9章 網(wǎng)絡(luò) 299
9.1 可裝載網(wǎng)絡(luò)數(shù)據(jù)的控件 300
9.1.1 裝載網(wǎng)絡(luò)數(shù)據(jù)的原理 300
9.1.2 將網(wǎng)絡(luò)圖像裝載到ListView
控件中 300
9.1.3 Google圖像畫廊(Gallery) 304
9.2 WebView控件 309
9.2.1 用WebView控件瀏覽網(wǎng)頁 309
9.2.2 手機(jī)瀏覽器 309
9.2.3 用WebView控件裝載HTML代碼 311
9.2.4 將英文詞典整合到Web頁中
(JavaScript調(diào)用Java方法) 312
9.3 訪問HTTP資源 315
9.3.1 提交HTTP GET和HTTP POST
請(qǐng)求 315
9.3.2 HttpURLConnection類 317
9.3.3 上傳文件 318
9.3.4 遠(yuǎn)程Apk安裝器 322
9.3.5 調(diào)用WebService 323
9.3.6 通過WebService查詢產(chǎn)品信息 325
9.4 Internet地址 329
9.4.1 Internet地址概述 329
9.4.2 創(chuàng)建InetAddress對(duì)象 331
9.4.3 判斷IP地址類型 333
9.5 客戶端Socket 335
9.5.1 Socket類基礎(chǔ) 335
9.5.2 多種連接服務(wù)端的方式 337
9.5.3 客戶端Socket的超時(shí) 339
9.5.4 Socket類的getter和setter方法 339
9.5.5 Socket的異常 346
9.6 服務(wù)端Socket 347
9.6.1 創(chuàng)建ServerSocket對(duì)象 347
9.6.2 設(shè)置請(qǐng)求隊(duì)列的長度 348
9.6.3 綁定IP地址 349
9.6.4 默認(rèn)構(gòu)造方法的使用 349
9.6.5 讀取和發(fā)送數(shù)據(jù) 350
9.6.6 關(guān)閉連接 351
9.7 小結(jié) 352
第10章 多媒體 353
10.1 圖形 353
10.1.1 圖形繪制基礎(chǔ) 354
10.1.2 繪制基本的圖形和文本 356
10.1.3 繪制位圖 360
10.1.4 用兩種方式繪制位圖 361
10.1.5 設(shè)置顏色的透明度 362
10.1.6 可任意改變透明度的位圖 363
10.1.7 旋轉(zhuǎn)圖像 365
10.1.8 旋轉(zhuǎn)動(dòng)畫 365
10.1.9 扭曲圖像 367
10.1.10 按圓形軌跡扭曲圖像 367
10.1.11 拉伸圖像 371
10.1.12 拉伸圖像演示 372
10.1.13 路徑 374
10.1.14 沿著路徑繪制文本 378
10.1.15 可在圖像上繪制圖形的畫板 381
10.2 音頻和視頻 387
10.2.1 使用MediaPlayer播放MP3文件 387
10.2.2 使用MediaRecorder錄音 388
10.2.3 使用VideoView播放視頻 389
10.2.4 使用SurfaceView播放視頻 390
10.3 小結(jié) 391
第三部分 進(jìn)階篇——深入Android世界的腹地
第11章 2D動(dòng)畫 393
11.1 幀(Frame)動(dòng)畫 393
11.1.1 AnimationDrawable與幀動(dòng)畫 394
11.1.2 通過幀動(dòng)畫方式播放Gif動(dòng)畫 395
11.1.3 播放幀動(dòng)畫的子集 399
11.2 補(bǔ)間(Tween)動(dòng)畫 402
11.2.1 移動(dòng)補(bǔ)間動(dòng)畫 402
11.2.2 循環(huán)向右移動(dòng)的EditText與上下
彈跳的球 404
11.2.3 縮放補(bǔ)間動(dòng)畫 406
11.2.4 跳動(dòng)的心 407
11.2.5 旋轉(zhuǎn)補(bǔ)間動(dòng)畫 409
11.2.6 旋轉(zhuǎn)的星系 410
11.2.7 透明度補(bǔ)間動(dòng)畫 411
11.2.8 投擲炸彈 412
11.2.9 振動(dòng)效果 415
11.2.10 自定義動(dòng)畫渲染器(Interceptor) 416
11.2.11 以動(dòng)畫方式切換View的控件
ViewFlipper 417
11.3 小結(jié) 420
第12章 OpenGL ES編程 421
12.1 OpenGL ES簡介 421
12.2 在3D空間中繪圖 423
12.2.1 要繪制3D圖形了,第一步要
做什么 423
12.2.2 定義頂點(diǎn) 426
12.2.3 繪制三角形 427
12.2.4 三角形合并法繪制矩形 429
12.2.5 頂點(diǎn)法繪制矩形 432
12.2.6 頂點(diǎn)的選取順序 433
12.2.7 索引法繪制矩形 434
12.2.8 基于OpenGL ES的動(dòng)畫原理 435
12.2.9 旋轉(zhuǎn)的矩形 436
12.3 視圖 437
12.3.1 有趣的比喻:照相機(jī)拍照 438
12.3.2 模型變換:立方體旋轉(zhuǎn) 440
12.3.3 用gluLookAt方法變換視圖 444
12.4 顏色 445
12.5 小結(jié) 448
第13章 資源、國際化與自適應(yīng) 449
13.1 Android中的資源 450
13.1.1 Android怎么存儲(chǔ)資源 450
13.1.2 資源的種類 450
13.1.3 資源文件的命名 451
13.2 定義和使用資源 451
13.2.1 使用系統(tǒng)資源 452
13.2.2 字符串(String)資源 453
13.2.3 數(shù)組(Array)資源 455
13.2.4 顏色(Color)資源 457
13.2.5 尺寸(Dimension)資源 459
13.2.6 類型(Style)資源 461
13.2.7 主題(Theme)資源 462
13.2.8 繪畫(Drawable)資源 463
13.2.9 動(dòng)畫(Animation)資源 465
13.2.10 菜單(Menu)資源 465
13.2.11 布局(Layout)資源 468
13.2.12 屬性(Attribute)資源 469
13.2.13 改進(jìn)可顯示圖標(biāo)的IconTextView
控件 471
13.2.14 XML資源 473
13.2.15 RAW資源 474
13.2.16 ASSETS資源 475
13.3 國際化和資源自適應(yīng) 476
13.3.1 對(duì)資源進(jìn)行國際化 476
13.3.2 Locale與國際化 478
13.3.3 常用的資源配置 478
13.4 小結(jié) 480
第14章 訪問Android手機(jī)的硬件 481
14.1 在手機(jī)上測(cè)試硬件 481
14.1.1 安裝Android USB驅(qū)動(dòng) 482
14.1.2 在手機(jī)上測(cè)試程序 483
14.1.3 在手機(jī)上調(diào)試程序 484
14.2 錄音 485
14.3 控制手機(jī)攝像頭(拍照) 486
14.3.1 調(diào)用系統(tǒng)的拍照功能 486
14.3.2 實(shí)現(xiàn)自己的拍照Activity 488
14.4 傳感器在手機(jī)中的應(yīng)用 494
14.4.1 在應(yīng)用程序中使用傳感器 494
14.4.2 電子羅盤 496
14.4.3 計(jì)步器 497
14.5 GPS與地圖定位 499
14.5.1 Google地圖 499
14.5.2 用GPS定位到當(dāng)前位置 503
14.6 WIFI 505
14.7 小結(jié) 507
第15章 放在桌面上的小玩意 508
15.1 窗口小部件(App Widget) 508
15.1.1 在Android桌面上添加App
Widget 509
15.1.2 開發(fā)App Widget的步驟 509
15.1.3 數(shù)字時(shí)鐘 512
15.1.4 AppWidgetProvider類 515
15.1.5 向App Widget添加配置Activity 515
15.1.6 可以選擇風(fēng)格的數(shù)字時(shí)鐘 516
15.2 快捷方式 521
15.2.1 向快捷方式列表中添加快捷方式 521
15.2.2 直接將快捷方式放到桌面上 522
15.3 實(shí)時(shí)文件夾(LiveFolder) 523
15.4 小結(jié) 524
第16章 NDK編程 525
16.1 Android NDK簡介 525
16.2 安裝、配置和測(cè)試NDK開發(fā)環(huán)境 526
16.2.1 系統(tǒng)和軟件要求 526
16.2.2 下載和安裝Android NDK 527
16.2.3 下載和安裝Cygwin 527
16.2.4 配置Android NDK的開發(fā)環(huán)境 531
16.2.5 編譯和運(yùn)行NDK自帶的例子 532
16.3 Android NDK開發(fā) 533
16.3.1 JNI接口設(shè)計(jì) 534
16.3.2 編寫Android NDK程序的步驟 535
16.3.3 將文件中的小寫字母轉(zhuǎn)換成大寫
字母(NDK版本) 535
16.3.4 配置Android.mk文件 538
16.3.5 Android NDK定義的變量 539
16.3.6 Android NDK定義的函數(shù) 540
16.3.7 描述模塊的變量 541
16.3.8 配置Application.mk文件 542
16.4 小結(jié) 543
第17章 整合Android與腳本語言 544
17.1 Android腳本環(huán)境簡介 544
17.2 Android腳本環(huán)境安裝 545
17.3 編寫和運(yùn)行Android腳本 547
17.4 小結(jié) 549
第18章 藍(lán)牙技術(shù) 550
18.1 藍(lán)牙簡介 550
18.2 打開和關(guān)閉藍(lán)牙設(shè)備 551
18.3 搜索藍(lán)牙設(shè)備 552
18.4 藍(lán)牙數(shù)據(jù)傳輸 555
18.5 藍(lán)牙通訊一定需要UUID嗎 558
18.6 小結(jié) 559
第19章 有趣的Android技術(shù) 560
19.1 手勢(shì)(Gesture) 560
19.1.1 創(chuàng)建手勢(shì)文件 561
19.1.2 通過手勢(shì)輸入字符串 561
19.1.3 通過手勢(shì)調(diào)用程序 563
19.1.4 編寫自己的手勢(shì)創(chuàng)建器 565
19.2 讓手機(jī)說話(TTS) 567
19.3 動(dòng)態(tài)壁紙 568
19.4 小結(jié) 577
第四部分 綜合實(shí)例篇——實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)
第20章 萬年歷 579
20.1 主界面設(shè)計(jì)與實(shí)現(xiàn) 579
20.1.1 萬年歷的核心類:Calendar 580
20.1.2 日歷內(nèi)容元素的基類:
CalendarParent 581
20.1.3 繪制萬年歷邊框:Border類 582
20.1.4 繪制周名稱:Week類 583
20.1.5 繪制日期和網(wǎng)格:Grid類 584
20.1.6 日歷視圖:CalendarView類 592
20.1.7 生成萬年歷的主界面 596
20.2 選項(xiàng)菜單功能 596
20.2.1 切換到今天的日期 596
20.2.2 指定日期 597
20.3 可以寫日記和提醒的萬年歷 599
20.3.1 顯示所有的記錄信息:
AllRecord類 599
20.3.2 添加和修改記錄:Record類 601
20.3.3 設(shè)置提醒時(shí)間 603
20.3.4 啟動(dòng)服務(wù) 604
20.3.5 在廣播接收器中顯示提醒界面 605
20.3.6 訪問數(shù)據(jù)庫:DBService 607
20.4 小結(jié) 611
第21章 知道當(dāng)前位置的Google GTalk
機(jī)器人 612
21.1 GTalk的通訊協(xié)議和技術(shù) 612
21.1.1 Jabber和XMPP 612
21.1.2 XMPP客戶端庫:Smack和
Asmack 613
21.2 登錄GTalk:Login類 614
21.3 聯(lián)系人信息 616
21.3.1 顯示聯(lián)系人列表 616
21.3.2 監(jiān)聽聯(lián)系人是否上線 618
21.4 聯(lián)系人之間的通訊 620
21.4.1 發(fā)送聊天信息 621
21.4.2 接收聊天信息 622
21.4.3 自動(dòng)回復(fù)當(dāng)前的位置
(GPS定位) 625
21.5 小結(jié) 627
第22章 Android 4.x支持的新技術(shù) 628
22.1 Android 4.x的10大特性 628
22.2 子窗口:Fragments 629
22.2.1 Fragments的設(shè)計(jì)原理 630
22.2.2 創(chuàng)建Fragment 630
22.2.3 建立一個(gè)用戶界面 632
22.2.4 將Fragment添加到Activity中 633
22.2.5 處理Fragment事務(wù) 634
22.3.6 與Activity通信 635
22.3 動(dòng)作欄:Action Bar 637
22.3.1 添加Action Bar 637
22.3.2 移除Action Bar 637
22.3.3 添加Action Item 638
22.3.4 將應(yīng)用圖標(biāo)用作菜單項(xiàng)目 639
22.4 小結(jié) 639
- 深入淺出OpenHarmony——架構(gòu)、內(nèi)核、驅(qū)動(dòng)及應(yīng)用開發(fā)全棧 [李傳釗 著]
- Android高級(jí)程序設(shè)計(jì) [主編 周雯 舒松]
- 基于Android平臺(tái)的移動(dòng)開發(fā)技術(shù) [主編 徐碩博 黃衛(wèi)東 賈雁]
- Android 應(yīng)用開發(fā)項(xiàng)目實(shí)戰(zhàn) [主編 梁 琨 朱冰鴻]
- Android應(yīng)用開發(fā)基礎(chǔ)教程 [主編 巫湘林]
- 警用移動(dòng)通信技術(shù)與設(shè)備 [胡記文]
- Java ME手機(jī)應(yīng)用程序開發(fā) [易燦 李志勇 編著]
- 移動(dòng)通信技術(shù) [閆云利]
- Android軟件應(yīng)用與實(shí)踐 [主編 梁平 高峰]
- 移動(dòng)端UI設(shè)計(jì)及規(guī)范——分分鐘搞定App UI設(shè)計(jì) [北京課工場(chǎng)教育科技有限公司Q]
- 移動(dòng)端UI商業(yè)項(xiàng)目實(shí)戰(zhàn)——讓人愛不釋手的移動(dòng)端UI設(shè)計(jì) [北京課工場(chǎng)教育科技有限公司]
- 移動(dòng)通信系統(tǒng)與終端維修 [主編 許書君 裴國華]
- Android開發(fā)實(shí)用教程 [主編 王建華 張偉]
- C++應(yīng)用程序設(shè)計(jì) [劉彥姝 謝景偉]
- Android基礎(chǔ)教程 [余 平 張建華]
- ANSYS非線性有限元分析方法及范例應(yīng)用 [張洪偉 高相勝 張慶余 編著]
- ANSYS信號(hào)完整性分析與仿真實(shí)例 [房麗麗 編著]
- Android 4.X手機(jī)/平板電腦程序設(shè)計(jì)入門、應(yīng)用到精通(第二版) [孫宏明 著]
- 壓力容器全模型ANSYS分析與強(qiáng)度計(jì)算新規(guī)范 [欒春遠(yuǎn) 編著]
- Android手機(jī)程序設(shè)計(jì)入門、應(yīng)用到精通 [孫宏明 著]
- ANSYS 13.0 Workbench數(shù)值模擬技術(shù) [許京荊]
- Exchange Server 2010 SP1 實(shí)戰(zhàn)精粹 [職念文]
- 移動(dòng)通信原理與工程 [胡記文 主編]
- 用戶名: 密碼:
- 匿名?
- 注冊(cè)
- 生活經(jīng)管more>>
- 基于.NET Core框架的分布式系統(tǒng)架構(gòu)設(shè)
- 浮式圓柱型結(jié)構(gòu)物渦激運(yùn)動(dòng)特性研究
- 中考英語單詞循環(huán)速記手抄本
- Mr.Yang的魔法自然拼讀
- 農(nóng)產(chǎn)品云倉模式研究—以北京農(nóng)產(chǎn)品流通
- 成長對(duì)話:青春的榜樣
- 英語大爆炸:跟趣味情景劇學(xué)口語(微課
- Amazing!兒童英語自然拼讀分級(jí)教材(
- 自然拼讀背單詞:基礎(chǔ)英語4000詞(微課
- 直播電商運(yùn)營實(shí)務(wù)
- 新概念國際音標(biāo)與語音語詞教練
- 自然拼讀背單詞:小學(xué)英語1000詞(第二
- 美國家庭親子英語歡樂學(xué)(全3冊(cè))
- 簡單易懂的Python入門教程
- Python數(shù)據(jù)分析之道——Thinking in Pa
- 深入淺出OpenHarmony——架構(gòu)、內(nèi)核、