《Android移動應用開發實踐教程》系統地介紹了Android應用開發的基本原理、四大組件、數據存儲和網絡應用,并提供了相應的實踐引導,主要內容包括:Android基礎入門、Activity與Intent、Android UI開發、數據存儲與I/O服務與廣播、Android多線程和網絡編程等。
結構清晰,語言簡潔,講解由淺入深,使用大量案例進行展示和說明,同時配有豐富的學習資源。
前言
Android是Google公司于2007年推出的一款基于Linux自由及開放源代碼的嵌入式操作系統,廣泛應用于手機、平板電腦、穿戴設備等。自Android問世以來,Android應用開發相關書籍如雨后春筍般出現。近10年,我國市面上的Android教材主要有兩類: 一類是從歐美國家直接引進的英文原版教材或者中譯本; 另一類是由國內學者或者擁有豐富Android開發經驗的企業工程師參考國外經典教材及Google官方API,結合自身的編程經驗而編著的。這些教材紛繁多樣,各有千秋,但是都或多或少存在一些問題,如過于詳細追求面面俱到,過于高深需要讀者具有較強的編程功底,內容過于陳舊落后于知識的更新換代等,這些教材難以適合初學者。基于上述原因,在總結多年教學基礎上,我們編撰了本書。
本書特點
1. 立足基礎,由淺入深
本書內容立足Android應用開發涉及的基礎知識,由淺入深地闡述Activity、Service、BroadcastReceiver和ContentProvider四大圖形界面組件,Android網絡編程,Android數據存儲技術,Android多線程和Android高級編程相關知識。
2. 結構清晰,語言簡練
本書面向Android應用開發初學者,內容為Android應用開發過程中的基礎知識,共分為9章,每一章都圍繞某一具體方面知識進行闡述,沒有涉及復雜和高級的內容。全書結構清晰,語言簡練。
3. 案例驅動
為了讓讀者更好地理解相關知識點,本書對每個知識點都有案例加以展示說明。
本書內容
全書共分9章。
第1章Android入門基礎,主要講述Android系統起源、開發環境搭建、Android應用程序框架以及Android應用開發調試,通過學習本章,讀者可以對Android及Android應用開發有初步的了解。
第2章Activity與Intent,全面講述Activity的使用和生命周期,對Intent的用法做了詳細的闡述。
第3章Android UI開發,主要講解Android UI常用布局和常用控件的使用,對話框、菜單、導航欄、Adapter和AdapterView的使用。
第4章Android數據存儲技術,主要講述Android中五種常用的數據存儲方式。
第5章服務與廣播,主要講述Service的用法、系統服務使用方法和廣播接收器的使用。
第6章Android多線程,主要講解Android中的多線程以及線程之間的通信機制。
第7章Android網絡編程,主要講解Android Http通信機制和網絡數據解析機制。
第8章Android高級編程,主要講解Android多媒體和動畫。
第9章Android綜合案例,主要以案例的形式講述Android應用的開發過程和常用開源框架的使用。
第1、3、6、9章由顏德彪編撰,第2、4、5章由仲寶才編撰,第7、8章由劉靜編撰,仲寶才負責全書的審閱和校訂工作。
致謝
本書編撰過程中參考了Android官網和相關Android開發書籍,在此向相關作者表示誠摯的謝意。葉江霞、唐凱、趙輝陽、唐佳鑫、高國慶、楊攀、漆愚、胡飛等對于教程案例的編寫提供了很大幫助,在此向他們表示謝意。
由于編者水平有限,書中難免存在不妥之處,敬請讀者批評指正。
編者2018年3月
目錄
Contents
第1章Android入門基礎
1.1Android系統介紹
1.1.1Android平臺特性
1.1.2Android系統版本
1.1.3Android體系架構
1.1.4Android四大組件
1.2Android開發環境搭建
1.3Android應用程序開發
1.3.1第一個Android程序
1.3.2Android程序結構
1.3.3Android模擬器
1.3.4Android應用程序的打包與發布
1.4Android程序調試方法
1.4.1靜態調試方法
1.4.2LogCat的使用
1.4.3ADB常用命令及使用
1.4.4DDMS的使用
本章小結
習題
第2章Activity與Intent
2.1Activity的使用
2.1.1Activity簡介
2.1.2Activity的創建
2.1.3Activity的啟動方式
2.1.4Activity之間數據交換
2.1.5案例
2.2Activity的生命周期
2.2.1Activity的狀態
2.2.2Activity的生命周期及回調方法
2.2.3案例
2.3Activity啟動模式
2.3.1standard模式
2.3.2singleTop模式
2.3.3singleTask模式
2.3.4singleInstance模式
2.4Intent詳解
2.4.1Intent屬性與IntentFilter
2.4.2Activity中使用Intent
本章小結
習題
第3章Android UI開發
3.1Android UI布局
3.1.1Android布局概述
3.1.2線性布局
3.1.3相對布局
3.1.4幀布局
3.1.5絕對布局
3.1.6表格布局
3.1.7網格布局
3.1.8約束性布局
3.2常用控件的使用
3.2.1TextView與EditText
3.2.2Button
3.2.3ImageView和ImageButton
3.2.4ToggleButton、RadioButton和CheckBox
3.2.5ProgressBar、SeekBar和RatingBar
3.3對話框的使用
3.3.1AlertDialog
3.3.2ProgressDialog
3.3.3DatePickerDialog和TimePickerDialog
3.3.4自定義Dialog
3.4Toast的使用
3.4.1系統默認Toast的用法
3.4.2自定義Toast
3.5菜單的用法
3.5.1選項菜單
3.5.2上下文菜單
3.5.3彈出式菜單
3.5.4ActionBar的使用
3.5.5ToolBar的使用
3.6導航欄的使用
3.6.1TabHost導航
3.6.2ViewPager的使用
3.6.3Fragment的使用
3.7Adapter及AdapterView的使用
3.7.1常用AdapterView
3.7.2Adapter
3.7.3GridView控件
本章小結
習題
第4章Android數據存儲技術
4.1Android數據存儲分類
4.2SharedPreferences
4.2.1獲得SharedPreferences對象
4.2.2SharedPreferences.Editor
4.2.3利用SharedPreferences讀寫數據
4.2.4案例
4.3文件存儲
4.3.1內部存儲
4.3.2案例(一)
4.3.3外部存儲
4.3.4案例(二)
4.3.5權限管理
4.4SQLite數據庫
4.4.1SQLite數據庫的使用
4.4.2SQLite事務操作
4.4.3案例
4.5ContentProvider
4.5.1自定義ContentProvider
4.5.2訪問ContentProvider
4.5.3案例
4.5.4ContentObserver
4.5.5系統ContentProvider
本章小結
習題
第5章服務與廣播
5.1Service
5.1.1Service的創建與注冊
5.1.2startService啟動服務
5.1.3案例(一)
5.1.4bindService啟動服務
5.1.5案例(二)
5.1.6Service的生命周期
5.1.7IntentService
5.2系統Service的用法
5.2.1NotificatinManager
5.2.2系統短信服務
5.3BroadcastReceiver
5.3.1BroadcastReceiver的創建
5.3.2BroadcastReceiver的注冊
5.3.3廣播的類型
5.3.4案例
5.4監聽系統廣播
5.4.1開機啟動
5.4.2系統短信攔截
5.4.3手機電量提醒
本章小結
習題
第6章Android多線程
6.1Android多線程概述
6.1.1UI線程及Android的單線程模型原則
6.1.2ANR問題
6.1.3跨線程更新UI
6.2Handler線程通信機制
6.2.1Handler線程通信模型
6.2.2Post方式
6.2.3Message方式
6.3AsyncTask
6.3.1AsyncTask簡化多線程開發
6.3.2AsyncTask的使用
本章小結
習題
第7章Android網絡編程
7.1通信概述
7.2Android Http通信
7.2.1URL加載網絡資源
7.2.2HttpURLConnection加載網絡資源
7.2.3HttpClient加載網絡資源
7.3Android Socket通信
7.3.1TCP Socket通信
7.3.2UDP Socket通信
7.4網絡數據解析
7.4.1XML數據解析
7.4.2JSON數據解析
7.5WebView
7.6WebService
7.6.1WebService簡介
7.6.2Android平臺調用WebService
本章小結
習題
第8章Android高級編程
8.1Android多媒體基礎
8.1.1使用MediaPlayer音頻播放
8.1.2音頻播放案例
8.1.3使用MediaPlayer和SurfaceView播放視頻
8.1.4視頻播放案例(一)
8.1.5使用VideoView播放視頻
8.1.6視頻播放案例(二)
8.2Android圖像處理
8.2.1Canvas類和Paint類
8.2.2繪圖案例
8.2.3Bitmap類和BitmapFactory類
8.3Android動畫
8.3.1幀動畫
8.3.2幀動畫案例
8.3.3補間動畫
8.3.4補間動畫案例
8.3.5屬性動畫
8.3.6屬性動畫案例
本章小結
習題
第9章Android綜合案例
9.1Android客戶端開發
9.1.1客戶端程序整體說明
9.1.2Android框架使用
9.1.3核心功能實現
9.1.4輔助工具類
9.2Web端后臺程序與數據庫搭建
9.2.1后臺程序總體說明
9.2.2后臺數據庫表
本章小結
參考文獻