《Android移動應用開發(fā)教程》系統(tǒng)地介紹了Android移動應用開發(fā)技術(shù),并根據(jù)課堂教學特點合理設計規(guī)模案例,既滿足了學生的學習需求,也保證了課堂授課進度!禔ndroid移動應用開發(fā)教程》首先介紹了Android開發(fā)的基礎知識,包括發(fā)展歷程、環(huán)境搭建、項目創(chuàng)建、Java編程基礎、UI設計以及Activity,然后講解了Android中的數(shù)據(jù)存儲,包括文件存儲、SharedPreferences、SQLite數(shù)據(jù)庫和內(nèi)容提供者等,接著介紹了Android的廣播接收者和服務兩大組件,隨后介紹了Android的網(wǎng)絡編程與Internet應用,后以天氣預報APP作為綜合案例,展示了完整應用的開發(fā)過程。
《Android移動應用開發(fā)教程》深入淺出、通俗易懂、圖文并茂。本書可作為普通高等院校計算機相關(guān)專業(yè)類課程教學用書,也可作為相關(guān)工作人員的自學參考用書。
適讀人群 :高等院校計算機類專業(yè)學生
以天氣預報APP作為綜合案例展示了Android程序開發(fā)的實現(xiàn)過程。本書每章都有相關(guān)案例,適合課堂教學,并能夠有效幫助讀者加深理解各個知識點。本書所介紹的案例都是在Eclipse集成開發(fā)環(huán)境下編寫并調(diào)試運行通過的。
在當今大數(shù)據(jù)、“互聯(lián)網(wǎng)+”等理念的影響下,移動網(wǎng)絡平臺的應用具有廣泛的應用前景。而基于Android的移動開發(fā)所需成本低、上手快,使得該平臺吸引了眾多開發(fā)人員的加入。面對行業(yè)需求,當前各大高校也紛紛開設Android移動開發(fā)的相關(guān)課程。本書正是在這樣一個背景下組織編寫的。編寫本書的目的是讓廣大教師能夠在課堂有限的時間內(nèi)完成Android開發(fā)的授課內(nèi)容,讓廣 大學生能夠快速掌握Android編程。本書體現(xiàn)了計算機課程改革的方向之一。本課程建議授課學時為32學時,并要求先修Java編程技術(shù)課程。
本書從介紹Android的基礎概念(起源、環(huán)境的搭建、項目創(chuàng)建和結(jié)構(gòu)、Java編程基礎、UI設計)開始,由淺入深,逐步介紹了Android移動應用開發(fā)中的四大組件(Activity、ContentProvider、BroadcastReceiver和Service),然后介紹了Android常用的數(shù)據(jù)存儲方法,包括文件存儲、SharedPreferences、SQLite數(shù)據(jù)庫以及XML序列化和解析,接著詳細講解了網(wǎng)絡和多媒體編程的基礎知識,最后以天氣預報APP作為綜合案例展示了Android程序開發(fā)的實現(xiàn)過程。本書每章都有相關(guān)案例,每個案例并不復雜,適合課堂教學,并能夠有效幫助讀者加深理解各個知識點。
本書所介紹的案例都是在Eclipse集成開發(fā)環(huán)境下編寫并調(diào)試運行通過的。本書的第12章給出了一個完整的案例,以幫助讀者順利完成Android開發(fā)任務。本書每章的后面都附有實踐與練習,每章都配有教學課件。
本書由中國礦業(yè)大學劉佰龍擔任主編。具體編寫分工如下:劉佰龍編寫了第1、4、10、11、12章,趙瑩編寫了第2、3章,王冠軍編寫了第5章,張艷梅編寫了第6章,劉晉編寫了第7章,謝紅俠編寫了第8、9章。本書的統(tǒng)稿和校審由劉佰龍負責,本書樣章的校審由謝紅俠和趙瑩協(xié)負責。非常感謝中國礦業(yè)大學計算機學院領(lǐng)導對出版本書的大力支持。
由于作者水平有限,書中難免存在不妥之處,請廣大讀者提出寶貴意見。
前言
第1章Android基礎知識
1.1Android簡介
1.1.1Android的起源
1.1.2Android的發(fā)展歷程
1.1.3Android的體系結(jié)構(gòu)
1.1.4Dalvik虛擬機
1.1.5ART模式
1.2Android開發(fā)環(huán)境的搭建
1.2.1Windows系統(tǒng)下的傳統(tǒng)搭建方式
1.2.2ADT Bundle開發(fā)工具集合
1.2.3Android Studio開發(fā)環(huán)境
1.3創(chuàng)建Android項目
1.3.1Android項目的創(chuàng)建步驟
1.3.2Android項目的目錄結(jié)構(gòu)
1.3.3Android程序的打包
1.4Android項目工具
1.4.1Android虛擬機
1.4.2虛擬機調(diào)試監(jiān)控服務
1.4.3Android調(diào)試橋
1.5Android四大組件簡介
1.6小結(jié)
1.7實踐與練習
第2章Java語言基礎知識
2.1Java語言概述
2.1.1Java語言的發(fā)展史
2.1.2Java語言的特點
2.1.3Java的體系
2.2Java基本語法
2.2.1Java程序的構(gòu)成
2.2.2數(shù)據(jù)類型、變量和常量
2.2.3運算符和表達式
2.2.4數(shù)組
2.2.5流程控制
2.3面向?qū)ο蟮木幊?
2.3.1類和對象
2.3.2接口的定義與實現(xiàn)
2.3.3Java中常用的類
2.4小結(jié)
2.5實踐與練習
第3章Android UI設計
3.1Android UI簡介
3.2Android常用的Widgets
3.2.1按鈕
3.2.2靜態(tài)文本框
3.2.3編輯框
3.2.4單選按鈕
3.2.5復選框
3.2.6下拉列表框
3.2.7圖像視圖
3.3Android常用的布局管理器
3.3.1布局文件的創(chuàng)建、修改與加載
3.3.2線性布局
3.3.3相對布局
3.3.4幀布局
3.3.5表格布局
3.3.6網(wǎng)格布局
3.3.7絕對布局
3.4Android屏幕中的單位
3.5Android入門案例——電話
撥號器
3.6Android單擊事件的處理方法
3.7樣式和主題
3.7.1樣式
3.7.2主題
3.8Android程序的調(diào)試
3.8.1Eclipse平臺調(diào)試
3.8.2Android SDK調(diào)試
3.8.3JUnit測試
3.9小結(jié)
3.10實踐與練習
第4章活動
4.1活動概述
4.1.1活動簡介
4.1.2活動的創(chuàng)建
4.1.3活動的啟動和關(guān)閉
4.1.4案例——在工程中創(chuàng)建并啟動
一個新活動
4.2意圖
4.2.1意圖簡介
4.2.2意圖的屬性
4.2.3意圖的投遞
4.3活動之間的跳轉(zhuǎn)
4.3.1顯式跳轉(zhuǎn)
4.3.2隱式跳轉(zhuǎn)
4.3.3案例——打開瀏覽器活動
界面
4.3.4案例——打開發(fā)送短信界面
4.4活動之間的數(shù)據(jù)傳遞
4.4.1使用Intent傳遞數(shù)據(jù)
4.4.2使用Bundle傳遞數(shù)據(jù)
4.4.3案例——使用Intent和Bundle
傳遞數(shù)據(jù)
4.4.4數(shù)據(jù)的回傳
4.4.5案例——頭像選擇
4.5活動的生命周期
4.5.1認識活動生命周期
4.5.2活動生命周期中的方法
4.5.3活動的4種狀態(tài)
4.5.4案例——生命周期演示
4.6活動的啟動模式
4.6.1活動的任務棧
4.6.2Standard啟動模式
4.6.3singleTop啟動模式
4.6.4singleTask啟動模式
4.6.5singleInstance啟動模式
4.7小結(jié)
4.8實踐與練習
第5章文件存取數(shù)據(jù)
5.1數(shù)據(jù)存儲概述
5.2Android下的文件存儲
5.2.1文件存儲到手機內(nèi)存
5.2.2文件存儲到SD卡
5.2.3案例——使用文件存儲實現(xiàn)仿
QQ登錄界面
5.3使用SharedPreferences存儲
數(shù)據(jù)
5.3.1案例——使用SharedPreferences
實現(xiàn)仿QQ登錄界面
5.4XML文件的序列化和解析
5.4.1XML文件
5.4.2XML文件的序列化
5.4.3案例——使用XML序列化存儲仿
QQ登錄
5.4.4XML文件的解析
5.4.5案例——使用PULL解析仿
QQ登錄界面
5.5小結(jié)
5.6實踐與練習
第6章SQLite數(shù)據(jù)庫
6.1SQLite數(shù)據(jù)庫簡介
6.2SQLite數(shù)據(jù)庫的管理
6.2.1幫助類SQLiteOpenHelper及數(shù)據(jù)庫的
創(chuàng)建
6.2.2SQL語句操作數(shù)據(jù)庫
6.2.3案例——使用SQL語句實現(xiàn)學生
信息管理
6.2.4SQLite操作API
6.2.5案例——使用SQLite操作API
實現(xiàn)學生信息管理
6.3SQLite3工具
6.4數(shù)據(jù)庫的事務操作
6.5數(shù)據(jù)庫的可視化
6.5.1ListView控件
6.5.2常用的數(shù)據(jù)適配器
6.5.3案例——使用ArrayAdapter配置
ListView顯示學生信息
6.5.4案例——使用SimpleAdapter配置
ListView顯示學生信息
6.5.5案例——使用自定義的適配器
配置ListView顯示學生信息
6.5.6ListView的單擊事件和長按
事件
6.6小結(jié)
6.7實踐與練習
第7章內(nèi)容提供者實現(xiàn)數(shù)據(jù)
共享
7.1內(nèi)容提供者簡介
7.2通用資源標識符的使用
7.2.1通用資源標識符的組成
7.2.2通用資源標識符的解析
7.3自定義內(nèi)容提供者
7.3.1內(nèi)容提供者的創(chuàng)建
7.3.2訪問內(nèi)容提供者
7.3.3案例——使用ContentProvider實現(xiàn)
學生信息的操作
7.4預定義的內(nèi)容提供者
7.4.1系統(tǒng)常用的內(nèi)容提供者
7.4.2案例——短信備份和還原
7.4.3案例——聯(lián)系人信息管理器
7.5內(nèi)容觀察者
7.5.1內(nèi)容觀察者簡介
7.5.2案例——短信竊聽器
7.6小結(jié)
7.7實踐與練習
第8章廣播接收者
8.1廣播接收者簡介
8.1.1廣播接收者的創(chuàng)建與注冊
8.1.2案例——簡單的廣播過程
演示
8.2廣播接收者的種類
8.2.1常駐型廣播和非常駐型廣播
8.2.2無序廣播和有序廣播
8.3自定義廣播接收者
8.3.1自定義廣播接收者的
實現(xiàn)步驟
8.3.2案例——商場優(yōu)惠政策廣播
實例
8.4預定義廣播接收者
8.4.1系統(tǒng)常用的廣播接收者
8.4.2案例——IP撥號器
8.4.3案例——短信攔截器
8.5小結(jié)
8.6實踐與練習
第9章服務
9.1服務簡介
9.1.1服務的概念
9.1.2服務的創(chuàng)建
9.1.3案例——鎖屏和解鎖廣播在服務
中實現(xiàn)
9.2服務的生命周期
9.3開啟服務的兩種方式
9.3.1標準方式開啟和關(guān)閉服務
9.3.2案例——標準方式開啟服務
9.3.3綁定方式開啟和關(guān)閉服務
9.3.4案例——綁定方式調(diào)用服務內(nèi)部
方法
9.4本地服務和遠程服務
9.4.1本地服務和遠程服務的概念
9.4.2案例——電話竊聽器
9.4.3案例——自定義遠程服務
9.5小結(jié)
9.6實踐與練習
第10章網(wǎng)絡編程與Internet應用
10.1網(wǎng)絡編程基礎
10.1.1HTTP簡介
10.1.2Android中的線程與消息處理
機制
10.1.3Tomcat環(huán)境搭建
10.2通過HTTP訪問網(wǎng)絡
10.2.1向服務器請求和提交數(shù)據(jù)的
方式
10.2.2HttpURLConnection方式訪問
網(wǎng)絡
10.2.3案例——圖片查看器
10.2.4案例——仿QQ網(wǎng)絡登錄
10.2.5HttpClinet訪問網(wǎng)絡
10.3開源項目Async HttpClient
10.3.1使用Async HttpClient訪問
網(wǎng)絡
10.3.2案例——文件上傳
10.4文件的多線程下載
10.4.1多線程下載的原理
10.4.2案例——文件的多線程下載
10.5小結(jié)
10.6實踐與練習
第11章圖形圖像與多媒體開發(fā)
11.1常用繪圖類
11.1.1Paint類
11.1.2Canvas類
11.1.3Bitmap類
11.1.4BitmapFactory類
11.1.5其他類
11.1.6案例——圖片增加水印
11.2圖像特效處理
11.3Android中的動畫
11.3.1補間動畫
11.3.2逐幀動畫
11.3.3案例——開機自啟動動畫
11.4播放音頻
11.4.1使用MediaPlayer播放音頻
11.4.2使用SoundPool播放音頻
11.4.3案例——網(wǎng)絡音頻播放器
11.5播放視頻
11.5.1使用VideoView控件播放
視頻
11.5.2使用MediaPlayer和SurfaceView
播放視頻
11.5.3案例——簡易視頻播放器
11.6小結(jié)
11.7實踐與練習
第12章經(jīng)典范例——天氣預報
APP
12.1任務需求及準備工作
12.2UI界面設計
12.3響應代碼實現(xiàn)
12.3.1設置城市功能模塊
12.3.2網(wǎng)絡獲取XML文件模塊
12.3.3天氣業(yè)務類的構(gòu)造
12.3.4XML文件的解析模塊
12.3.5刷新模塊
12.3.6內(nèi)容顯示模塊
12.4APP功能測試
參考文獻