本書從初學者的角度出發,通過通俗易懂的語言、豐富多彩的案例分析、關鍵代碼的分析,詳細介紹了Android平臺基礎知識以及進行項目開發應該掌握的基本應用技術。全書共分12章,內容包括Android集成開發環境搭建、Android項目的組成及開發流程、常用基本組件的使用、后臺服務開發、數據存儲技術、組件之間的通信技術、多媒體、網絡通信技術、圖形和圖像處理及項目案例分析等。
書中注重應用實例開發,由淺入深、循序漸進地將理論知識和實例緊密結合,以加深讀者對Android系統基礎知識和基本應用的理解。本書既可作為高等院校信息技術的教材,也可供相關工程技術人員和其他自學者參考。
Android是谷歌(Google)公司發布的一款開源移動設備操作系統,它基于Linux平臺,是目前世界上最流行的移動設備操作系統之一。Android是一個完全免費的操作系統平臺,開發應用項目的費用也較以前大幅降低,并且還開放了應用程序的開發工具,從而使Android平臺有了豐富的應用程序,吸引了無數軟件開發者投身其中。目前很多高校也開設了Android應用程序開發課程,本書旨在滿足于高等院校教學或初學者入門學習Android程序開發的需要,使讀者輕松、愉快地進入移動應用軟件開發大門。
本書基于最新的Android SDK5.0版本編寫源代碼,使讀者能及時跟上Android應用程序開發最新技術的發展。書中注重應用實例開發,由淺入深、循序漸進地將理論知識和實例緊密結合進行介紹、剖析和實現,以加深讀者對Android系統基礎知識和基本應用的理解,幫助讀者系統、全面地掌握Android程序設計的基本思想和基本應用技術,快速提高開發技能,為進一步深入學習Android應用開發打下堅實的基礎。
全書共有12章,各章的具體知識點介紹如下。
第1章Android概述,介紹智能手機及智能手機操作系統的發展、Android 操作系統的發展史和系統特征、Android平臺的技術架構和Android應用程序的構成。
第2章搭建Android開發環境,掌握安裝、配置Android開發環境的步驟和注意事項,理解Android SDK和ADTBundle環境的使用,熟悉在應用程序開發過程中可能使用到的開發工具。
第3章學習Android界面開發常用控件,包括EditText、Button、ImageButton、RadioButton、CheckBox、Spinner、ListView和ProgressBar等,讀者熟悉這些控件的功能和用法,將可以設計出優秀的圖形界面。
第4章學習Android界面布局與菜單處理,六大布局方式分別是線性布局、幀布局、表格布局、相對布局、絕對布局、網格布局,常見的菜單處理包括選項菜單、子菜單和快捷菜單。
第5章介紹Android生命周期,以Activity為例說明Android系統如何管理程序組件的生命周期。
第6章Android組件之間的通信,學習Intent的各種屬性、Intent過濾器和廣播消息機制,了解Android系統的組件通信原理,掌握利用Intent啟動其他組件的方法。
第7章學習后臺服務,Service用于后臺完成用戶指定的操作,是Android的四大組件之一,掌握Service的啟動方式和基礎、本地服務應用,了解Service的生命周期。
第8章學習數據存儲與訪問,Android平臺中實現數據存儲的方式有5種,分別是使用Shared Preferences存儲數據、文件存儲數據、SQLite數據庫存儲數據、使用Content Provider存儲數據和網絡存儲數據。
第9章學習多媒體技術,Android提供了常見媒體的編碼、解碼機制,可以調用Android提供的現有API,非常容易地集成音頻、視頻和圖片等多媒體文件到應用程序中。
第10章學習Android網絡通信技術基礎和HTTP通信應用、WebKit應用及Socket通信。
第11章學習圖形和圖像,Android處理圖形的能力非常強大,掌握圖片瀏覽器的應用和訪問圖片、2D繪圖、圖像特效的應用及了解內存優化。
第12章以“理財系統”作為示例,綜合運用所學的知識和技巧,從需求分析、界面設計、模塊設計和程序開發等幾個方面,詳細介紹Android應用程序的設計思路與開發方法。
本書由楊國燕和聶佳志負責主要編寫工作,其中楊國燕編寫第1~6章和第12章,聶佳志編寫第7~11章,全書由楊國燕完成整體結構的設計。因作者水平有限,書中難免存在不足和疏漏,歡迎大家批評指正,衷心希望各位讀者提出寶貴的意見和建議。
編者
2015年12月
第1章Android概述
1.1智能手機的發展
1.1.1智能手機的特點
1.1.2智能手機的未來發展趨勢
1.2智能手機操作系統簡介
1.2.1智能手機操作系統的發展
1.2.2智能手機操作系統的分類
1.3Android操作系統簡介
1.3.1開放手機聯盟
1.3.2Android發展史
1.3.3Android系統特征
1.4Android平臺的技術架構
1.5Android應用程序的構成
習題
第2章Android開發環境與開發工具
2.1安裝Android開發環境
2.1.1JDK下載及安裝
2.1.2ADTBundle for Windows下載及安裝
2.2使用Android SDK開發Android應用
2.2.1Android SDK目錄結構
2.2.2Android SDK中的示例
2.3Android常用的開發工具
2.4Android程序目錄結構
2.4.1創建第一個Android應用程序
2.4.2Android程序結構
習題
第3章Android界面開發常用控件
3.1用戶界面基礎
3.1.1手機用戶界面應解決的問題
3.1.2Android平臺中的View類
3.2TextView控件
3.2.1TextView控件常見的屬性和方法
3.2.2TextView控件實例
3.3EditText控件
3.3.1EditText控件常見的屬性和方法
3.3.2EditText控件實例
3.4Button控件
3.4.1Button控件常見的屬性和方法
3.4.2Button控件實例
3.5ImageButton控件
3.5.1ImageButton控件常見的屬性和方法
3.5.2ImageButton控件實例
3.6RadioButton控件
3.6.1RadioButton控件常見的方法
3.6.2RadioButton控件實例
3.7CheckBox控件
3.7.1CheckBox控件常見的方法
3.7.2CheckBox控件實例
3.8Toast
3.8.1Toast常量和常見的方法
3.8.2Toast實例
3.9Spinner控件
3.9.1Spinner控件常見的屬性和方法
3.9.2Spinner控件實例
3.10ListView控件
3.10.1ListView控件常見的屬性和方法
3.10.2ListView控件實例
3.11ProgressBar控件
3.11.1ProgressBar常見方法
3.11.2ProgressBar控件實例
習題
第4章Android界面布局與菜單處理
4.1界面布局概述
4.2線性布局
4.2.1LinearLayout類簡介
4.2.2線性布局實例
4.3幀布局
4.4表格布局
4.4.1TableLayout類簡介
4.4.2表格布局實例
4.5相對布局
4.5.1RelativeLayout類簡介
4.5.2相對布局實例
4.6絕對布局
4.6.1AbsoluteLayout類簡介
4.6.2絕對布局實例
4.7網格布局
4.8菜單
4.8.1菜單資源
4.8.2選項菜單
4.8.3子菜單
4.8.4快捷菜單
習題
第5章Android生命周期
5.1Android應用程序組件
5.2Android程序生命周期
5.3Activity生命周期
5.4程序調試
5.4.1LogCat
5.4.2DevTools
習題
第6章Android組件之間的通信
6.1Intent簡介
6.1.1Intent的action屬性
6.1.2Intent的data屬性
6.1.3Intent的type屬性
6.1.4Intent的category屬性
6.1.5Intent的extras屬性
6.1.6Intent的component屬性
6.2系統標準ActivityAction應用
6.2.1Activity的啟動
6.2.2獲取Activity返回值
6.3Intent過濾器
6.3.1注冊Intent過濾器
6.3.2Intent解析
6.4廣播消息實例
習題
第7章后臺服務
7.1Service介紹
7.1.1Service啟動方式
7.1.2Service基礎
7.2本地服務
7.2.1不需要與組件交互本地服務
7.2.2本地服務結合廣播接收器
7.2.3與組件交互本地服務
7.2.4Service與Thread的區別
7.3管理Service的生命周期
習題
第8章數據存儲與訪問
8.1SharedPreferences
8.1.1SharedPreferences簡介
8.1.2存儲應用程序數據實例
8.1.3讀取其他應用程序數據實例
8.2文件存儲
8.2.1文件存儲簡介(內部存儲)
8.2.2文件存儲應用實例
8.2.3SD Card存儲簡介
8.2.4SD卡存儲應用實例
8.3SQLite數據庫存儲
8.3.1SQLite數據庫簡介
8.3.2創建SQLite數據庫方式
8.3.3SQLite數據庫操作
8.3.4SQLite數據庫管理
8.3.5SQLite數據庫應用案例
8.4數據共享
8.4.1ContentProvider簡介
8.4.2URI、UriMatcher和ContentUris簡介
8.4.3創建ContentProvider
8.4.4ContentResolver操作數據
8.4.5ContentProvider應用實例
習題
第9章多媒體
9.1音頻播放
9.1.1MediaPlayer的介紹
9.1.2MediaPlayer播放音頻
9.2視頻播放
9.2.1自帶播放器播放視頻
9.2.2VideoView播放視頻
9.2.3MediaPlayer結合SurfaceView播放視頻
9.3音頻錄制
9.4視頻錄制
9.5TTS的使用
習題
第10章Android網絡通信技術
10.1Android網絡通信技術基礎
10.1.1無線網絡技術
10.1.2Android網絡基礎
10.1.3Android中的藍牙
10.1.4Android中的WiFi
10.2HTTP通信
10.2.1HttpURLConnection接口
10.2.2HttpClient接口
10.3WebKit應用
10.3.1WebKit概述
10.3.2WebView瀏覽網頁
10.3.3WebView加載HTML代碼
10.3.4WebView與JavaScript
10.4Socket通信
10.4.1Socket傳輸模式
10.4.2Socket編程原理
習題
第11章圖形和圖像
11.1圖片瀏覽器
11.1.1Gallery
11.1.2ImageSwither
11.2訪問圖片
11.2.1Drawable
11.2.2Bitmap和BitmapFactory
11.3內存優化
11.3.1Drawable與Bitmap占用內存比較
11.3.2防止內存溢出
11.42D繪圖
11.4.1View類
11.4.2SurfaceView類
11.4.3Paint類
11.4.4Canvas類
11.4.5繪制幾何圖形
11.4.6繪制文本
11.4.7繪制路徑
11.5為圖像添加特效
11.5.1旋轉圖像實例
11.5.2縮放圖像實例
11.5.3傾斜圖像實例
11.5.4平移圖像實例
11.5.5使用BitmapShader渲染圖像實例
習題
第12章綜合示例設計與開發
12.1需求分析
12.2程序設計
12.2.1系統功能模塊設計
12.2.2系統流程設計
12.2.3數據庫設計
12.3程序開發
12.3.1工程結構
12.3.2數據庫操作類
12.3.3界面設計類
12.3.4輔助工具類
12.3.5主控制類
12.3.6用戶界面
習題
參考文獻