Android的發(fā)展趨勢
Android (安卓)是一種基于Linux的自由及開放源代碼的操作系統(tǒng),由Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā),主要用于移動(dòng)終端設(shè)備,如市場上的智能手機(jī)和平板電腦。Android系統(tǒng)平臺以開源性和豐富的可擴(kuò)展性受到用戶好評,國內(nèi)擁有數(shù)量龐大的智能Android手機(jī)用戶群,手機(jī)管理軟件憑借豐富的App應(yīng)用資源下載和便捷的管理功能,成為Android手機(jī)用戶的裝機(jī)必備選擇。
大量的用戶需求使得Android App開發(fā)仍然以源源不斷的上線方式來展現(xiàn)。從普通大眾的消費(fèi)水平以及使用習(xí)慣上看,Android App開發(fā)的市場還是很廣闊的。不少游戲平臺都轉(zhuǎn)向Android手機(jī),對Android游戲App開發(fā)將會持續(xù)增多。放眼應(yīng)用市場,不難發(fā)現(xiàn)Android App開發(fā)所涵蓋的類型和領(lǐng)域非常多,游戲、社交、旅游、工具等類型的應(yīng)用都有大量的Android系統(tǒng)開發(fā)。Android開發(fā)產(chǎn)品的數(shù)量會不斷增加,質(zhì)量也會不斷改進(jìn)。
本書的編寫安排
本書可以作為Android開發(fā)的一本入門圖書,通過理論知識與大量的案例來介紹Android應(yīng)用開發(fā)的各方面知識。在學(xué)習(xí)本書之前,需要讀者具備Java基礎(chǔ)知識,因?yàn)锳ndroid開發(fā)使用的是Java語言,建議讀者先了解理論知識,掌握組件的使用方式,然后通過具體的案例來達(dá)到熟練應(yīng)用。
本書共分為12章,具體如下:
第1章主要介紹Android的基礎(chǔ)知識,包括Android的發(fā)展史、Android的系統(tǒng)架構(gòu)、開發(fā)環(huán)境的搭建、第一個(gè)Android項(xiàng)目的創(chuàng)建、項(xiàng)目的文件結(jié)構(gòu)。通過這些基礎(chǔ)知識讓開發(fā)者對Android項(xiàng)目的創(chuàng)建及目錄有一個(gè)簡單的了解。
第2、3章主要介紹Android的布局以及Activity,包括Android的六大布局、各種組件的使用、AdapterView及其子類的使用、Intent的使用方式。通過這部分講解可以讓開發(fā)者實(shí)現(xiàn)簡單的用戶注冊。
第4、5章主要介紹Android的事件處理機(jī)制和Fragment,講述Android事件處理機(jī)制的方式、異步類的使用、Fragment的生命周期以及Fragment與Activity之間的通信。
第6~8章主要介紹Android的數(shù)據(jù)存儲、內(nèi)容提供者以及服務(wù)和廣播的使用。在這幾章中,針對每個(gè)知識點(diǎn)都通過具體的案例來講解,讓開發(fā)者快速地掌握Android開發(fā)的幾大組件。
第9、10章主要介紹Android的網(wǎng)絡(luò)通信編程,包括HTTP通信、Socket通信、數(shù)據(jù)提交方式以及Android+PHP開發(fā)。這兩章通過從網(wǎng)絡(luò)下載圖片在應(yīng)用程序中的顯示來講解HTTP通信,通過搭建本地PHP開發(fā)環(huán)境來講解Android和本地服務(wù)器的通信,讓開發(fā)者對Android的網(wǎng)絡(luò)編程有基本的了解。
第11章主要通過具體的案例(“傾心家教”應(yīng)用案例)開發(fā)來講解Android+PHP+MySQL的使用。本章從項(xiàng)目的需求分析、界面設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)、功能實(shí)現(xiàn)來完整地講解Android項(xiàng)目的開發(fā)流程。
第12章主要通過具體的案例(“橙一色”App項(xiàng)目案例)開發(fā)來講解Android+Spring Boot+MySQL的使用。本章從項(xiàng)目的需求分析、界面設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)、功能實(shí)現(xiàn)來完整地講解Android前端+服務(wù)器端項(xiàng)目的完整開發(fā)流程。
本書的配套資源
本書提供教學(xué)大綱、教學(xué)課件、電子教案、習(xí)題答案、程序源碼和教學(xué)進(jìn)度表等配套資源,本書還提供900分鐘的微課視頻。
資源下載提示
課件等資源: 掃描封底的“課件下載”二維碼,在公眾號“書圈”下載。
素材(源碼)等資源: 掃描目錄上方的二維碼下載。
視頻等資源: 掃描封底刮刮卡中的二維碼,再掃描書里章節(jié)中的二維碼,可以在線學(xué)習(xí)。
致謝
本書的編寫由蘭紅、王建雄、井福榮共同完成。特別感謝李志軍、朱合隆、方治嶼同學(xué),“傾心家教”和“橙一色”App項(xiàng)目案例均為大學(xué)生創(chuàng)新項(xiàng)目作品,目前已投入使用。感謝徐民霖、李浩瀚、王坤、朱純煜等同學(xué)對文稿的校對,衷心感謝支持本書出版的各位領(lǐng)導(dǎo)和同事,感謝為本書順利出版做出努力的清華大學(xué)出版社。
意見反饋
本書代碼基于Android 8.0版本,在Android Studio上驗(yàn)證通過。由于水平有限,書中難免存在疏漏之處,請廣大讀者批評指正。
作者
2020年7月
第1章Android入門
1.1Android概述
1.1.1無線通信技術(shù)
1.1.2Android基本介紹
1.1.3Android系統(tǒng)架構(gòu)
1.2搭建Android開發(fā)環(huán)境
1.3開發(fā)第一個(gè)Android程序
1.3.1創(chuàng)建與運(yùn)行第一個(gè)HelloWorld程序
1.3.2學(xué)習(xí)項(xiàng)目文件
1.3.3Android項(xiàng)目結(jié)構(gòu)
1.3.4AndroidManifest.xml詳解
1.4【項(xiàng)目案例1】“橙一色”App項(xiàng)目創(chuàng)建
1.5本章小結(jié)
1.6課后習(xí)題
第2章Android應(yīng)用界面
2.1View概念
2.2布局管理器
2.2.1創(chuàng)建和使用布局文件
2.2.2布局的類型
2.3Android控件詳解
2.3.1TextView
2.3.2EditText
2.3.3Button
2.3.4ImageView
2.3.5RadioButton和CheckBox
2.3.6ProgressBar
2.3.7SeekBar
2.4AdapterView及其子類
2.4.1ListView和ListActivity
2.4.2Adapter接口
2.5對話框的使用
2.6Toast的使用
2.7Log的使用
2.8用戶注冊案例布局講解
2.9【項(xiàng)目案例2】“橙一色”App注冊/登錄界面設(shè)計(jì)
2.10本章小結(jié)
2.11課后習(xí)題
第3章Activity
3.1Activity基礎(chǔ)
3.1.1認(rèn)識Activity
3.1.2如何創(chuàng)建Activity
3.1.3Activity的生命周期
3.1.4Activity中的單擊事件
3.2Intent的使用
3.2.1Intent淺析
3.2.2顯式Intent
3.2.3隱式Intent
3.3Activity中的數(shù)據(jù)傳遞方式
3.4用戶注冊案例功能實(shí)現(xiàn)
3.5本章小結(jié)
3.6課后習(xí)題
第4章Android事件處理
4.1Android事件處理機(jī)制
4.2基于監(jiān)聽的事件處理
4.3基于回調(diào)的事件處理
4.4AnsyncTask異步類的功能與用法
4.5【項(xiàng)目案例3】“橙一色”App注冊驗(yàn)證
4.6本章小結(jié)
4.7課后習(xí)題
第5章Fragment基礎(chǔ)
5.1Fragment概述
5.2Fragment的生命周期
5.3Fragment的創(chuàng)建
5.4Fragment與Activity之間的通信
5.5【項(xiàng)目案例4】“橙一色”App商品展示功能實(shí)現(xiàn)
5.6本章小結(jié)
5.7課后習(xí)題
第6章Android數(shù)據(jù)存儲
6.1數(shù)據(jù)存儲方式簡介
6.2文件存儲
6.2.1外部存儲
6.2.2內(nèi)部存儲保存用戶注冊信息
6.3XML文件的序列化與解析
6.3.1XML序列化
6.3.2XML序列化實(shí)例
6.3.3XML文件解析
6.3.4XML解析實(shí)例
6.4SharedPreferences的使用
6.4.1SharedPreferences簡介
6.4.2使用SharedPreferences存儲用戶注冊信息
6.5SQLite數(shù)據(jù)庫
6.5.1SQLite數(shù)據(jù)庫簡介
6.5.2SQLite數(shù)據(jù)庫操作類以及接口
6.5.3SQLite數(shù)據(jù)庫的操作
6.5.4使用SQLite數(shù)據(jù)庫展示用戶信息
6.6JSON學(xué)習(xí)
6.6.1JSON簡介
6.6.2JSON解析案例
6.7【項(xiàng)目案例5】“橙一色”App數(shù)據(jù)存儲及主頁展示
6.8本章小結(jié)
6.9課后習(xí)題
第7章ContentProvider的使用
7.1ContentProvider簡介
7.2操作ContentProvider
7.2.1ContentProvider的創(chuàng)建
7.2.2Uri簡介
7.2.3使用ContentProvider獲取通訊錄
7.3使用ContentProvider共享數(shù)據(jù)
7.3.1ContentResolver簡介
7.3.2系統(tǒng)短信備份案例
7.3.3跨應(yīng)用數(shù)據(jù)共享案例
7.4ContentObserver
7.4.1ContentObserver簡介
7.4.2監(jiān)控短信發(fā)送案例
7.5本章小結(jié)
7.6課后習(xí)題
第8章Service和廣播的使用
8.1Service簡介
8.1.1Service的創(chuàng)建和配置
8.1.2Service的啟動(dòng)與停止
8.2Service的生命周期
8.3Service通信
8.3.1本地服務(wù)和遠(yuǎn)程服務(wù)通信
8.3.2本地服務(wù)通信實(shí)例
8.3.3跨應(yīng)用啟動(dòng)服務(wù)實(shí)例
8.4系統(tǒng)服務(wù)類的使用
8.4.1TelephonyManager
8.4.2SmsManager
8.5廣播消息
8.5.1廣播簡介
8.5.2靜態(tài)注冊廣播案例
8.5.3動(dòng)態(tài)注冊廣播案例
8.6【項(xiàng)目案例6】“橙一色”App消息推送功能實(shí)現(xiàn)
8.7本章小結(jié)
8.8課后習(xí)題
第9章Android網(wǎng)絡(luò)通信編程
9.1網(wǎng)絡(luò)編程基礎(chǔ)
9.1.1HTTP簡介
9.1.2標(biāo)準(zhǔn)Java接口
9.1.3Android網(wǎng)絡(luò)接口
9.2HTTP通信
9.2.1HttpURLConnection簡介
9.2.2HttpURLConnection接口使用案例
9.2.3HttpClient簡介
9.2.4HttpClient的使用案例
9.3Socket通信
9.3.1Socket通信原理
9.3.2Socket通信案例
9.4數(shù)據(jù)提交方式
9.4.1GET方式提交數(shù)據(jù)
9.4.2POST方式提交數(shù)據(jù)
9.5OkHttp的使用
9.5.1OkHttp的GET和POST請求
9.5.2在Android中使用OkHttp
9.6本章小結(jié)
9.7課后習(xí)題
第10章Android+PHP開發(fā)
10.1PHP介紹
10.2PHP+MySQL簡介
10.2.1PHP連接MySQL
10.2.2PHP 創(chuàng)建數(shù)據(jù)庫
10.2.3PHP創(chuàng)建數(shù)據(jù)表
10.2.4PHP對數(shù)據(jù)庫表的基本操作
10.3PHP+Android簡介
10.3.1Android與PHP結(jié)合
10.3.2用戶登錄案例
10.4本章小結(jié)
10.5課后習(xí)題
第11章“傾心家教”應(yīng)用案例開發(fā)
11.1應(yīng)用分析
11.2應(yīng)用界面設(shè)計(jì)
11.2.1登錄界面設(shè)計(jì)
11.2.2主界面規(guī)劃設(shè)計(jì)
11.2.3找教師界面
11.2.4消息界面
11.2.5個(gè)人信息界面
11.3數(shù)據(jù)庫設(shè)計(jì)
11.4應(yīng)用功能實(shí)現(xiàn)
11.4.1應(yīng)用主界面實(shí)現(xiàn)
11.4.2教師查詢/預(yù)約功能實(shí)現(xiàn)
11.4.3個(gè)人信息管理功能實(shí)現(xiàn)
11.4.4預(yù)約的教師查詢功能
11.4.5設(shè)置功能的實(shí)現(xiàn)
11.5應(yīng)用發(fā)布
11.6本章小結(jié)
第12章“橙一色”App功能優(yōu)化及完善
12.1應(yīng)用分析
12.2App應(yīng)用技術(shù)
12.2.1Spring Boot框架
12.2.2MyBatis持久層框架
12.2.3Fastjson解析庫
12.3“橙一色”App應(yīng)用功能界面設(shè)計(jì)
12.3.1商品界面
12.3.2購物車界面
12.4數(shù)據(jù)庫創(chuàng)建
12.5Web前端界面設(shè)計(jì)
12.6Spring Boot服務(wù)端設(shè)計(jì)
12.6.1用戶接口的設(shè)計(jì)
12.6.2商品接口的設(shè)計(jì)
12.6.3消息接口的設(shè)計(jì)
12.6.4銷量接口的設(shè)計(jì)
12.7“橙一色”App端功能實(shí)現(xiàn)
12.7.1App登錄/注冊實(shí)現(xiàn)
12.7.2App首頁商品信息展示功能實(shí)現(xiàn)
12.7.3App商品信息展示功能實(shí)現(xiàn)
12.7.4App消息推送功能實(shí)現(xiàn)
12.8本章小結(jié)
參考文獻(xiàn)