本書從初學者的角度出發(fā),基于Android Studio開發(fā)環(huán)境,循序漸進地針對Android應(yīng)用程序開發(fā)進行了介紹。全書共9章,分別為:Android平臺與開發(fā)環(huán)境,Android應(yīng)用程序構(gòu)成分析,Android生命周期與通信,布局和控件,布局和控件進階,系統(tǒng)服務(wù),數(shù)據(jù)存儲,后臺處理與網(wǎng)絡(luò)通信,綜合實例設(shè)計與分析。從安裝環(huán)境開始入手,進入**個Android應(yīng)用程序的剖析,最后完成一個基于服務(wù)器端和客戶端結(jié)構(gòu)的綜合案例。本書案例豐富,每章以項目導學開頭,引入當前章節(jié)的內(nèi)容,最后通過項目延伸,引出更深入的需求,給予讀者發(fā)揮和實現(xiàn)的空間。
Android是Google公司開發(fā)的基于Linux平臺的開源手機操作系統(tǒng)。自誕生以來,經(jīng)過不斷的發(fā)展和完善,其功能日益強大,Android應(yīng)用程序開發(fā)需求量也在不斷擴大。而且,由于Android采用Java語言作為編程基礎(chǔ),更是為Java開發(fā)人員敞開了大門。
目前,各大高校也感受到Android應(yīng)用開發(fā)的市場需求以及互聯(lián)網(wǎng)勢不可擋的應(yīng)用趨勢,逐漸開設(shè)一些相關(guān)的課程。由于很多院校已經(jīng)相繼為計算機類專業(yè)的學生開設(shè)了Java語言課程,甚至有些學校已經(jīng)將Java語言作為相關(guān)專業(yè)的第一門編程語言,因此Android應(yīng)用程序開發(fā)也隨之變得更加輕松和得心應(yīng)手。本書主要從教學的角度全面介紹Android Studio應(yīng)用開發(fā)的核心知識;案例的選取與設(shè)計,大多是在真實授課過程中總結(jié)和完成的,也是作者們智慧和實踐的結(jié)晶。
本書共9章。
第1章Android平臺與開發(fā)環(huán)境,開門見山地介紹了Android平臺和開發(fā)環(huán)境的搭建,從而為Android應(yīng)用程序開發(fā)奠定了基礎(chǔ),然后帶領(lǐng)讀者完成第一個Android應(yīng)用程序的開發(fā)。
第2章Android應(yīng)用程序構(gòu)成分析,在第1章的應(yīng)用程序的基礎(chǔ)上,進行了程序深入剖析,使讀者掌握Android應(yīng)用程序開發(fā)的過程和程序結(jié)構(gòu),從而可以將第1章的程序進行改造和“裝修”,變成讀者“設(shè)計”的程序。
第3章Android生命周期與通信,講解了Android的生命周期,讀者可以由此入手分析各個組件的工作原理,并根據(jù)功能需要著手編程。另外,也可以通過Intent進行組件的整合,從而構(gòu)成復雜而龐大的Android應(yīng)用程序。
第4章和第5章圍繞著界面展開了內(nèi)容介紹。第4章介紹了基礎(chǔ)的布局和控件,在此基礎(chǔ)上,讀者可以開發(fā)出基本的界面。本章以常用的登錄和注冊為例,從界面相關(guān)的基礎(chǔ)知識到界面優(yōu)化,實現(xiàn)了比較理想的界面效果,另外也介紹了幾個高級控件,提高了編程難度的同時,也為Android應(yīng)用程序開發(fā)奠定了一定的高度。第5章布局和控件進階,引入了目前非常流行的Fragment結(jié)構(gòu),從整體上把握和串聯(lián)了Android界面開發(fā)的內(nèi)容,并通過比較復雜的項目框架,實現(xiàn)目前主流的應(yīng)用程序效果。
第6章系統(tǒng)服務(wù),其中包括服務(wù)組件、定時機制、廣播組件及通知等,將Android應(yīng)用開發(fā)中的系統(tǒng)服務(wù)進行整合。
第7章數(shù)據(jù)存儲,是Android應(yīng)用開發(fā)的重點。本章從最簡單的簡單存儲,到文件存儲,再到數(shù)據(jù)庫存儲,最后到ContentProvider組件,讀者可以針對不同的應(yīng)用場景,選擇對應(yīng)的數(shù)據(jù)存儲方式。
第8章后臺處理與網(wǎng)絡(luò)通信,講解了Android應(yīng)用程序與服務(wù)器進行網(wǎng)絡(luò)通信的原理和實現(xiàn)過程,為移動互聯(lián)網(wǎng)應(yīng)用程序開發(fā)奠定了基礎(chǔ)。而且,本章從原始聯(lián)網(wǎng)的幾種方式延伸到Volley框架的使用,循序漸進地將理論以更方便簡潔的方式進行實現(xiàn)。
第9章綜合實例設(shè)計與分析,將以上章節(jié)的知識點進行整合,實現(xiàn)了一個綜合案例。
書中的每一章均通過【項目導學】的形式,引入本章的核心知識點,從而完成【項目實現(xiàn)】;為了發(fā)揮讀者的個人能動性,通常最后又進行了【項目延伸】,為讀者提供更多的發(fā)揮空間。本書可作為高等學校計算機科學與技術(shù)、軟件工程等專業(yè)的教材,也可供Android Studio應(yīng)用程序開發(fā)人員參考。
本書凝聚了作者們多年的教學經(jīng)驗和總結(jié),由李寧寧擔任主編,鄭俊生、張福艷、郭巧麗擔任副主編。具體編寫分工如下:第1,4,5章由鄭俊生編寫;第2,6,7章由張福艷編寫;第3,8,9章由李寧寧編寫,郭巧麗負責校稿和審稿。案例是經(jīng)過大家統(tǒng)一討論和設(shè)計而實現(xiàn)的。此外,參與本書編寫和審稿的人員還有楊光、鄭純軍、王凱、竇喬、王瀾、高志君等。全書最后由李寧寧負責統(tǒng)稿和定稿。
本書配有電子課件、源程序等教學資源,讀者可以登錄華信教育資源網(wǎng)(www.hxedu.com.cn)免費下載。
由于時間和作者水平有限,書中難免有錯誤和不妥之處,懇請廣大讀者特別是同行專家們批評指正。您的任何意見和建議,都將是我們繼續(xù)改進本書的動力。
作者
2016年7月
李寧寧,女,大連東軟信息學院計算機系教師,一直從事計算機專業(yè)“Android應(yīng)用程序編程與開發(fā)”方面的教學與科研工作。
第1章 Android平臺與開發(fā)環(huán)境
1.1 Android應(yīng)用開發(fā)概述
1.1.1 Android發(fā)展史與現(xiàn)狀
1.1.2 Android基本架構(gòu)
1.1.3 Android組件
1.2 開發(fā)環(huán)境
1.2.1 JDK安裝與配置
1.2.2 Android Studio
1.2.3 Eclipse
1.2.4 Android Studio的優(yōu)勢
1.2.5 Genymotion模擬器
1.2.6 DDMS
1.3 第一個Android程序
1.3.1 創(chuàng)建項目
1.3.2 運行項目
1.3.3 項目分析
習題1
第2章 Android應(yīng)用程序構(gòu)成分析
2.1 目錄結(jié)構(gòu)分析
2.2 Android應(yīng)用程序結(jié)構(gòu)解析
2.2.1 資源文件
2.2.2 代碼文件
2.3 AndroidManifest.xml文件
2.4 應(yīng)用程序運行分析
2.4.1 AndroidManifest.xml修改
2.4.2 資源文件修改
2.4.3 語言國際化
2.5 Android的基本組件
2.5.1 Activity
2.5.2 BroadcastReceiver
2.5.3 Service
2.5.4 ContentProvider
習題2
第3章 Android生命周期與通信
3.1 生命周期
3.1.1 概述
3.1.2 Activity生命周期的方法
3.1.3 LogCat
3.2 Android組件間的通信
3.2.1 Intent對象
3.2.2 Intent過濾器
3.2.3 Intent傳遞數(shù)據(jù)
3.2.4 獲取Activity返回值
3.3 項目實現(xiàn)――啟動頁
習題3
第4章 布局和控件
4.1 基礎(chǔ)控件
4.1.1 TextView控件
4.1.2 EditText控件
4.1.3 Button控件及監(jiān)聽事件
4.1.4 登錄實例
4.2 常用布局
4.2.1 線性布局
4.2.2 相對布局
4.2.3 其他布局
4.3 常用控件
4.3.1 RadioGroup和RadioButton
4.3.2 Checkbox控件
4.3.3 ImageButton控件
4.3.4 ImageView控件
4.3.5 Spinner控件
4.3.6 注冊實例
4.4 控件和布局優(yōu)化
4.4.1 Shape
4.4.2 Selector
4.4.3 登錄布局和背景優(yōu)化
4.5 高級控件
4.5.1 TextInputLayout
4.5.2 ListView
4.5.3 RecycleView和CardView0
習題4
第5章 布局和控件進階
5.1 Fragment
5.1.1 Fragment的產(chǎn)生與介紹
5.1.2 Fragment的生命周期
5.1.3 靜態(tài)使用Fragment
5.1.4 動態(tài)使用Fragment
5.2 Toolbar和對話框
5.2.1 Toolbar
5.2.2 DialogFragment
5.3 Android項目框架綜合實例
5.3.1 新建項目
5.3.2 底部導航
5.3.3 任意數(shù)量內(nèi)導航
5.3.4 固定數(shù)量內(nèi)導航
習題5
第6章 系統(tǒng)服務(wù)
6.1 服務(wù)
6.1.1 Service的原理和用途
6.1.2 使用線程
6.2 Timer和Alarm
6.2.1 Timer
6.2.2 Alarm
6.3 Broadcast組件
6.3.1 靜態(tài)注冊
6.3.2 動態(tài)注冊
6.4 Notification
6.4.1 Notification簡介
6.4.2 PendingIntent
6.4.3 Notification的實現(xiàn)
習題6
第7章 數(shù)據(jù)存儲
7.1 簡單存儲
7.2 文件存儲
7.3 數(shù)據(jù)庫存儲
7.3.1 SQLite簡介
7.3.2 手動建庫
7.3.3 代碼建庫
7.3.4 數(shù)據(jù)操作
7.3.5 第三方工具――xUtils
7.4 ContentProvider
7.4.1 ContentProvider簡介
7.4.2 訪問系統(tǒng) ContentProvider
習題7
第8章 后臺處理與網(wǎng)絡(luò)通信
8.1 概述
8.2 后臺線程
8.2.1 子線程
8.2.2 Handler消息傳遞機制
8.2.3 異步任務(wù)
8.3 獲取網(wǎng)絡(luò)數(shù)據(jù)資源
8.3.1 通過URL獲取網(wǎng)絡(luò)資源
8.3.2 通過URLConnection獲取網(wǎng)絡(luò)資源
8.3.3 通過HTTP獲取網(wǎng)絡(luò)資源
8.3.4 Eclipse下的Tomcat安裝與配置
8.3.5 登錄案例
8.4 JSON
8.4.1 概述
8.4.2 Google Gson 簡述
8.5 網(wǎng)絡(luò)通信框架Volley
8.5.1 通過Volley獲取JSON數(shù)據(jù)
8.5.2 通過Volley加載圖片資源
8.6 項目實現(xiàn)――天氣預(yù)報
習題8
第9章 綜合實例――校園訂餐App
9.1 功能介紹
9.1.1 需求分析
9.1.2 開發(fā)環(huán)境搭建
9.2 服務(wù)器端運行
9.2.1 數(shù)據(jù)庫設(shè)計
9.2.2 服務(wù)器端運行配置
9.2.3 參數(shù)接口
9.3 客戶端設(shè)計
9.4 客戶端開發(fā)
9.4.1 登錄和注冊
9.4.2 店鋪和菜譜列表
9.4.3 菜譜詳情和購買
9.4.4 收藏
9.4.5 搜索
9.4.6 我
9.5 程序簽名與打包
附錄A 校園訂餐App服務(wù)器端配置
參考文獻