Android套用開發詳解

Android套用開發詳解

《Android套用開發詳解》的作者是郭宏志 ,於2010年6月出版。該書分為三個部分,共18章,由淺入深地詳細介紹了Android的每個開發細節。 該書基礎翔實,實例豐富,案例真實。

基本介紹

  • 書名:Android套用開發詳解
  • 作者:郭宏志 
  • ISBN:978-7-121-10875-4 
  • 頁數:508 頁
  • 定價:59.80元(含CD光碟1張)
  • 出版時間:2010年6月
  • 開本:16開
編輯推薦,內容簡介,前 言,目 錄,

編輯推薦

案例真實,拿來就用
覆蓋全面,從入門到精通
魚我所欲也,漁亦我所欲也。這是一本魚漁兼得的好書。

內容簡介

Android套用開發詳解是一本Android套用開發書籍,既適合Android初學者,也適合具備了一定Android開發經驗但需要開發案例的高級讀者。 從基礎到案例覆蓋了Android套用開發的三大領域:基礎套用、網路套用和遊戲套用。讀者所需要學習的,正是該書描述的。

前 言

移動網際網路時代 來臨,一個嶄新的時代開始了。所謂移動網際網路就是將移動通信和網際網路整合在一起,使移動設備(包括手機和上網本)可以隨時隨地地訪問網際網路資源和套用。網際網路時代創造了一個經濟神話,也造就了很多時代英雄,他們一個個令人仰慕。試想為數億的手機用戶和數億的網民建立一個共同的平台,使其套用到企業、商業和和農村之間,又會是怎樣一個驚天動地的偉業呢?新時代開始了,你願意輸在起跑線上嗎?
智慧型手機 是移動網際網路時代一個標誌性的客戶端工具,它和傳統的手機是有區別的,它就像一台“小電腦”,具有獨立的作業系統,可以自由安裝、卸載軟體,具有強大的計算和存儲能力,可以通過移動通信網路來實現無線網路接入。智慧型手機一般具備如下特點:高速度處理晶片、大存儲晶片和存儲擴展能力、面積大、標準化、可觸摸的顯示屏、攝像頭至少300萬像素、支持播放式的手機電視、必須支持GPS導航、作業系統必須支持新套用的安裝等。
網際網路的競爭格局基本定型,那么移動網際網路時代競爭的焦點在智慧型手機終端上,軟體部分包括智慧型手機作業系統和套用軟體。
目前智慧型手機作業系統有:諾基亞的Symbian、蘋果的iOS、微軟的Windows Mobile和Google的Android等。
Google 於1998年9月7日創立,經過十幾年在搜尋引擎方面的精耕細作,成為全球網際網路巨頭,尤其在地圖搜尋的套用更是引人注目。Google於2007年11月5日宣布的基於Linux平台的開源手機作業系統,名稱為Android,中文譯為“機器人”。這意味著Google在移動網際網路時代開始搶跑並領跑。
Android 是一個真正意義上的開源智慧型手機作業系統,該系統由底層的Linux、中間層的軟體包和上層的Java應用程式組合而成。該系統一經推出立即受到了全球移動設備廠商和開發者的熱捧。
2008年9月22日,美國運營商T-Mobile USA在紐約正式發布第一款Google手機——T-Mobile G1。該款手機為中國台灣宏達電代工製造,是世界上第一部使用Android作業系統的手機,它支持WCDMA/HSPA網路,理論下載速率為7.2Mbps,並支持Wi-Fi。到了2010年1月,Google開始發布自家品牌手機Nexus One。該款手機使用的作業系統是Android 2.1。如下左圖為G1,右圖為Nexus One。
圖1 G1和Nexus One
內容簡介
本書分為三個部分,包括基礎篇、技術篇和套用篇。由淺入深地講述了Android套用開發的方方面面。
篇 名 章 名 內容簡介
第一篇 基礎篇 第1章 Android概述 Android概述,講述了Android的前生後世、架構和特點、Android Market、應用程式組件和Android與Java ME的區別及聯繫
第2章 Android開發基礎 Android開發基礎,講述了Android開發環境的搭建、Android常用工具的使用和第一個Android應用程式的開發
第二篇 技術篇 第3章 Android中的資源訪問 Android 中的資源訪問,講述了如何定義和訪問Android中的外部資源。
第4章 Android用戶界面 Android 用戶界面,講述了Android中的事件處理機制、布局管理和常用組件的使用。
第5章 Android基本程式單元Activity Android 基本程式單元Activity,講述了Android中重要組件Activity的創建、啟動和生命周期等內容
續表
篇 名 章 名 內容簡介
第二篇 技術篇 第6章 Android組件之間的信使Intent Android 組件之間的信使Intent,講述了Intent對象及其屬性、Intent的實現策略和Intent的常見套用
第7章 Android Service組件 Android Service組件,講述了Android中的後台服務Service的概念、創建和使用,並詳細講解了遠程服務的調用
第8章 Android廣播事件處理 Broadcast Receiver Android 廣播事件處理 Broadcast Receiver,講述了廣播事件處理機制、Notification、NotificationManager和AlarmManager的使用
第9章 Android中的數據存取 Android中的數據存取,講述了Android的四種數據存取方法:Preference、File、SQLite和Network
第10章 Content Provider Content Provider,講述了Android不同應用程式之間相互共享數據的機制,包括ContentProvider和ContentResolver
第11章 Android中的多媒體套用 Android中的多媒體套用,講述了Android的圖片套用、音頻及視頻播放、音頻及視頻錄製和照相機的使用
第12章 Android中的圖形圖像 Android中的圖形圖像,講述了Android中的圖片、動畫、圖形繪製和圖形特效
第13章 Android中的網際網路套用 Android中的網際網路套用,講述了Android中的各種網路套用,包括Socket、URL、HTTP、Web Service和WebView組件
第14章 Android中的GPS套用 Android中的GPS套用,講述了LocationManager、LocationProvider、跟蹤、定位、Geocoder正逆向編解碼和可視化位置服務
第三篇 套用篇 第15章 Android套用案例——移動警務通 Android 套用案例——移動警務通,通過一個真實的商業案例講解了Android的各種套用,本項目包括信息採集、信息查詢、照片上傳、GPS定位等綜合警務套用
第16章 Android套用案例——雷電遊戲 Android 套用案例——雷電遊戲,通過一個完整的雷電遊戲,講述了Android的遊戲開發思路、框架和具體實現,並比較了Android遊戲開發和Java ME遊戲開發的異同,成功移植了Java ME遊戲API到Android當中
第17章 Android套用案例——備忘錄 Android 套用案例——備忘錄,通過一個Android基礎套用項目綜合套用了Android中的各種組件,包括Activity、Service、Broadcast Receiver、ContentProvider、Intent和View的套用
第18章 Android套用案例——無線點餐系統 Android 套用案例——無線點餐系統,通過一個真實的商業案例講解了Android的各種套用,本項目包括操作員登錄、點餐、結算、轉台、並台、查台、更新數據和退出系統等餐廳點餐的常用操作
本書特點
1.實例豐富,步步為“贏”
作為一名從業多年的開發人員,筆者深刻體會到技術型書籍中的實例代碼對讀者的重要意義,所以本書實例占據了本書的很大篇幅;作為一名多年的培訓講師,筆者也掌握了如何“傳道”的技巧,這種技巧就是“編程思路”,也叫“編程步驟”,所以本書中每個實例開始部分都有概括性的步驟總結,使讀者有“畫竹必先有成竹於胸”的感受。
2.代碼整齊,注釋清晰
為了使讀者更好更快地學習Android,書中的代碼非常整齊,並且每行代碼都有注釋。下面的代碼段演示了有注釋的程式和沒有注釋的程式。
本書內容的介紹:
作為一本android套用開發書籍,本書既適合android初學者,也適合具備了一定android開發經驗但需要開發案例的高級讀者。
本書分為三個部分,共18章,由淺入深地詳細介紹了android的每個開發細節。
本書基礎翔實,實例豐富,案例真實。從基礎到案例覆蓋了android套用開發的三大領域:基礎套用、網路套用和遊戲套用。讀者所需要學習的,正是本書描述的。
?有注釋
package com.amaker.ch03.dimen;
import android.app.Activity;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.Button;
import com.amaker.test.R;
/**
*
* @author 郭宏志
* 測試尺寸資源
*/
public class TestDimensionActivity extends Activity {
private Button myButton;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 設定當前Activity的內容布局視圖
setContentView(R.layout.test_dimen);
// 通過findViewById方法獲得Button實例
myButton = (Button)findViewById(R.id.Button01);
// 獲得Resources 實例
Resources r = getResources();
// 通過getDimension方法獲得尺寸值
float btn_h = r.getDimension(R.dimen.btn_height);
float btn_w = r.getDimension(R.dimen.btn_width);
// 設定按鈕的寬
myButton.setHeight((int)btn_h);
// 設定按鈕的高
myButton.setWidth((int)btn_w);
}
}
?沒有注釋
package com.amaker.ch03.dimen;
import android.app.Activity;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.Button;
import com.amaker.test.R;
public class TestDimensionActivity extends Activity {
private Button myButton;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test_dimen);
myButton = (Button)findViewById(R.id.Button01);
Resources r = getResources();
float btn_h = r.getDimension(R.dimen.btn_height);
float btn_w = r.getDimension(R.dimen.btn_width);
myButton.setHeight((int)btn_h);
myButton.setWidth((int)btn_w);
}
}
3.案例真實,覆蓋全面
本書分為三篇,從Android的基礎知識講到Android的項目實戰,覆蓋了Android套用開發的三大領域:基礎開發、網際網路套用開發和遊戲開發。
致謝
最後衷心地感謝我的父母、家人、朋友、同學和同行的夥伴們。再次感謝我的父母,感謝你們對我的培養和寄予的厚望,感謝你們拖著年邁的身體為我照料那個讓人可愛又可恨的女兒。
感謝電子工業出版社的胡辛征老師在寫作風格和布局謀篇方面給予的建議和幫助,感謝江立老師耐心細緻的編輯、修正。他們的豐富經驗和認真負責的態度,使得本書從開始粗糙的初稿變成最後精美的成書。
郭宏志
2010年3月

