本教材系統(tǒng)地介紹了Android應用開發(fā)的基礎知識和實際應用。全書共分11章,包括Android開發(fā)的基礎知識、開發(fā)環(huán)境搭建、Android工程的文件系統(tǒng)分析、Android程序的運行原理、用戶界面設計、廣播消息與組件通信、后臺服務、數據存儲與訪問、位置服務與地圖應用、android網絡編程(訪問Web服務器與手機客戶端、消息推送)等,其內容從簡單到復雜,循序漸進,結構合理,邏輯性強。
Android一詞的本義是“機器人”,是由Google公司于2007年11月對外發(fā)布的一種以Linux為基礎的開源操作系統(tǒng),主要用于移動設備。近年來,Android平臺得到了廣大手機廠商和移動運營商的廣泛支持。目前,3G智能手機的強大功能和廣泛普及,促使各高校紛紛開設Android移動平臺的開發(fā)與設計課程。
目前,市場上關于 Android移動開發(fā)相關的書籍比較多,幾乎都是針對有一定基礎的行內研發(fā)人員而編寫的,而符合高校Android教學需要、真正從零基礎開始教學的教材并不多見。為此,筆者組織一線相關教師編寫了這本符合高校教學需要的教材。
本書系統(tǒng)地介紹了Android應用開發(fā)的基礎知識和實際應用。全書共分11章,包括Android開發(fā)的基礎知識、開發(fā)環(huán)境搭建、Android工程的文件系統(tǒng)分析、Android程序的運行原理、用戶界面設計、服務與廣播接收組件、SQLite數據庫的存儲與訪問、內容提供者組件、Android近距離通信、位置服務與地圖應用、Android網絡編程(訪問Web服務器與手機客戶端、消息推送)等,其內容從簡單到復雜,循序漸進,結構合理,邏輯性強。
本書以實用為出發(fā)點,以介紹Android的四大組件為主線。對于章節(jié)中的很多知識點,本書都精心設計了典型例子以說明其用法,每章配有習題及實驗。與本書配套的教學網站, Android一詞的本義是“機器人”,是由Google公司于2007年11月對外發(fā)布的一種以Linux為基礎的開源操作系統(tǒng),主要用于移動設備。近年來,Android平臺得到了廣大手機廠商和移動運營商的廣泛支持。目前,3G智能手機的強大功能和廣泛普及,促使各高校紛紛開設Android移動平臺的開發(fā)與設計課程。
目前,市場上關于 Android移動開發(fā)相關的書籍比較多,幾乎都是針對有一定基礎的行內研發(fā)人員而編寫的,而符合高校Android教學需要、真正從零基礎開始教學的教材并不多見。為此,筆者組織一線相關教師編寫了這本符合高校教學需要的教材。
本書系統(tǒng)地介紹了Android應用開發(fā)的基礎知識和實際應用。全書共分11章,包括Android開發(fā)的基礎知識、開發(fā)環(huán)境搭建、Android工程的文件系統(tǒng)分析、Android程序的運行原理、用戶界面設計、服務與廣播接收組件、SQLite數據庫的存儲與訪問、內容提供者組件、Android近距離通信、位置服務與地圖應用、Android網絡編程(訪問Web服務器與手機客戶端、消息推送)等,其內容從簡單到復雜,循序漸進,結構合理,邏輯性強。
本書以實用為出發(fā)點,以介紹Android的四大組件為主線。對于章節(jié)中的很多知識點,本書都精心設計了典型例子以說明其用法,每章配有習題及實驗。與本書配套的教學網站,包括了教學大綱、實驗大綱、各種軟件的下載鏈接、課件和案例源代碼下載、在線測試等,極大地方便了教與學。
本書寫作特色鮮明,一是教材結構合理,對教材目錄的設置進行了深思熟慮,多次推敲,在正文中指出了相關章節(jié)知識點之間的聯系;二是知識點介紹簡明,作者精心設計的例子緊扣理論;三是采用大量的截圖,清晰地反映jar包、軟件包、類(或接口)三個軟件層次;四是通過綜合案例的設計與分析,讓學生綜合使用Android應用開發(fā)的各個知識點;五是有配套的上機實驗網站,包括實驗目的、實驗內容、在線測試(含答案和評分)和素材的提供等。
本書可以作為高等院校計算機專業(yè)和非計算機專業(yè)學生學習“Android移動平臺應用開發(fā)”等課程的教材,也可以作為Android初學者的入門參考書。
《Android應用開發(fā)案例教程》
第1章 Android應用開發(fā)概述及技術基礎
1.1 移動開發(fā)與3G智能手機
1.1.1 移動開發(fā)概述
1.1.2 Android智能手機的使用特點
1.1.3智能手機操作系統(tǒng)及其分類
1.2 360手機助手軟件的使用
1.2.1 創(chuàng)建Android手機與電腦的連接
1.2.2 Root Android手機取得Root權限
1.2.3 使用RootExplorer瀏覽手機上的系統(tǒng)文件夾
1.3 Android移動開發(fā)技術基礎
1.3.1 Android移動開發(fā)與Java Web開發(fā)
1.3.2 使用面向對象的程序設計方法
1.3.3 Android中常用的Java編程技術
1.3.4 使用XML技術 《Android應用開發(fā)案例教程》
第1章 Android應用開發(fā)概述及技術基礎
1.1 移動開發(fā)與3G智能手機
1.1.1 移動開發(fā)概述
1.1.2 Android智能手機的使用特點
1.1.3智能手機操作系統(tǒng)及其分類
1.2 360手機助手軟件的使用
1.2.1 創(chuàng)建Android手機與電腦的連接
1.2.2 Root Android手機取得Root權限
1.2.3 使用RootExplorer瀏覽手機上的系統(tǒng)文件夾
1.3 Android移動開發(fā)技術基礎
1.3.1 Android移動開發(fā)與Java Web開發(fā)
1.3.2 使用面向對象的程序設計方法
1.3.3 Android中常用的Java編程技術
1.3.4 使用XML技術
1.3.5 使用文件型數據庫—SQLite
1.4 Android系統(tǒng)架構
1.4.1 應用程序層
1.4.2 應用程序框架層
1.4.3 Android系統(tǒng)庫
1.4.4 Android運行環(huán)境
1.4.5 Linux內核及Linux文件系統(tǒng)
習題1
實驗1 Android應用開發(fā)技術基礎
第2章 Android開發(fā)環(huán)境搭建與項目運行
2.1 使用集成開發(fā)環(huán)境
2.1.1 確保已經安裝JDK
2.1.2 下載集成包Android SDK+ADT for Windows
2.1.3 開發(fā)環(huán)境的文件系統(tǒng)結構分析
2.2 Android ADT與SDK介紹
2.2.1 Android ADT作為Eclipse的一個插件
2.2.2 Android SDK目錄結構
2.2.3 Android API核心包與擴展包
2.2.4使用 SDK Manager下載Android API源碼
2.3 創(chuàng)建一個Hello工程
2.3.1 設置Eclipse工作空間
2.3.2 創(chuàng)建一個簡單的Android工程
2.4 部署和運行Android應用程序
2.4.1 創(chuàng)建Android手機模擬器AVD
2.4.2 部署Android工程到模擬器
2.4.3 部署Android工程到真手機
2.4.4 Android工程的導入與管理
2.5 Android平臺的調試方法
2.5.1 Eclipse常用的兩種視圖切換
2.5.2 查看所有項目的Problem報告
2.5.3 查看項目部署和運行的控制臺輸出
2.5.4調試日志信息Logcat
2.5.5 動態(tài)調試方法Debug
2.5.6 單元測試AndroidTestCase
2.5.7 Android之DDMS視圖
2.5.8 軟件設計的國際化與“I18n”警告性錯誤
2.6 Android簽名策略
2.6.1 導出未經簽名的應用程序
2.6.2 對應用程序簽名
習題2
實驗2 Android開發(fā)環(huán)境搭建、項目的部署和運行
第3章 Android應用程序結構及運行原理
3.1 Android工程的文件系統(tǒng)結構
3.1.1 源程序文件夾src
3.1.2 資源文件夾res、assets與gen
3.1.3 布局文件夾res/layout
3.1.4 值文件夾res/values
3.1.5 圖片文件夾res/drawable與音樂文件夾res/raw
3.1.6 編譯文件夾bin
3.1.7 工程配置清單文件AndroidManifest.xml
3.2 Android應用程序的基本組成
3.2.1 Activity組件
3.2.2 Service組件
3.2.3 BroadcastReceiver組件
3.2.4 ContentProvider組件
3.2.5 意圖對象Intent
3.2.6 Android應用程序的運行入口
3.3 Android虛擬機——Dalvik VM
3.3.1 關于DalVik VM
3.3.2 Android安裝包文件的生成過程
3.3.3 Android文件系統(tǒng)使用Linux管理
習題3
實驗3 Android應用程序的結構與運行原理
第4章 Android應用開發(fā)基礎
4.1 用戶界面UI設計
4.1.1 Android界面視圖類
4.1.2 Android用戶界面事件
4.1.3 幾種常用的界面布局
4.2 窗口組件Activity
4.2.1 使用Android的Activity組件設計程序的運行窗口
4.2.2 Activity作為上下文類Context的子類
4.2.3 Activity類具有的基本方法
4.2.4 Activity類具有的擴展方法
4.2.5 Activity的生命周期
4.3 常用Widget控件的使用
4.3.1 文本框控件TextView和EditText
4.3.2 顯示圖像控件ImageView
4.3.3 快顯信息與類Toast
4.3.4 按鈕控件Button、ImageButton及其單擊事件監(jiān)聽器設計
4.3.5 單選控件RadioGroup與復選擇控CheckBox
4.3.6 提醒對話框控件AlertDialog與進度控件AlertProgress
4.3.7 列表控件ListView與數據適配器ArrayAdapter
4.3.8 下拉列表控件Spinner
4.4 其它Widget組件介紹
4.4.1 日期和時間選擇器(DataPiker和TimePicker)
4.4.2 自動完成文本AutoCompleteTextView
4.4.3 菜單Menu設計
4.5 狀態(tài)欄消息通知android.app.Notification
4.5.1 通知與通知類Notification
4.5.2 通知管理器類NotificationManager
4.6 文件存儲
4.6.1 Android文件讀寫
4.6.2 Android系統(tǒng)中文件(目錄)的導入/導出
4.7 使用SharedPreferences進行偏好設定
4.7.1 SharedPreferences接口
4.7.2 隸屬于Android應用程序的數據
4.8意圖類android.content.Intent
4.8.1 使用意圖對象調用系統(tǒng)提供的應用程序
4.8.2 使用Intent顯式調用自定義的Activity組件
4.8.3 使用Intent隱式調用Activity組件
4.8.4 延遲意圖類android.app.PendingIntent
4.9 注冊應用程序所需要的權限Manifest.permission
習題4
實驗4(A) Android應用開發(fā)基礎(一)
實驗4(B) Android應用開發(fā)基礎(二)
第5章 手機基本功能程序設計
5.1打電話
5.1.1 抽象類android.net.Uri及其靜態(tài)方法parse()
5.1.2 打電話程序設計
5.2 短信程序
5.2.1 SMS簡介
5.2.2 短信管理器android.telephony.SmsManager
5.2.3 發(fā)送短信程序
5.3 音頻播放與錄制
5.3.1 媒體播放類android.media.MediaPlayer
5.3.2 前臺播放音頻
5.3.3手機前臺錄音
5.4 視頻播放
5.4.1 視頻播放控件android.widget.VideView
5.4.2 媒體播放控制器類android.widget.MediaController
5.4.3 視頻播放實現
5.5 手機拍照與視頻拍攝
5.5.1 有返回值的Activity調用
5.5.2 手機拍照
5.5.3 視頻拍攝
5.6 二維碼(含條碼)的掃描與生成
5.6.1 應用概述
5.6.2 程序設計
習題5
實驗5 Android基本功能程序設計
第6章 服務組件與廣播組件及其應用
6.1服務組件Service
6.1.1服務的概念與Android對Service的支持
6.1.2Android提供的Service
6.1.3自定義服務與注冊
6.1.4 綁定服務方式
6.2 遠程服務
6.2.1本地服務與遠程服務
6.2.2 Android接口定義語言AIDL
6.2.3 遠程服務的建立與使用
6.3 廣播接收組件BroadcastReceiver
6.3.1 廣播的概念
6.3.2 接收廣播的抽象類android.content.BroadcastReceiver
6.3.3 自定義廣播
6.3.4 接收系統(tǒng)廣播應用實例——短信接收
6.4 組件綜合應用實例—防電話打擾程序設計
習題6
實驗6 服務組件與廣播組件及其應用
第7章SQLite數據庫編程
7.1 SQLite數據庫簡介
7.1.1 SQLite數據庫軟件的特點
7.1.2 Android系統(tǒng)對SQLite數據庫的支持
7.2 使用抽象類SQLiteOpenHelper創(chuàng)建、打開或更新數據庫
7.2.1 SQLite數據庫及表的創(chuàng)建與打開
7.2.2 使用SQLiteSpy驗證創(chuàng)建的數據庫
7.2.3 SQLite數據庫表結構的更新
7.3 使用SQLiteDatabase類實現數據庫的“增/刪/改/查”
7.3.1 使用execSQL()方法實現記錄的“增/刪/改”
7.3.2 使用類ContentValues追加或更新記錄
7.3.3 類SQLiteDatabase提供的兩種查詢方法與游標接口Cursor
7.3.4 查詢SQLite數據庫并使用數據適配器SimpleAdapter顯示表
7.3.5 以DAO方式編寫訪問數據庫的程序
7.3.6 使用數據庫事務
習題7
實驗7 SQLite數據庫編程
第8章 應用程序間的數據共享
8.1 ContentProvider組件及其相關類
8.1.1抽象類ContentProvider(內容提供者)
8.1.2抽象類ContentResolver(內容解析器)
8.2 自定義ContentProvider及其應用
8.2.1在一個應用里定義并注冊內容提供者
8.2.2 在另一個應用里使用內容提供者
8.2.3 Uri定義及其及工具類(UriMatcher和Uris)
8.2.4內容觀察者ContentObsver
8.3 讀取手機聯系人信息
8.3.1 手機聯系人相關類ContactsConstract
8.3.2 手機聯系人數據庫及其相關表
8.3.3 讀取手機聯系人程序設計
8.3.4 綜合應用——群發(fā)短信
習題8
實驗8 使用內容提供者實現程序間的數據共享
第9章 Android 通信及其應用
9.1 WiFi通信
9.1.1 WiFi簡介
9.1.2 Android對WiFi的支持
9.1.3 一個WiFi應用實例
9.2藍牙通信Bluetooth
9.2.1 Bluetooth簡介
9.2.2 Android對Bluetooth的支持
9.2.3 Bluetooth技術的一個應用實例——藍牙聊天
9.3 近場通信NFC
9.3.1 NFC簡介
9.3.2 Android對NFC的支持
9.3.3 一個NFC應用實例
習題9
實驗9 Android通信及其應用
第10章 位置服務與地圖應用開發(fā)
10.1 概述
10.1.1獲取位置信息的三種方式
10.1.2 Android API提供的關于位置服務的軟件包
10.1.3 Google API與Baidu Map API
10.2 常用的定位方式
10.2.1 GPS定位
10.2.2 GPRS定位
10.2.3 WiFi定位
10.2.4 網絡連接與其GPS狀態(tài)相關類
10.3百度地圖應用開發(fā)
10.3.1百度位置服務開發(fā)基礎
10.3.2注冊服務與權限
10.3.3 申請用于地圖開發(fā)的Map API Key
10.3.4以地名形式顯示當前位置
10.3.5使用MapView顯示當前位置
習題10
實驗10 位置服務與地圖應用開發(fā)
第11章 Android網絡編程
11.1 基于HTTP的標準Java網絡編程
11.1.1標準Java接口
11.1.2 HTTP請求與響應
11.1.3 HttpURLConnection編程
11.2 HttpClient編程與Web服務
11.2.1 HttpClient編程
11.2.2調用Web服務
11.3 基于TCP/IP的Socket網絡編程
11.3.1 TCP/IP基礎
11.3.2 基于TCP或UDP的Socket通信
11.4手機客戶端程序設計
11.4.1 與Web服務器交互的手機客戶端
11.4.2 以Web方式向手機推送消息
11.4.3 使用百度LBS云服務器
習題11
實驗11 Android手機客戶端與Web服務器通信編程
附錄一 在線測試
附錄二 三次實驗報告內容
附錄三 模擬試題及參考答案
習題答案
參考文獻
隨著3G智能手機時代的到來,人們對Android應用開發(fā)的需求日趨增多。Android作為3G智能手機的操作系統(tǒng),是新一代基于Linux的開源手機操作系統(tǒng)。手機應用軟件的開發(fā)方式和環(huán)境與傳統(tǒng)的Windows應用程序或者Web程序有很大的不同。本章主要介紹了Android應用開發(fā)的一些預備知識,其學習要點如下:
? 了解3G智能手機的系統(tǒng)結構、與傳統(tǒng)手機在使用上的區(qū)別;
? 了解Android手機與普通計算機的區(qū)別與聯系;
? 掌握Android開發(fā)中常用的Java編程技術;
? 掌握Android設備的軟件系統(tǒng)架構;
? 掌握Android手機的配置,尤其是手機內存的劃分;
? 理解Android移動開發(fā)是Web應用開發(fā)的延伸。