Android開發(fā)完全講義(第二版)
-
【作 者】李寧 編著
【I S B N 】978-7-5084-9465-4
【責任編輯】張玉玲
【適用讀者群】科技
【出版時間】2012-04-27
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數(shù)】656
【千字數(shù)】925
【印 張】41
【定 價】¥82
【叢 書】暫無分類
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
國內(nèi)覆蓋面最廣的Android開發(fā)指南,國內(nèi)著名Android社區(qū)eoeandroid極力推薦。
本書內(nèi)容全面,詳細講解Android框架、Android用戶接口、Android組件、Android的數(shù)據(jù)存儲解決方案、Android的4種可跨平臺通信的組件(Activity、Service、Broadcast和ContentProvider)、網(wǎng)絡(luò)、繪圖、多媒體、2D動畫、OpenGL ES、資源、國際化、訪問Android手機的硬件、實時壁紙、實時文件夾、NDK(利用C/C++開發(fā)可運行在Android上的應(yīng)用程序)、腳本語言(Python、Lua、Perl等)、手勢輸入、文字語音轉(zhuǎn)換(TTS)、藍牙等技術(shù),在本書的最后給出了兩個完整的例子:“萬年歷”和“知道當前位置的Google GTalk機器人”。
本書適合有一定的Java基礎(chǔ),想通過Android進入移動開發(fā)領(lǐng)域的讀者;已經(jīng)有一定的Android開發(fā)經(jīng)驗,想進一步提高Android的開發(fā)能力的讀者;想將本書作為Android的參考手冊,隨時隨地查閱的讀者;對Android抱有濃厚興趣的其他手機平臺的開發(fā)人員;正在學(xué)習(xí)Android的在校大學(xué)生以及培訓(xùn)學(xué)校的學(xué)員。
● CSDN超人氣博主、eoeandroid論壇版主、cnblogs著名博主 “銀河使者”傾心編著
● 本書第1版受到數(shù)萬開發(fā)人員喜愛,繁體版在臺灣地區(qū)亦多次重印,眾多開發(fā)人員稱為Android國內(nèi)“第1書”
● 國內(nèi)最全面的Android開發(fā)技術(shù)參考手冊,囊括了Android1.5至Android 4.x版本,適用于手機、平板電腦的應(yīng)用開發(fā)
● 完美的實戰(zhàn)環(huán)境,Step by Step地融合了超過200個實際案例
● 完整的綜合應(yīng)用案例,理論與實戰(zhàn)無縫結(jié)合,精心剔除常見學(xué)習(xí)障礙,真正的易學(xué)易用
● 大量有價值的高品質(zhì)代碼,可直接用于實際項目開發(fā)
第二版前言
隨著中國移動互聯(lián)網(wǎng)3G時代的到來,很多搶眼的詞匯也不斷沖擊著人們的眼球。3G、Android、Ophone、iPhone、iPad、iPod touch、Google、蘋果、HTC、G1、G2、G3、Nexus S等詞匯在各大網(wǎng)站的新聞和評論中頻繁出現(xiàn)。出現(xiàn)這種情況的原因只有一個,那就是智能手機和移動互聯(lián)網(wǎng)終于修成成果,成為完美的一對。
智能手機雖然早在多年前就已出現(xiàn),但那時的智能手機的功能主要是本地應(yīng)用,這些手機以Nokia的Symbian系統(tǒng)為主。但隨著移動互聯(lián)網(wǎng)時代的到來,本地應(yīng)用已遠遠無法滿足用戶的需求了。然而在創(chuàng)新為王的今天,新的技術(shù)總在不斷地取代舊的技術(shù)。以創(chuàng)新聞名的Google為了進軍移動廣告市場,早在2005年,就開始研制新的移動操作系統(tǒng),這也就是我們現(xiàn)在熟知的Android。經(jīng)過2年多的研發(fā),終于在2007年11月5日發(fā)布了Android的第一個版本:Android 1.0,而HTC(宏達電子)也在10個月后發(fā)布了世界上第一部裝有Android系統(tǒng)的手機:G1。這也標志著Android正式成為移動操作系統(tǒng)大家族的成員,而且出身名門。
自從Google在2007年推出Android以來。Android已經(jīng)經(jīng)歷了4年多的發(fā)展。雖然Android的最初的兩個版本(1.0和1.1)并不太穩(wěn)定,也沒有被大眾接受。但從1.5開始,Android開始嶄露頭角,也開始進入了高速發(fā)展階段。
Android的第一個穩(wěn)定而且功能較全面的版本是2.0。Google為了適應(yīng)平板電腦,又單獨推出了3.x。直到2011年底,Google為了統(tǒng)一手機和平板電腦,推出了Android 4.x。Android 4.x無論從穩(wěn)定性還是從功能上都上了一個新臺階,完全可以和IOS抗衡。
Android是Google進軍移動領(lǐng)域最具殺傷力的武器之一。在此之前,蘋果推出的iPhone在智能手機和移動互聯(lián)網(wǎng)領(lǐng)域刮起了首輪風暴,并且贏得了數(shù)以百萬計的忠實“粉絲”。而Android與iPhone不同。iPhone與蘋果以往的產(chǎn)品相同,都是在封閉狀態(tài)下發(fā)展的,而且限制太多。Android則在這方面有著絕對的優(yōu)勢,Android不僅免費,而且開源,并且Google沒有限制使用什么語言或技術(shù)在Android上開發(fā)軟件。這就意味著任何企業(yè)、組織和個人都可以使用Android系統(tǒng),而且不需要付給Google一分錢。正是因為這一點,支持Android的終端廠商不斷增加,這也使Android的市場占有率節(jié)節(jié)攀升。在2010年第1季度,Android在美國的占有率首次超過iPhone,成為占有率居第二位的移動操作系統(tǒng)。在2011年,Android手機的市場占有率已經(jīng)全面超過iPhone,成為了智能手機系統(tǒng)中的翹楚。
在與美國相隔萬里的中國,Android也受到相當?shù)年P(guān)注和重用。國內(nèi)不僅在短時間內(nèi)涌現(xiàn)了大量的Android社區(qū)(中國移動開發(fā)者社區(qū)、eoeandroid等),而且很多運營商和企業(yè)也以Android為基礎(chǔ)開發(fā)出了很多定制的移動操作系統(tǒng)。其中國內(nèi)最早的定制Android系統(tǒng)就是中國移動和播思通訊聯(lián)合開發(fā)的Ophone系統(tǒng),也稱為OMS。除此之外,還有聯(lián)想的LePhone。聯(lián)通和電信也在研發(fā)自己的定制Android系統(tǒng)。這些充分證明了Android在世界上的幾個主要市場(中國、美國等)都已成為競相追逐的梅花鹿,在可預(yù)期的未來,將會在全球范圍內(nèi)上演一場群雄逐鹿的大戲。
既然Android無論在國內(nèi)還是在國外都是如此的火爆、如此的重要,那么作為開發(fā)人員的我們是不是應(yīng)該立刻開始學(xué)習(xí)Android呢?如果您以前閱讀過本書的第一版,那么說明您已經(jīng)給出了肯定的答案,而本書在第一版的基礎(chǔ)上加入了Android 4.x的新技術(shù),而且所有的示例都升級成了Android 4.x版本。如果您想了解新的Android 4.x技術(shù),那么就不要等待,請繼續(xù)閱讀本書的精彩內(nèi)容吧!
參加本書部分章節(jié)編寫工作的還有趙華振、李斌鋒、鄧斌、皮文星、閆芳、王玉芹、楊振珂、鄧福金、劉素云、代錫恒、劉曉鍵、李新生、歐陽會、李禮華、石杰、何少亮、歐陽觀、陸正武、王秀明、蘇海建、蘇勝男、胡中華、李風好、馬永浩、鄭國玉、王欣、李延彬、謝星星,在此表示感謝。
編 者
2012年3月
第一版前言
2009年對于中國的移動互聯(lián)網(wǎng)領(lǐng)域是最重要的一年,因為這一年信息產(chǎn)業(yè)部向中國三大運營商(移動、聯(lián)通、電信)發(fā)放了3G牌照。這就意味著中國移動互聯(lián)網(wǎng)3G時代已經(jīng)到來,因此,2009年也就成為了中國移動互聯(lián)網(wǎng)3G時代的元年。
隨著中國移動互聯(lián)網(wǎng)3G時代的到來,很多搶眼的詞匯也不斷沖擊著人們的眼球。3G、Android、OPhone、iPhone、iPad、iPod touch、Google、蘋果、HTC、G1、G2、G3等詞匯在各大網(wǎng)站的新聞和評論中頻繁出現(xiàn)。出現(xiàn)這種情況的原因只有一個,那就是智能手機和移動互聯(lián)網(wǎng)終于修成成果,成為完美的一對。
智能手機雖然早在多年前就已出現(xiàn),但那時的智能手機的功能主要是本地應(yīng)用,這些手機以Nokia的Symbian系統(tǒng)為主。但隨著移動互聯(lián)網(wǎng)時代的到來,本地應(yīng)用已遠遠無法滿足用戶的需求了。然而在創(chuàng)新為王的今天,新的技術(shù)總在不斷地取代舊的技術(shù)。以創(chuàng)新聞名的Google為了進軍移動廣告市場,早在2005年,就開始研制新的移動操作系統(tǒng),這也就是我們現(xiàn)在熟知的Android。經(jīng)過2年多的研發(fā),終于在2007年11月5日發(fā)布了Android的第一個版本:Android 1.0,而HTC(宏達電子)也在10個月后發(fā)布了世界上第一部裝有Android系統(tǒng)的手機:G1。這也標志著Android正式成為移動操作系統(tǒng)大家族的成員,而且出身名門。
自從Android問世以來,不斷有新的運營商、終端廠商、瀏覽器廠商、軟件廠商等加入Android陣營,通過合作以及不斷地創(chuàng)新,推出了大量基于Android的新產(chǎn)品,例如,Adobe公司已推出Android版的AIR和Flash 10,并且Google宣布在Android 2.2中將會全面支持Flash,這就意味著可以使用Flash來編寫Android應(yīng)用程序了。
Android是Google進軍移動領(lǐng)域最具殺傷力的武器之一。在此之前,蘋果推出的iPhone在智能手機和移動互聯(lián)網(wǎng)領(lǐng)域刮起了首輪風暴,并且贏得了數(shù)以百萬計的忠實“粉絲”。而Android與iPhone不同。iPhone與蘋果以往的產(chǎn)品相同,都是在封閉狀態(tài)下發(fā)展的,而且限制太多。Android則在這方面有著絕對的優(yōu)勢,Android不僅免費,而且開源,并且Google沒有限制使用什么語言或技術(shù)在Android上開發(fā)軟件。這就意味著任何企業(yè)、組織和個人都可以使用Android系統(tǒng),而且不需要付給Google一分錢。正是因為這一點,支持Android的終端廠商不斷增加,這也使Android的市場占有率節(jié)節(jié)攀升。甚至在2010年第一季度,Android在美國的占有率首次超過iPhone,成為占有率居第二位的移動操作系統(tǒng)。
在與美國相隔萬里的中國,Android也受到相當?shù)年P(guān)注和重用。國內(nèi)不僅在短時間內(nèi)涌現(xiàn)了大量的Android社區(qū)(中國移動開發(fā)者社區(qū)、eoeandroid等),而且很多運營商和企業(yè)也以Android為基礎(chǔ)開發(fā)出了很多定制的移動操作系統(tǒng)。其中國內(nèi)最早的定制Android系統(tǒng)就是中國移動和播思通訊聯(lián)合開發(fā)的OPhone系統(tǒng),也稱為OMS。除此之外,還有聯(lián)想的LePhone。聯(lián)通和電信也在研發(fā)自己的定制Android系統(tǒng)。這些充分證明了Android在世界上的幾個主要市場(中國、美國等)都已成為競相追逐的梅花鹿,在可預(yù)期的未來,將會在全球范圍內(nèi)上演一場群雄逐鹿的大戲。
既然Android無論在國內(nèi)還是在國外都是如此的火爆、如此的重要,那么作為開發(fā)人員的我們是不是應(yīng)該立刻開始學(xué)習(xí)Android呢?如果您正在閱讀本書的前言,那么說明您已經(jīng)給出了肯定的答案,而本書正是打開Android神秘大門的鑰匙。有了這把鑰匙,就可以盡享Android中的寶藏。那么我們還等什么呢?Let’s go. 現(xiàn)在就讓我們繼續(xù)閱讀本書的精彩內(nèi)容,以獲取更多的寶藏吧!
參加本書部分章節(jié)編寫工作的還有趙華振、李斌鋒、鄧斌、皮文星、閆芳、王玉芹、楊振珂、鄧福金、劉素云、代錫恒、劉曉鍵、李新生、歐陽會、李禮華、石杰、何少亮、歐陽觀、陸正武,在此表示感謝。
編 者
2010年5月
第一版前言
如何使用本書的例子
第一部分 準備篇——大軍未動,糧草先行
第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 近場通信(NFC) 7
1.2.4 控制多個攝像頭 8
1.3 Android 3.x新功能介紹 8
1.3.1 重新設(shè)計的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 相機功能 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 測試ADT是否安裝成功 16
1.5 Android SDK中的常用命令行工具 18
1.5.1 啟動和關(guān)閉adb服務(wù)(adb start-server
和adb kill-server) 18
1.5.2 查詢當前模擬器/設(shè)備的實例
(adb devices) 18
1.5.3 安裝、卸載和運行程序(adb install、
adb uninstall和am) 19
1.5.4 PC與模擬器或真機交換文件(adb
pull和adb push) 20
1.5.5 Shell命令 20
1.5.6 創(chuàng)建、刪除和瀏覽AVD設(shè)備
(android) 21
1.5.7 獲取Android版本對應(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章 第一個Android程序 27
2.1 編寫用于顯示當前日期和時間的程序 27
2.1.1 新建一個Android工程 27
2.1.2 界面控件的布局 29
2.1.3 編寫實際代碼 29
2.2 調(diào)試程序 32
2.3 簽名和發(fā)布應(yīng)用程序 33
2.3.1 使用命令行方式進行簽名 33
2.3.2 使用ADT插件方式進行簽名 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 活動(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 定制控件——帶文本標簽的EditText 64
4.2.8 定制控件——可更換表盤的
指針時鐘 67
4.3 使用AlertDialog類創(chuàng)建對話框 73
4.3.1 AlertDialog類簡介 73
4.3.2 【確認/取消】對話框 74
4.3.3 創(chuàng)建詢問是否刪除文件的
【確認/取消】對話框 75
4.3.4 帶3個按鈕的對話框 76
4.3.5 創(chuàng)建【覆蓋/忽略/取消】對話框 77
4.3.6 簡單列表對話框 78
4.3.7 單選列表對話框 79
4.3.8 多選列表對話框 80
4.3.9 創(chuàng)建3種選擇省份的列表對話框 80
4.3.10 水平進度對話框和圓形進度對話框 86
4.3.11 水平進度對話框和圓形進度
對話框演示 87
4.3.12 自定義對話框 90
4.3.13 創(chuàng)建登錄對話框 90
4.3.14 用Activity托管對話框 93
4.3.15 創(chuàng)建懸浮對話框和觸摸任何位置
都可以關(guān)閉的對話框 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)建選項菜單 104
4.5.2 設(shè)置與菜單項關(guān)聯(lián)的圖像和
Activity 105
4.5.3 響應(yīng)選項菜單項單擊事件的3種
方式 105
4.5.4 動態(tài)添加、修改和刪除選項菜單 107
4.5.5 創(chuàng)建帶復(fù)選框和選項按鈕的子菜單 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 相對布局(RelativeLayout) 119
4.6.6 利用RelativeLayout實現(xiàn)梅花效果
的布局 119
4.6.7 表格布局(TableLayout) 120
4.6.8 計算器按鈕的布局 121
4.6.9 絕對布局(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 自動完成輸入內(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 同時顯示圖像和文字的按鈕 141
5.2.5 選項按鈕控件:RadioButton 143
5.2.6 開關(guān)狀態(tài)按鈕控件:ToggleButton 143
5.2.7 復(fù)選框控件:CheckBox 144
5.2.8 利用XML布局文件動態(tài)創(chuàng)建
CheckBox 144
5.3 日期與時間控件 147
5.3.1 輸入日期的控件:DatePicker 147
5.3.2 輸入時間的控件:TimePicker 148
5.3.3 DatePicker、TimePicker與TextView
同步顯示日期和時間 148
5.3.4 顯示時鐘的控件:AnalogClock和
DigitalClock 150
5.4 進度條控件 150
5.4.1 進度條控件:ProgressBar 150
5.4.2 拖動條控件:SeekBar 152
5.4.3 改變ProgressBar和SeekBar的顏色 154
5.4.4 評分控件:RatingBar 155
5.5 其他重要控件 156
5.5.1 顯示圖像的控件:ImageView 157
5.5.2 可顯示圖像指定區(qū)域的ImageView
控件 158
5.5.3 動態(tài)縮放和旋轉(zhuǎn)圖像 159
5.5.4 列表控件:ListView 160
5.5.5 可以單選和多選的ListView 163
5.5.6 動態(tài)添加、刪除ListView列表項 165
5.5.7 改變ListView列表項選中狀態(tài)的
背景顏色 169
5.5.8 封裝ListView的Activity:
ListActivity 169
5.5.9 使用SimpleAdapter建立復(fù)雜的
列表項 170
5.5.10 給應(yīng)用程序評分 172
5.5.11 可展開的列表控件:
ExpandableListView 175
5.5.12 下拉列表控件:Spinner 178
5.5.13 垂直滾動視圖控件:ScrollView 179
5.5.14 水平滾動視圖控件:
HorizontalScrollView 180
5.5.15 可垂直和水平滾動的視圖 181
5.5.16 網(wǎng)格視圖控件:GridView 181
5.5.17 可循環(huán)顯示和切換圖像的控件:
Gallery和ImageSwitcher 183
5.5.18 標簽控件:TabHost 186
5.6 小結(jié) 187
第6章 移動存儲解決方案 188
6.1 最簡單的數(shù)據(jù)存儲方式:
SharedPreferences 188
6.1.1 使用SharedPreferences存取數(shù)據(jù) 189
6.1.2 數(shù)據(jù)的存儲位置和格式 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 文件的存儲 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對象 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類與自動
升級數(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對象 230
6.5.5 從數(shù)據(jù)庫中查詢Java對象 232
6.5.6 高級數(shù)據(jù)查詢 232
6.5.7 更新數(shù)據(jù)庫中的Java對象 233
6.5.8 刪除數(shù)據(jù)庫中的Java對象 233
6.6 小結(jié) 233
第7章 應(yīng)用程序之間的通信 234
7.1 Intent與Activity 234
7.1.1 用Intent啟動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 將電子詞典的查詢功能共享成一個
Activity Action 245
7.2 接收和發(fā)送廣播 247
7.2.1 接收系統(tǒng)廣播 247
7.2.2 開機可自動運行的程序 248
7.2.3 收到短信了,該做點什么 249
7.2.4 顯示手機電池的當前電量 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中啟動
Service 262
8.2 系統(tǒng)服務(wù) 264
8.2.1 獲得系統(tǒng)服務(wù) 264
8.2.2 監(jiān)聽手機來電 265
8.2.3 來電黑名單 267
8.2.4 在模擬器上模擬重力感應(yīng) 267
8.2.5 手機翻轉(zhuǎn)靜音 270
8.3 時間服務(wù) 272
8.3.1 計時器:Chronometer 272
8.3.2 預(yù)約時間:Handler 275
8.3.3 定時器:Timer 276
8.3.4 在線程中更新GUI組件 278
8.3.5 全局定時器:AlarmManager 280
8.3.6 定時更換壁紙 281
8.3.7 多次定時提醒 284
8.4 跨進程訪問(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 手機瀏覽器 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
請求 315
9.3.2 HttpURLConnection類 317
9.3.3 上傳文件 318
9.3.4 遠程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對象 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的超時 339
9.5.4 Socket類的getter和setter方法 339
9.5.5 Socket的異常 346
9.6 服務(wù)端Socket 347
9.6.1 創(chuàng)建ServerSocket對象 347
9.6.2 設(shè)置請求隊列的長度 348
9.6.3 綁定IP地址 349
9.6.4 默認構(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)動畫 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
第三部分 進階篇——深入Android世界的腹地
第11章 2D動畫 393
11.1 幀(Frame)動畫 393
11.1.1 AnimationDrawable與幀動畫 394
11.1.2 通過幀動畫方式播放Gif動畫 395
11.1.3 播放幀動畫的子集 399
11.2 補間(Tween)動畫 402
11.2.1 移動補間動畫 402
11.2.2 循環(huán)向右移動的EditText與上下
彈跳的球 404
11.2.3 縮放補間動畫 406
11.2.4 跳動的心 407
11.2.5 旋轉(zhuǎn)補間動畫 409
11.2.6 旋轉(zhuǎn)的星系 410
11.2.7 透明度補間動畫 411
11.2.8 投擲炸彈 412
11.2.9 振動效果 415
11.2.10 自定義動畫渲染器(Interceptor) 416
11.2.11 以動畫方式切換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 定義頂點 426
12.2.3 繪制三角形 427
12.2.4 三角形合并法繪制矩形 429
12.2.5 頂點法繪制矩形 432
12.2.6 頂點的選取順序 433
12.2.7 索引法繪制矩形 434
12.2.8 基于OpenGL ES的動畫原理 435
12.2.9 旋轉(zhuǎn)的矩形 436
12.3 視圖 437
12.3.1 有趣的比喻:照相機拍照 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怎么存儲資源 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 動畫(Animation)資源 465
13.2.10 菜單(Menu)資源 465
13.2.11 布局(Layout)資源 468
13.2.12 屬性(Attribute)資源 469
13.2.13 改進可顯示圖標的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 對資源進行國際化 476
13.3.2 Locale與國際化 478
13.3.3 常用的資源配置 478
13.4 小結(jié) 480
第14章 訪問Android手機的硬件 481
14.1 在手機上測試硬件 481
14.1.1 安裝Android USB驅(qū)動 482
14.1.2 在手機上測試程序 483
14.1.3 在手機上調(diào)試程序 484
14.2 錄音 485
14.3 控制手機攝像頭(拍照) 486
14.3.1 調(diào)用系統(tǒng)的拍照功能 486
14.3.2 實現(xiàn)自己的拍照Activity 488
14.4 傳感器在手機中的應(yīng)用 494
14.4.1 在應(yīng)用程序中使用傳感器 494
14.4.2 電子羅盤 496
14.4.3 計步器 497
14.5 GPS與地圖定位 499
14.5.1 Google地圖 499
14.5.2 用GPS定位到當前位置 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ù)字時鐘 512
15.1.4 AppWidgetProvider類 515
15.1.5 向App Widget添加配置Activity 515
15.1.6 可以選擇風格的數(shù)字時鐘 516
15.2 快捷方式 521
15.2.1 向快捷方式列表中添加快捷方式 521
15.2.2 直接將快捷方式放到桌面上 522
15.3 實時文件夾(LiveFolder) 523
15.4 小結(jié) 524
第16章 NDK編程 525
16.1 Android NDK簡介 525
16.2 安裝、配置和測試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 編譯和運行NDK自帶的例子 532
16.3 Android NDK開發(fā) 533
16.3.1 JNI接口設(shè)計 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 編寫和運行Android腳本 547
17.4 小結(jié) 549
第18章 藍牙技術(shù) 550
18.1 藍牙簡介 550
18.2 打開和關(guān)閉藍牙設(shè)備 551
18.3 搜索藍牙設(shè)備 552
18.4 藍牙數(shù)據(jù)傳輸 555
18.5 藍牙通訊一定需要UUID嗎 558
18.6 小結(jié) 559
第19章 有趣的Android技術(shù) 560
19.1 手勢(Gesture) 560
19.1.1 創(chuàng)建手勢文件 561
19.1.2 通過手勢輸入字符串 561
19.1.3 通過手勢調(diào)用程序 563
19.1.4 編寫自己的手勢創(chuàng)建器 565
19.2 讓手機說話(TTS) 567
19.3 動態(tài)壁紙 568
19.4 小結(jié) 577
第四部分 綜合實例篇——實踐是檢驗真理的唯一標準
第20章 萬年歷 579
20.1 主界面設(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 選項菜單功能 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è)置提醒時間 603
20.3.4 啟動服務(wù) 604
20.3.5 在廣播接收器中顯示提醒界面 605
20.3.6 訪問數(shù)據(jù)庫:DBService 607
20.4 小結(jié) 611
第21章 知道當前位置的Google GTalk
機器人 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 自動回復(fù)當前的位置
(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è)計原理 630
22.2.2 創(chuàng)建Fragment 630
22.2.3 建立一個用戶界面 632
22.2.4 將Fragment添加到Activity中 633
22.2.5 處理Fragment事務(wù) 634
22.3.6 與Activity通信 635
22.3 動作欄: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)用圖標用作菜單項目 639
22.4 小結(jié) 639
- 深入淺出OpenHarmony——架構(gòu)、內(nèi)核、驅(qū)動及應(yīng)用開發(fā)全棧 [李傳釗 著]
- Android高級程序設(shè)計 [主編 周雯 舒松]
- 基于Android平臺的移動開發(fā)技術(shù) [主編 徐碩博 黃衛(wèi)東 賈雁]
- Android 應(yīng)用開發(fā)項目實戰(zhàn) [主編 梁 琨 朱冰鴻]
- Android應(yīng)用開發(fā)基礎(chǔ)教程 [主編 巫湘林]
- 警用移動通信技術(shù)與設(shè)備 [胡記文]
- Java ME手機應(yīng)用程序開發(fā) [易燦 李志勇 編著]
- 移動通信技術(shù) [閆云利]
- Android軟件應(yīng)用與實踐 [主編 梁平 高峰]
- 移動端UI設(shè)計及規(guī)范——分分鐘搞定App UI設(shè)計 [北京課工場教育科技有限公司Q]
- 移動端UI商業(yè)項目實戰(zhàn)——讓人愛不釋手的移動端UI設(shè)計 [北京課工場教育科技有限公司]
- 移動通信系統(tǒng)與終端維修 [主編 許書君 裴國華]
- Android開發(fā)實用教程 [主編 王建華 張偉]
- C++應(yīng)用程序設(shè)計 [劉彥姝 謝景偉]
- Android基礎(chǔ)教程 [余 平 張建華]
- ANSYS非線性有限元分析方法及范例應(yīng)用 [張洪偉 高相勝 張慶余 編著]
- ANSYS信號完整性分析與仿真實例 [房麗麗 編著]
- Android 4.X手機/平板電腦程序設(shè)計入門、應(yīng)用到精通(第二版) [孫宏明 著]
- 壓力容器全模型ANSYS分析與強度計算新規(guī)范 [欒春遠 編著]
- Android手機程序設(shè)計入門、應(yīng)用到精通 [孫宏明 著]
- ANSYS 13.0 Workbench數(shù)值模擬技術(shù) [許京荊]
- Exchange Server 2010 SP1 實戰(zhàn)精粹 [職念文]
- 移動通信原理與工程 [胡記文 主編]
- 基于.NET Core框架的分布式系統(tǒng)架構(gòu)設(shè)
- 浮式圓柱型結(jié)構(gòu)物渦激運動特性研究
- 中考英語單詞循環(huán)速記手抄本
- Mr.Yang的魔法自然拼讀
- 農(nóng)產(chǎn)品云倉模式研究—以北京農(nóng)產(chǎn)品流通
- 成長對話:青春的榜樣
- 英語大爆炸:跟趣味情景劇學(xué)口語(微課
- Amazing!兒童英語自然拼讀分級教材(
- 自然拼讀背單詞:基礎(chǔ)英語4000詞(微課
- 直播電商運營實務(wù)
- 新概念國際音標與語音語詞教練
- 自然拼讀背單詞:小學(xué)英語1000詞(第二
- 美國家庭親子英語歡樂學(xué)(全3冊)
- 簡單易懂的Python入門教程
- Python數(shù)據(jù)分析之道——Thinking in Pa
- 深入淺出OpenHarmony——架構(gòu)、內(nèi)核、

