Android/OPhone開發完全講義
-
【作 者】李寧
【I S B N 】978-7-5084-7527-1
【責任編輯】宋俊娥
【適用讀者群】科技
【出版時間】2010-06-08
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數】
【千字數】896
【印 張】29.5
【定 價】¥58
【叢 書】暫無分類
【備注信息】贈1CD
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
本書是國內第一本同時介紹Android和OPhone的經典著作,國內著名Android社區eoeandroid極力推薦。
本書內容全面,詳細講解Android框架、Android用戶接口、Android組件、Android的數據存儲解決方案、Android的4種可跨平臺通信的組件(Activity、Service、Broadcast和ContentProvider)、網絡、繪圖、多媒體、2D動畫、OpenGL ES、資源、國際化、訪問Android手機的硬件、實時壁紙、實時文件夾、NDK(利用C/C++開發可運行在Android上的應用程序)、腳本語言(Python、Lua、Perl等)、手勢輸入、文字語音轉換(TTS)、藍牙及OPhone平臺的技術。除此之外,在OFhone平臺中內嵌了一種新的SDK:JIL Widget。這種技術可以只使用HTML、CSS、JavaScript等Web技術來編寫可運行在OPhone上的程序。為了使讀者更早進入實戰階段,在本書的最后給出了兩個完整的例子:“萬年歷”和“知道當前位置的Google GTalk機器人”。
本書適合有一定的Java基礎,想通過Android進入移動開發領域的讀者:已經有一定的Android開發經驗,想進一步提高Android的開發能力的讀者;想將本書作為Android的參考手冊,隨時隨地查閱的讀者;對Android報有濃厚興趣的其他手機平臺的開發人員;正在學習Android的在校大學生以及培訓學校的學員。
1、國內覆蓋面最廣的Android開發指南
2、國內第一本同時涉及Android和OPhone技術的參考手冊
3、全書貫穿Android 1.5至Android 2.1五大Android版本的重要特性
4、超過200個實際案例,提供完美的實戰環境
5、大量有價值的代碼可以直接用于實際的項目
6、一線開發人員傾力之作,使全書的內容更接近實戰
7、完整的綜合應用案例,理論與實戰相結合
2009年對于中國的移動互聯網領域是最重要的一年,因為這一年信息產業部向中國三大運營商(移動、聯通、電信)發放了3G牌照。這就意味著中國移動互聯網3G時代已經到來,因此,2009年也就成為了中國移動互聯網3G時代的元年。
隨著中國移動互聯網3G時代的到來,很多搶眼的詞匯也不斷沖擊著人們的眼球。3G、Android、Ophone、iPhone、iPad、iPod touch、Google、蘋果、HTC、G1、G2、G3等詞匯在各大網站的新聞和評論中頻繁出現。出現這種情況的原因只有一個,那就是智能手機和移動互聯網終于修成成果,成為完美的一對。
智能手機雖然早在多年前就已出現,但那時的智能手機的功能主要是本地應用,這些手機以Nokia的Symbian系統為主。但隨著移動互聯網時代的到來,本地應用已遠遠無法滿足用戶的需求了。然而在創新為王的今天,新的技術總在不斷地取代久的技術。以創新聞名的Google為了進軍移動廣告市場,早在2005年,就開始研制新的移動操作系統,這也就是我們現在熟知的Android。經過2年多的研發,終于在2007年11月5日發布了Android的第一個版本:Android 1.0,而HTC(宏達電)也在10個月后發布了世界上第一部裝有Android系統的手機:G1。這也標志著Android正式成為移動操作系統大家族的成員,而且出身名門。
自從Android問世以來,不斷有新的運營商、終商廠商、瀏覽器廠商、軟件廠商等加入Android陣營,通過合作以及不斷地創新,推出了大量基于Android的新產品,例如,Adobe公司已推出Android版的AIR和Flash10,并且Google宣布在Android 2.2中將會全面支持Flash,這就意味著可以使用Flash來編寫Android應用程序了。
Android是Google進軍移動領域最具殺傷力的武器之一。在此之前,蘋果推出的iPhone在智能手機和移動互聯網領域刮起了首輪風暴。并且贏得了數以百萬計的忠實“粉絲”。而Android與iPhone不同。iPhone與蘋果以往的產品相同,都是在封閉狀態下發展的,而且限制太多。Android則在這方面有著絕對的優勢,Android不僅免費,而且開源,并且Google沒有限制使用什么語言或技術在Android上開發軟件。這就意味著任何企業、組織和個人都可以使用Android系統,而且不需要付給Google一分錢。正是因為這一點,支持Android的終端廠商不斷增加,這也使Android的市場占用率節節攀升。甚至在2010年第1季度,Android在美國的占有率首次超過iPhone,成為占有率第2的移動操作系統。
在與美國相隔萬里的中國,Android也受到相當的關注和重用。國內不僅在短時間內涌現了大量的Android社區(中國移動開發者社區、eoeandroid等),而且很多運營商和企業也以Android為基礎開發出了很多定制的移動操作系統。其中國內最早的定制Android系統就是中國移動和播思通訊聯合開發的Ophone系統,也稱為OMS。除此之外,還有聯想的樂Phone。聯通和電信也在研發自己的定制Android系統。這些充分證明了Android在世界上的幾個主要市場(中國、美國等)都已成為競相追逐的梅花鹿,在可預期的未來,將會在全球范圍內上演一場群雄逐鹿的大戲。
既然Android無論在國內還是國外都是如此的火暴,如此的重要,那么做為開發人員的我們是不是應該立刻開始學習Android呢?如果您正在閱讀本書的前言,那么說明您已經給出了肯定的答案,而本書正是打開Android神秘大門的鑰匙。有了這把鑰匙,就可以盡享Android中的寶藏。那么我們還等什么呢?Let’s go. 現在就讓我們繼續閱讀本書的精彩內容,以獲取更多的寶藏吧!
編 者
2010年5月
如何使用本書的例子
第一部分 準備篇——大軍未動,糧草先行
第1章 Android入門 2
1.1 Android的基本概念 2
1.1.1 Android簡介 2
1.1.2 Android的系統構架 4
1.2 Android開發環境的搭建 5
1.2.1 開發Android程序需要些什么 5
1.2.2 安裝Android SDK 5
1.2.3 安裝Eclipse插件ADT 6
1.2.4 測試ADT是否安裝成功 6
1.3 Android SDK中的常用命令行工具 8
1.3.1 啟動和關閉ADB服務(adb start-server
和adb kill-server) 8
1.3.2 查詢當前模擬器/設備的實例
(adb devices) 8
1.3.3 安裝、卸載和運行程序(adb install、
adb uninstall和am) 8
1.3.4 PC與模擬器或真機交換文件(adb
pull和adb push) 9
1.3.5 Shell命令 9
1.3.6 創建、刪除和瀏覽AVD設備
(android) 10
1.3.7 創建SD卡 10
1.4 PC上的Android 10
1.4.1 Android LiveCD 11
1.4.2 AndroidX86 11
1.5 Android的學習資源 12
1.6 應用程序商店 12
1.6.1 Android Market 12
1.6.2 Mobile Market(MM) 12
1.6.3 其他應用程序商店 13
1.7 本章小結 13
第2章 第一個Android程序 14
2.1 編寫用于顯示當前日期和時間的程序 14
2.1.1 新建一個Android工程 14
2.1.2 界面組件的布局 15
2.1.3 編寫實際代碼 15
2.2 調試程序 18
2.3 簽名和發布應用程序 18
2.3.1 使用命令行方式進行簽名 19
2.3.2 使用ADT插件方式進行簽名 19
2.4 DDMS透視圖 20
2.5 本章小結 21
第二部分 基礎篇——Android世界的精彩之旅
第3章 Android應用程序架構 23
3.1 Android應用程序中的資源 23
3.1.1 資源存放在哪里 23
3.1.2 資源的種類 23
3.1.3 資源的基本使用方法 24
3.2 Android的應用程序組件 25
3.2.1 活動(Activity)組件 25
3.2.2 服務(Service)組件 25
3.2.3 廣播接收者(Broadcast receivers)
組件 26
3.2.4 內容提供者(Content providers)
組件 26
3.3 AndroidManifest.xml文件的結構 26
3.4 本章小結 27
第4章 建立用戶接口 28
4.1 建立、配置和使用Activity 28
4.1.1 建立和配置Activity 28
4.1.2 Activity的生命周期 30
實例1:演示Activity的生命周期 31
4.2 視圖(View) 33
4.2.1 視圖簡介 34
4.2.2 使用XML布局文件控制視圖 34
4.2.3 在代碼中控制視圖 35
實例2:混合使用XML布局文件和代碼
來控制視圖 37
4.2.4 定制組件(Widget)的三種方式 39
實例3:定制組件——帶圖像的TextView 39
實例4:定制組件——帶文本標簽的
EditText 42
實例5:定制組件——可更換表盤的指針
時鐘 44
4.3 使用AlertDialog類創建對話框 49
4.3.1 AlertDialog類簡介 49
4.3.2 【確認/取消】對話框 49
實例6:創建詢問是否刪除文件的
【確認/取消】對話框 50
4.3.3 帶3個按鈕的對話框 51
實例7:創建【覆蓋/忽略/取消】對話框 51
4.3.4 簡單列表對話框 52
4.3.5 單選列表對話框 53
4.3.6 多選列表對話框 53
實例8:創建3種選擇省份的列表對話框 54
4.3.7 水平進度對話框和圓形進度對話框 58
實例9:水平進度對話框和圓形進度
對話框演示 58
4.3.8 自定義對話框 61
實例10:創建登錄對話框 61
實例11:使用Activity托管對話框 63
實例12:創建懸浮對話框和觸摸任何位置
都可以關閉的對話框 64
4.4 Toast和Notification 67
4.4.1 用Toast顯示提示信息框 67
4.4.2 Notification與狀態欄信息 68
4.5 菜單 70
4.5.1 創建選項菜單 70
4.5.2 設置與菜單項關聯的圖像和
Activity 71
4.5.3 響應選項菜單項單擊事件的
3種方式 71
4.5.4 動態添加、修改和刪除選項菜單 72
4.5.5 創建帶復選框和選項按鈕的子菜單 73
4.5.6 創建上下文菜單 74
4.5.7 菜單事件 75
實例13:Activity菜單、子菜單、上下文
菜單演示 75
4.6 布局 76
4.6.1 框架布局(FrameLayout) 76
實例14:霓虹燈效果的TextView 77
4.6.2 線性布局(LinearLayout) 78
實例15:利用LinearLayout將按鈕放在屏幕
的四角和中心位置 80
4.6.3 相對布局(RelativeLayout) 81
實例16:利用RelativeLayout實現梅花效果
的布局 81
4.6.4 表格布局(TableLayout) 82
實例17:計算器按鈕的布局 82
4.6.5 絕對布局(AbsoluteLayout) 83
4.7 本章小結 83
第5章 組件詳解 84
5.1 顯示和編輯文本的組件 84
5.1.1 顯示文本的組件:TextView 85
實例18:在TextView中顯示URL及不同
字體大小、不同顏色的文本 86
實例19:帶邊框的TextView 88
5.1.2 輸入文本的組件:EditText 89
實例20:在EditText中輸入特定的字符 90
實例21:按回車鍵顯示EditText 91
5.1.3 自動完成輸入內容的組件:
AutoCompleteTextView 92
5.2 按鈕與復選框組件 93
5.2.1 普通按鈕組件:Button 93
實例22:異形(圓形、五角星、螺旋形
和箭頭)按鈕 94
5.2.2 圖像按鈕組件:ImageButton 95
實例23:同時顯示圖像和文字的按鈕 96
5.2.3 選項按鈕組件:RadioButton 96
5.2.4 開關狀態按鈕組件:ToggleButton 97
5.2.5 復選框組件:CheckBox 97
實例24:利用XML布局文件動態創建
CheckBox 98
5.3 日期與時間組件 100
5.3.1 輸入日期的組件:DatePicker 100
5.3.2 輸入時間的組件:TimePicker 100
實例25:DatePicker、TimePicker與
TextView同步顯示日期和時間 100
5.3.3 顯示時鐘的組件:AnalogClock和
DigitalClock 101
5.4 進度條組件 102
5.4.1 進度條組件:ProgressBar 102
5.4.2 拖動條組件:SeekBar 103
實例26:改變ProgressBar和SeekBar
的顏色 104
5.4.3 評分組件:RatingBar 105
5.5 其他重要組件 106
5.5.1 顯示圖像的組件:ImageView 106
實例27:可顯示圖像指定區域的ImageView
組件 107
實例28:動態縮放和旋轉圖像 108
5.5.2 列表組件:ListView 109
實例29:可以單選和多選的ListView 111
實例30:動態添加、刪除ListView列表項 112
實例31:改變ListView列表項選中狀態
的背景顏色 115
5.5.3 封裝ListView的Activity:
ListActivity 116
實例32:使用SimpleAdapter建立復雜
的列表項 116
實例33:給應用程序評分 117
5.5.4 可展開的列表組件:
ExpandableListView 120
5.5.5 下拉列表組件:Spinner 121
5.5.6 垂直滾動視圖組件:ScrollView 123
5.5.7 水平滾動視圖組件:
HorizontalScrollView 123
實例34:可垂直和水平滾動的視圖 124
5.5.8 網格視圖組件:GridView 124
5.5.9 可循環顯示和切換圖像的組件:
Gallery和ImageSwitcher 125
5.5.10 標簽組件:TabHost 127
5.6 本章小結 128
第6章 移動存儲解決方案 129
6.1 最簡單的數據存儲方式:
SharedPreferences 129
6.1.1 使用SharedPreferences存取數據 129
6.1.2 數據的存儲位置和格式 131
實例35:存取復雜類型的數據 131
6.1.3 設置數據文件的訪問權限 133
6.1.4 可以保存設置的Activity:
PreferenceActivity 134
6.2 文件的存儲 137
6.2.1 openFileOutput和openFileInput方法 137
實例36:SD卡文件瀏覽器 138
實例37:存取SD卡中的圖像 142
6.2.2 SAX引擎讀取XML文件的原理 143
實例38:將XML數據轉換成Java對象 144
6.4 SQLite數據庫 147
6.4.1 SQLite數據庫管理工具 147
6.4.2 創建數據庫和表 148
6.4.3 模糊查詢 149
6.4.4 分頁顯示記錄 149
6.4.5 事務 149
6.5 在Android中使用SQLite數據庫 149
6.5.1 SQLiteOpenHelper類與自動
升級數據庫 150
6.5.2 SimpleCursorAdapter類與數據綁定 150
實例39:帶照片的聯系人管理系統 153
6.5.3 將數據庫與應用程序一起發布 156
實例40:英文詞典 156
6.6 抽象的標準——內容提供者
(ContentProvider) 159
實例41:將聯系人管理和英文字典集成
到自己的應用中 160
6.7 本章小結 165
第7章 應用程序之間的通訊 166
7.1 Intent與Activity 166
7.1.1 用Intent啟動Activity,并在
Activity之間傳遞數據 166
7.1.2 調用其他應用程序中的Activity(撥打
電話、瀏覽網頁、發Email等) 169
7.1.3 定制自己的Activity Action 172
實例42:將電子詞典的查詢功能共享成
一個Activity Action 174
7.2 接收和發送廣播 175
7.2.1 接收系統廣播 175
實例43:開機可自動運行的程序 176
實例44:收到短信了,該做點什么 176
實例45:顯示手機電池的當前電量 178
7.2.2 在自己的應用程序中發送廣播 179
實例46:接收聯系人系統中發送的添加
聯系人廣播 180
7.3 本章小結 181
第8章 Android服務 182
8.1 Service起步 182
8.1.1 Service的生命周期 182
8.1.2 綁定Activity和Service 185
8.1.3 在BroadcastReceiver中啟動Service 187
8.2 系統服務 188
8.2.1 獲得系統服務 188
實例47:監聽手機來電 189
實例48:來電黑名單 190
8.2.2 在模擬器上模擬重力感應 191
實例49:手機翻轉靜音 192
8.3 時間服務 194
8.3.1 計時器:Chronometer 194
8.3.2 預約時間Handler 196
8.3.3 定時器Timer 197
8.3.4 在線程中更新GUI組件 198
8.3.5 全局定時器AlarmManager 200
實例50:定時更換壁紙 201
實例51:多次定時提醒 203
8.4 跨進程訪問(AIDL服務) 205
8.4.1 什么是AIDL服務 206
8.4.2 建立AIDL服務的步驟 206
實例52:建立AIDL服務 206
實例53:傳遞復雜數據的AIDL服務 209
8.5 本章小結 213
第9章 網絡 214
9.1 可裝載網絡數據的組件 214
實例54:將網絡圖像裝載到ListView
組件中 215
實例55:Google圖像畫廊(Gallery) 217
9.2 WebView組件 221
9.2.1 用WebView組件瀏覽網頁 221
實例56:手機瀏覽器 221
9.2.2 用WebView組件裝載HTML代碼 222
實例57:將英文詞典整合到Web頁中
(JavaScript調用Java方法) 224
9.3 訪問HTTP資源 225
9.3.1 提交HTTP GET和HTTP POST
請求 225
9.3.2 HttpURLConnection類 227
實例58:上傳文件 228
實例59:遠程Apk安裝器 231
9.3.3 調用WebService 232
實例60:通過WebService查詢產品信息 233
9.4 本章小結 236
第10章 多媒體 237
10.1 圖形 237
10.1.1 圖形繪制基礎 237
實例61:繪制基本的圖形和文本 239
10.1.2 繪制位圖 243
實例62:用兩種方式繪制位圖 243
10.1.3 設置顏色的透明度 244
實例63:可任意改變透明度的位圖 245
10.1.4 旋轉圖像 246
實例64:旋轉動畫 246
10.1.5 扭曲圖像 247
實例65:按圓形軌跡扭曲圖像 248
10.1.6 拉伸圖像 251
實例66:拉伸圖像演示 251
10.1.7 路徑 253
實例67:沿著路徑繪制文本 256
實例68:可在圖像上繪制圖形的畫板 258
10.2 音頻和視頻 262
10.2.1 使用MediaPlayer播放MP3文件 262
10.2.2 使用MediaRecorder錄音 263
10.2.3 使用VideoView播放視頻 264
10.2.4 使用SurfaceView播放視頻 264
10.3 本章小結 265
第三部分 進階篇——深入Android世界的腹地
第11章 2D動畫 267
11.1 幀(Frame)動畫 267
AnimationDrawable與幀動畫 267
實例69:通過幀動畫方式播放Gif動畫 269
實例70:播放幀動畫的子集 271
11.2 補間(Tween)動畫 273
11.2.1 移動補間動畫 273
實例71:循環向右移動的EditText與
上下彈跳的球 275
11.2.2 縮放補間動畫 277
實例72:跳動的心 277
11.2.3 旋轉補間動畫 279
實例73:旋轉的星系 279
11.2.4 透明度補間動畫 280
實例74:投擲炸彈 281
11.2.5 振動效果 283
11.2.6 自定義動畫渲染器(Interceptor) 284
11.2.7 以動畫方式切換View的組件
ViewFlipper 285
11.3 本章小結 287
第12章 OpenGL ES編程 288
12.1 OpenGL簡介 288
12.2 構建OpenGL ES的基本開發框架 289
12.3 2D圖形繪制 290
12.3.1 多邊形 290
12.3.2 顏色 292
12.3.3 旋轉 293
12.4 3D圖形繪制 294
12.4.1 旋轉立方體 294
12.4.2 在立方體上顯示紋理 295
12.4.3 光照下的立方體 296
12.4.4 透明的立方體 298
12.5 本章小結 298
第13章 資源、國際化與自適應 299
13.1 Android中的資源 299
13.1.1 Android怎么存儲資源 300
13.1.2 資源的種類 300
13.1.3 資源文件的命名 301
13.2 定義和使用資源 301
13.2.1 使用系統資源 301
13.2.2 字符串(String)資源 302
13.2.3 數組(Array)資源 303
13.2.4 顏色(Color)資源 305
13.2.5 尺寸(Dimension)資源 306
13.2.6 類型(Style)資源 307
13.2.7 主題(Theme)資源 308
13.2.8 繪畫(Drawable)資源 309
13.2.9 動畫(Animation)資源 310
13.2.10 菜單(Menu)資源 310
13.2.11 布局(Layout)資源 313
13.2.12 屬性(Attribute)資源 313
實例75:改進可顯示圖標的IconTextView
組件 315
13.2.13 XML資源 316
13.2.14 RAW資源 317
13.2.15 ASSETS資源 317
13.3 國際化和資源自適應 318
13.3.1 對資源進行國際化 318
13.3.2 Locale與國際化 320
13.3.3 常用的資源配置 320
13.4 本章小結 321
第14章 訪問Android手機的硬件 322
14.1 在手機上測試硬件 322
14.1.1 安裝Android USB驅動 322
14.1.2 在手機上測試程序 324
14.1.3 在手機上調試程序 324
14.2 錄音 325
14.3 控制手機攝像頭(拍照) 326
14.3.1 調用系統的拍照功能 326
14.3.2 實現自己的拍照Activity 328
14.4 傳感器在手機中的應用 332
實例76:電子羅盤 333
實例77:計步器 334
14.5 GPS與地圖定位 335
14.5.1 Google地圖 336
14.5.2 用GPS定位到當前位置 339
14.6 WIFI 340
14.7 本章小結 342
第15章 放在桌面上的小玩意 343
15.1 窗口小部件(App Widget) 343
15.1.1 在Android桌面上添加
App Widget 343
15.1.2 開發App Widget的步驟 344
實例78:數字時鐘 346
15.1.3 AppWidgetProvider類 348
15.1.4 向App Widget添加配置Activity 349
實例79:可以選擇風格的數字時鐘 349
15.2 快捷方式 353
15.2.1 向快捷方式列表中添加快捷方式 353
15.2.2 直接將快捷方式放到桌面上 354
15.3 實時文件夾(LiveFolder) 354
15.4 本章小結 356
第16章 NDK編程 357
16.1 Android NDK簡介 357
16.2 安裝、配置和測試NDK開發環境 358
16.2.1 系統和軟件要求 358
16.2.2 下載和安裝Android NDK 358
16.2.3 下載和安裝Cygwin 359
16.2.4 配置Android NDK的開發環境 361
16.2.5 編譯和運行NDK自帶的例子 362
16.3 Android NDK開發 364
16.3.1 JNI接口設計 364
16.3.2 編寫Android NDK程序的步驟 365
實例80:將文件中的小寫字母轉換成
大寫字母(NDK版本) 365
16.3.3 配置Android.mk文件 367
16.3.4 Android NDK定義的變量 368
16.3.5 Android NDK定義的函數 369
16.3.6 描述模塊的變量 369
16.3.7 配置Application.mk文件 370
16.4 本章小結 371
第17章 整合Android與腳本語言 372
17.1 Android腳本環境簡介 372
17.2 Android腳本環境安裝 373
17.3 編寫和運行Android腳本 374
17.4 本章小結 376
第18章 Android平臺的新特性展示 377
18.1 Android平臺的新特性 377
18.1.1 Android 1.6的新特性 377
18.1.2 Android 2.0的新特性 379
18.2 Android Framework API演變 379
18.2.1 Android 1.6 Framework API的變化 379
18.2.2 Android 2.x Framework API的變化 380
18.3 實時壁紙(Live Wallpapers,
Android 2.1) 380
18.4 補間動畫渲染器(Android 1.6) 387
18.4.1 Anticipate渲染器 388
18.4.2 Overshoot渲染器 388
18.4.3 Anticipate/Overshoot渲染器 388
18.4.4 Bounce渲染器 388
18.5 本章小結 389
第19章 另類的輸入輸出 390
19.1 手勢(Gesture) 390
19.1.1 創建手勢文件 390
19.1.2 通過手勢輸入字符串 391
19.1.3 通過手勢調用程序 393
19.1.4 編寫自己的手勢創建器 394
19.2 讓手機說話(TTS) 395
19.3 本章小結 396
第20章 藍牙 397
20.1 藍牙簡介 397
20.2 打開和關閉藍牙設備 398
20.3 搜索藍牙設備 398
20.4 藍牙Socket 400
20.5 OBEX服務器 402
20.6 本章小結 403
第四部分 OPhone篇——進入OPhone世界
第21章 OPhone入門 405
21.1 OPhone平臺概述 405
21.1.1 OPhone的系統架構 405
21.1.2 JIL Widget的運行環境 406
21.1.3 OPhone應用程序展示 406
21.2 OPhone開發環境搭建 407
21.2.1 安裝ODT和WDT 407
21.2.2 測試一下ODT是否安裝成功 407
21.2.3 測試一下WDT是否安裝成功 407
21.3 在真機上調試程序 408
21.4 本章小結 410
第22章 OPhone的API擴展 411
22.1 視頻電話 411
22.1.1 撥打視頻電話 411
22.1.2 掛斷視頻電話 411
實例81:可撥打視頻電話的程序 412
22.2 搜索API 413
22.3 本章小結 414
第23章 JIL Widget開發詳解 415
23.1 編寫第一個JIL Widget程序 415
23.2 多媒體 417
23.2.1 播放音頻 417
23.2.2 播放視頻 418
23.3 操作文件 418
23.3.1 獲得與文件相關的信息 419
23.3.2 操作文件 419
23.3.3 操作文件夾 421
23.4 獲得系統信息 422
23.4.1 獲得電池信息 422
23.4.2 獲得手機信號信息 423
23.4.3 獲得設備信息 424
23.4.4 獲得設備狀態信息 424
23.5 控制硬件 425
23.5.1 拍照和攝像 426
23.5.2 打電話 426
23.5.3 手機振動 426
23.6 本章小結 427
第五部分 綜合實例篇——實踐是檢驗真理的唯一標準
第24章 萬年歷 429
24.1 主界面設計與實現 429
24.1.1 萬年歷的核心類:Calendar 429
24.1.2 日歷內容元素的基類:
CalendarParent 431
24.1.3 繪制萬年歷邊框:Border類 431
24.1.4 繪制周名稱:Week類 432
24.1.5 繪制日期和網格:Grid類 433
24.1.6 日歷視圖:CalendarView類 440
24.1.7 生成萬年歷的主界面 442
24.2 選項菜單功能 443
24.2.1 切換到今天的日期 443
24.2.2 指定日期 443
24.3 可以寫日記和提醒的萬年歷 444
24.3.1 顯示所有的記錄信息:
AllRecord類 444
24.3.2 添加和修改記錄:Record類 446
24.3.3 設置提醒時間 447
24.3.4 啟動服務 448
24.3.5 在廣播接收器中顯示提醒界面 449
24.3.6 訪問數據庫:DBService 450
24.4 本章小結 454
第25章 知道當前位置的Google GTalk
機器人 455
25.1 GTalk的通訊協議和技術 455
25.1.1 Jabber和XMPP 455
25.1.2 XMPP客戶端庫:Smack和Asmack 456
25.2 登錄GTalk:Login類 456
25.3 聯系人信息 458
25.3.1 顯示聯系人列表 458
25.3.2 監聽聯系人是否上線 460
25.4 聯系人之間的通訊 461
25.4.1 發送聊天信息 462
25.4.2 接收聊天信息 462
25.4.3 自動回復當前的位置(GPS定位) 465
25.5 本章小結 466
- Android高級程序設計 [主編 周雯 舒松]
- 基于Android平臺的移動開發技術 [主編 徐碩博 黃衛東 賈雁]
- Android 應用開發項目實戰 [主編 梁 琨 朱冰鴻]
- Android開發基礎教程 [黃日勝 謝志偉 楊凌 楊琳芳]
- Android項目開發實戰 [趙善龍 李旭東]
- Android應用開發基礎教程 [主編 巫湘林]
- Java ME手機應用程序開發 [易燦 李志勇 編著]
- Android軟件應用與實踐 [主編 梁平 高峰]
- Visual C++ & Android程序設計綜合實訓(第二版) [主編 梁建武]
- Android開發完全講義(第三版) [李寧]
- Android開發實用教程 [主編 王建華 張偉]
- Android基礎教程 [余 平 張建華]
- Android 4.X手機/平板電腦程序設計入門、應用到精通(第二版) [孫宏明 著]
- Linux/Android開發利器——ARM DS-5使用指南 [崔更申 秦興國]
- Android開發完全講義(第二版) [李寧 編著]
- Android手機/平板電腦程序開發教練 [黃彬華 編著]
- Android手機程序設計入門、應用到精通 [孫宏明 著]
- ARM Cortex-A8嵌入式系統開發與實踐——WinCE與Android平臺 [上海怡鼎信息科技有限公司 倪旭]
- 手機動漫游戲設計教程 [房曉溪 編著]