目 錄

第一篇 基礎篇
第1章 Android概述 2
1.1 Android的前世今生 3
1.1.1 Android的產生 3
1.1.2 Android的發展 3
1.2 Android的平台架構及特性 4
1.2.1 Android平台特性 5
1.2.2 Android平台架構 5
1.3 Android Market 7
1.4 Android應用程式組件 8
1.4.1 Activity 9
1.4.2 Service 9
1.4.3 Broadcast Receiver 9
1.4.4 ContentProvider 9
1.4.5 View 10
1.4.6 Intent 10
1.5 Android與Java ME的區別與聯繫 10
1.5.1 二者的區別 10
1.5.2 二者的聯繫 10
1.5.3 各自的優勢 11
第2章 Android開發基礎 12
2.1 Android開發環境的搭建 12
2.1.1 下載Android SDK 13
2.1.2 下載安裝JDK 15
2.1.3 下載Eclipse 16
2.1.4 下載安裝ADT 16
2.2 Android常用工具的使用 18
2.2.1 創建Android Virtual Devices(AVD) 18
2.2.2 模擬器(Emulator)的使用 20
2.2.3 Android Debug Bridge(ADB)的使用 20
2.2.4 Dalvik Debug Monitor Service(DDMS)的使用 21
2.2.5 Android Asset Packaging Tool(AAPT)的使用 22
2.2.6 DX的使用 22
2.2.7 mksdcard的使用 22
2.3 我的第一個Android套用 22
2.3.1 純手工創建一個Android套用 22
2.3.2 使用Eclipse創建一個Android套用 25
第二篇 技術篇
第3章 Android中的資源訪問 32
3.1 資源簡介 33
3.1.1 資源的類型和布局 33
3.1.2 資源檔案的使用 33
3.2 使用顏色(color)資源 35
3.2.1 顏色值定義 35
3.2.2 顏色資源XML檔案的定義 35
3.2.3 使用顏色資源 36
3.3 使用字元串(string)資源 37
3.3.1 字元串資源XML檔案的定義 37
3.3.2 字元串資源XML檔案的使用 38
3.4 使用尺寸(dimen)資源 39
3.4.1 Android中支持的尺寸單位 39
3.4.2 尺寸資源XML檔案的定義 40
3.4.3 尺寸資源XML檔案的使用 40
3.5 使用原始XML資源 42
3.5.1 原始XML資源檔案的定義 42
3.5.2 原始XML檔案的使用 42
3.6 使用drawables資源 45
3.7 使用布局(layout)資源 47
3.7.1 布局檔案的定義 47
3.7.2 布局檔案的使用 48
3.8 使用選單(menu)資源 49
3.8.1 選單資源檔案的定義 50
3.8.2 選單資源檔案的使用 51
第4章 Android用戶界面 55
4.1 選單 55
4.1.1 選項選單(Option Menu) 56
4.1.2 上下文選單(Context Menu) 57
4.1.3 子選單(Sub Menu) 59
4.2 對話框 61
4.3 提示信息(Toast) 64
4.4 事件處理 66
4.4.1 事件處理機制 66
4.4.2 Android中的事件監聽器 68
4.4.3 事件處理步驟 69
4.5 布局管理(Layout) 72
4.5.1 線性布局 73
4.5.2 幀布局 75
4.5.3 表格布局 76
4.5.4 相對布局 77
4.5.5 絕對布局 78
4.6 組件(Widget) 79
4.6.1 常用組件 79
4.6.2 自動完成文本框(AutoCompleteTextView) 86
4.6.3 選項卡(Tab) 88
4.6.4 進度條ProgressBar) 91
4.6.5 日期、時間選擇對話框(DataPickerDialog、TimePickerDialog) 95
4.6.6 列表視圖(ListView) 97
4.6.7 格線視圖(GridView) 99
4.6.8 畫廊視圖(Gallery) 101
4.6.9 地圖視圖(MapView) 105
4.6.10 網路視圖(WebView) 108
第5章 Android基本程式單元Activity 111
5.1 何謂回調 111
5.2 Activity簡介 113
5.2.1 Activity的創建 113
5.2.2 啟動另一個Activity 115
5.2.3 Activity之間傳遞數據 117
5.2.4 啟動另一個Activity並返回結果 121
5.3 Activity的生命周期 126
第6章 Android組件之間的信使Intent 130
6.1 Intent對象及其屬性 131
6.1.1 Intent的ComponentName屬性 131
6.1.2 Intent的Action屬性 135
6.1.3 Intent的Data屬性 140
6.1.4 Intent的Category屬性 141
6.1.5 Intent的Extras屬性 142
6.2 系統標準Activity Action套用 144
6.2.1 和打電話相關的標準Activity Action套用 145
6.2.2 訪問瀏覽器和地圖 147
6.2.3 發郵件 149
6.3 Intent的實現策略 151
第7章 Android Service組件 159
7.1 Service簡介 159
7.1.1 創建一個Service 159
7.1.2 啟動和停止Service 160
7.1.3 綁定一個已經存在的Service 161
7.1.4 Service實例演示 161
7.2 遠程Service調用 166
7.2.1 創建一個AIDL檔案 166
7.2.2 實現AIDL檔案生成的Java接口 170
7.2.3 將你的接口暴露給客戶端 171
7.2.4 客戶端調用 171
第8章 Android廣播事件處理 Broadcast Receiver 173
8.1 自己定義Broadcast Receiver來處理廣播事件 173
8.2 系統廣播事件的使用 176
8.3 Notification和NotificationManager的使用 178
8.3.1 Notification和NotificationManager簡介 178
8.3.2 通知實例演示 179
8.4 AlarmManager的使用 186
第9章 Android中的數據存取 190
9.1 Preference 190
9.1.1 Preference簡介 190
9.1.2 Preference套用實例——保存臨時簡訊 191
9.2 File 193
9.3 SQLite 195
9.3.1 SQLiteDatabase 195
9.3.2 SQLiteOpenHelper 199
9.3.3 SQLite套用實例——收藏管理 201
第10章 Content Provider 208
10.1 Content Provider簡介 208
10.1.1 Content Provider的常用方法 208
10.1.2 ContentResolver 209
10.1.3 URI 209
10.1.4 查詢系統ContentProvider內容 210
10.1.5 添加系統ContentProvider內容 211
10.1.6 添加系統ContentProvider圖片內容 211
10.2 自定義ContentProvider 212
10.2.1 創建ContentProvider的步驟 212
10.2.2 ContentProvider實例 213
第11章 Android中的多媒體套用 221
11.1 音頻及視頻播放 221
11.1.1 從源檔案中播放 221
11.1.2 從檔案系統中播放 222
11.1.3 從網路中播放 222
11.2 迷你音樂播放器 223
11.3 迷你視頻播放器 228
11.4 音視頻的錄製 229
11.5 Camera照相 233
第12章 Android中的圖形圖像 238
12.1 在Android中訪問圖片 238
12.1.1 使用圖片檔案創建Drawable對象 239
12.1.2 使用XML檔案定義Drawable屬性 240
12.1.3 Bitmap和BitmapFactory 241
12.2 Android中的動畫 242
12.2.1 Tween動畫 242
12.2.2 Frame動畫 251
12.3 動態圖形繪製 253
12.3.1 動態圖形繪製的基本思路 253
12.3.2 動態圖形繪製類簡介 256
12.3.3 繪製幾何圖形 257
12.4 圖形特效 261
12.4.1 使用Matrix實現旋轉、縮放和平移 261
12.4.2 使用Shader類渲染圖形 264
第13章 Android中的網際網路套用 268
13.1 通過Socket、ServerSocket進行網路編程 268
13.1.1 Socket、ServerSocket編程模型 268
13.1.2 Socket編程實例 269
13.2 通過URL進行網路編程 271
13.3 通過HTTP進行網路編程 273
13.3.1 使用HttpURLConnection 273
13.3.2 使用Apache HTTP客戶端 278
13.4 通過Web Service進行網路編程 280
13.5 直接使用WebView視圖組件顯示網頁 285
13.5.1 使用WebView打開網頁 285
13.5.2 使用WebView載入HTML 286
第14章 Android中的GPS套用 287
14.1 LocationManager和LocationProvider簡介 287
14.1.1 LocationManager 288
14.1.2 LocationProvider 288
14.2 通過模擬器測試位置服務 289
14.3 獲得LocationProvider 292
14.3.1 通過名稱獲得LocationProvider 292
14.3.2 獲得當前可利用的LocationProvider 292
14.3.3 根據Criteria條件獲得LocationProvider 292
14.4 定位和跟蹤 293
14.4.1 定位 294
14.4.2 跟蹤 296
14.5 趨近警告 298
14.6 Geocoder正逆向編解碼 300
14.6.1 正向編碼 301
14.6.2 反向編碼 303
第三篇 套用篇
第15章 Android套用案例——移動警務通 306
15.1 移動警務通需求分析 306
15.2 移動警務通總體設計 307
15.2.1 系統架構 307
15.2.2 技術選型 307
15.2.3 系統功能 308
15.3 移動警務通詳細設計 309
15.3.1 系統包及其資源規劃 309
15.3.2 Activity界面規劃及其程式執行流程 310
15.3.3 系統資料庫設計 312
15.4 系統編碼實現 313
15.4.1 登錄模組Android客戶端實現 313
15.4.2 登錄模組伺服器端實現 320
15.4.3 程式主選單實現 325
15.4.4 信息查詢子選單實現 326
15.4.5 在逃人員查詢模組客戶端實現 327
15.4.6 在逃人員查詢模組伺服器端實現 332
15.4.7 信息採集子選單實現 338
15.4.8 機動車違章信息採集Android客戶端實現 339
15.4.9 機動車違章信息採集伺服器端實現 345
15.4.10 檔案上傳子選單實現 348
15.4.11 現場照片上傳Android客戶端實現 349
15.4.12 現場照片上傳伺服器端實現 360
15.4.13 GPS定位功能子選單實現 363
15.4.14 GPS定位“我的位置”的實現 364
15.4.15 GPS定位“按坐標查詢”的實現 369
15.4.16 GPS定位“按地址查詢”的實現 374
第16章 Android套用案例——雷電遊戲 378
16.1 Android遊戲開發基本框架 378
16.1.1 Android遊戲開發基礎 378
16.1.2 Android遊戲開發基本框架 379
16.2 將Java ME遊戲API嫁接到Android 384
16.2.1 Layer類的移植 384
16.2.2 Sprite類的移植 386
16.2.3 TiledLayer類的移植 386
16.2.4 LayerManager類的移植 386
16.3 Android版雷電遊戲的實現 387
16.3.1 雷電遊戲簡介 387
16.3.2 雷電遊戲的實現 387
第17章 Android套用案例——備忘錄 396
17.1 備忘錄數據存儲實現 396
17.1.1 資料庫表設計 396
17.1.2 備忘錄ContentProvider實現 397
17.2 備忘錄列表展示 402
17.3 備忘錄維護 405
17.4 備忘錄定時提醒 412
17.4.1 定義提醒廣播接收器 412
17.4.2 顯示提醒Activity 413
第18章 Android套用案例——無線點餐系統 417
18.1 無線點餐系統需求分析 417
18.2 無線點餐系統概要設計 417
18.2.1 系統物理架構 418
18.2.2 技術選型 418
18.2.3 系統功能 419
18.3 無線點餐系統詳細設計 422
18.3.1 系統包及其資源規劃 422
18.3.2 系統資料庫設計 423
18.4 系統編碼實現 424
18.4.1 登錄模組Android客戶端實現 424
18.4.2 登錄模組伺服器端實現 432
18.4.3 程式主選單實現 437
18.4.4 點餐功能客戶端實現 440
18.4.5 點餐功能伺服器端實現 450
18.4.6 結算模組Android客戶端實現 455
18.4.7 結算模組伺服器端實現 458
18.4.8 查台模組Android客戶端實現 466
18.4.9 查台模組伺服器端實現 470
18.4.10 更新模組Android客戶端實現 473
18.4.11 更新模組伺服器端實現 477
18.4.12 轉台模組Android客戶端實現 480
18.4.13 轉台模組伺服器端實現 482
18.4.14 並台模組Android客戶端實現 485
18.4.15 並台模組伺服器端實現 488

相關詞條

熱門詞條

聯絡我們