前 言
移動(dòng)應(yīng)用開(kāi)發(fā)又稱(chēng)App開(kāi)發(fā),它是近年來(lái)的新興軟件開(kāi)發(fā)行業(yè)。目前App開(kāi)發(fā)主要有兩大陣營(yíng),其一是蘋(píng)果公司推出的iOS系統(tǒng),其二是谷歌公司主導(dǎo)的Android系統(tǒng)(中文名為安卓),由于iOS是閉源的,而Android是開(kāi)源的,因此眾多廠(chǎng)商紛紛為Android生態(tài)添磚加瓦,使得Android系統(tǒng)在App開(kāi)發(fā)中占據(jù)了大部分市場(chǎng)份額。
早期的安卓App只運(yùn)行于智能手機(jī),隨著Android生態(tài)的發(fā)展壯大,安卓系統(tǒng)也逐步拓展到平板電腦、智能電視、車(chē)載大屏、智能家居、智能手表等諸多設(shè)備。并且隨著5G網(wǎng)絡(luò)的持續(xù)鋪開(kāi),各種智能設(shè)備的應(yīng)用日益廣泛,必將帶動(dòng)App開(kāi)發(fā)人才的市場(chǎng)需求再度高漲。
為了幫助初學(xué)者快速掌握App開(kāi)發(fā)的基礎(chǔ)技能,筆者結(jié)合自己多年的App開(kāi)發(fā)經(jīng)驗(yàn),總結(jié)企業(yè)當(dāng)中的常用App技術(shù),基于當(dāng)前最新的Android版本與Android Studio版本,編寫(xiě)了這本從App零基礎(chǔ)到App入門(mén)再到項(xiàng)目實(shí)戰(zhàn)的App開(kāi)發(fā)教程。只要讀者具備Java編程基礎(chǔ),就能開(kāi)始本書(shū)的App開(kāi)發(fā)學(xué)習(xí)。本書(shū)在講解過(guò)程中,不但詳細(xì)描述基礎(chǔ)的開(kāi)發(fā)技巧,而且注重介紹新特性新框架,并且摒棄過(guò)時(shí)的用法,確保讀者學(xué)到最新的開(kāi)發(fā)技能,即使是中高級(jí)開(kāi)發(fā)者,也能在閱讀本書(shū)后受益。
本書(shū)內(nèi)容結(jié)構(gòu)
全書(shū)共有15章,主要內(nèi)容說(shuō)明如下:
第1章介紹了Android開(kāi)發(fā)環(huán)境的搭建過(guò)程,包括如何安裝Android Studio,如何創(chuàng)建App工程,以及如何編譯與運(yùn)行App。
第2章詳細(xì)闡述了Android開(kāi)發(fā)的基礎(chǔ)知識(shí),包括App有哪些開(kāi)發(fā)特點(diǎn),App工程是怎樣組織的,App為何采取界面與代碼分離的設(shè)計(jì)規(guī)范。
第3章學(xué)習(xí)Android簡(jiǎn)單控件的用法,主要包括文本顯示、按鈕點(diǎn)擊、圖像顯示、布局排列等初級(jí)的界面控件操縱。
第4章描述了Android四大組件之一活動(dòng)(Activity)的概念及其運(yùn)用,包括活動(dòng)的生命周期、活動(dòng)的啟動(dòng)模式,如何在活動(dòng)之間傳遞消息,如何給活動(dòng)補(bǔ)充附加信息等。
第5章學(xué)習(xí)Android中級(jí)控件的用法,主要包括簡(jiǎn)易的圖形定制,以及選擇按鈕、編輯框、對(duì)話(huà)框等控件的人機(jī)交互。
第6章講解了幾種常見(jiàn)的數(shù)據(jù)存儲(chǔ)技術(shù),包括采取鍵值對(duì)的共享參數(shù)、嵌入式數(shù)據(jù)庫(kù)SQLite、存儲(chǔ)卡上的文件操作,以及Application組件的全局用法。
第7章描述了如何使用Android四大組件之一的內(nèi)容提供器(ContentProvider),以及與之搭配的內(nèi)容解析器和內(nèi)容觀察器,還介紹了共享文件需要的文件提供器用法。
第8章學(xué)習(xí)Android高級(jí)控件的用法,主要包括下拉框、列表視圖、網(wǎng)格視圖、翻頁(yè)視圖及其對(duì)應(yīng)的適配器,還介紹了碎片(Fragment)的兩種注冊(cè)方式。
第9章描述了Android四大組件之一廣播(Broadcast)的概念及其運(yùn)用,包括如何收發(fā)應(yīng)用自身的廣播,如何監(jiān)聽(tīng)系統(tǒng)發(fā)出的廣播,以及如何捕捉屏幕變更事件。
第10章介紹了Android自定義控件的常用技術(shù),包括視圖是如何構(gòu)建的,幾個(gè)自定義控件的例子,以及簡(jiǎn)單動(dòng)畫(huà)的實(shí)現(xiàn)過(guò)程。
第11章講解了幾種在后臺(tái)工作的組件用法,包括消息通知、Android四大組件之一的服務(wù)(Service),以及多線(xiàn)程技術(shù)在App開(kāi)發(fā)中的運(yùn)用。
第12章學(xué)習(xí)Android組合控件的用法,主要包括底部標(biāo)簽欄、頂部導(dǎo)航欄、循環(huán)視圖的三種布局,還介紹了第二代翻頁(yè)視圖的使用。
第13章講解了幾種常見(jiàn)的多媒體技術(shù),包括相片的拍攝、選取和加工,音頻的錄制和播放,視頻的錄制、選取和播放等。
第14章描述了App開(kāi)發(fā)中的網(wǎng)絡(luò)通信技術(shù),包括訪(fǎng)問(wèn)HTTP接口,使用下載管理器,以及圖片加載框架Glide的詳細(xì)用法。
第15章詳細(xì)闡述了App安裝包的打造步驟,從導(dǎo)出APK文件,到發(fā)布模式的規(guī)范處理,再到安裝包的安全加固,一步步打造符合業(yè)界標(biāo)準(zhǔn)的App安裝包。
本書(shū)特點(diǎn)
?? 根據(jù)新版本編寫(xiě):本書(shū)所有代碼都基于Android Studio 4.1開(kāi)發(fā),并使用API 30的SDK(Android 11)編譯與調(diào)試通過(guò)。
?? 只要你具備Java基礎(chǔ),即可以使用本書(shū)快速開(kāi)發(fā)自己的移動(dòng)應(yīng)用,本書(shū)特別針對(duì)開(kāi)發(fā)新手介紹了Android App的開(kāi)發(fā)特點(diǎn),比如,App工程的組織、界面與代碼分離的設(shè)計(jì)規(guī)范、數(shù)據(jù)庫(kù)的選擇等,使讀者真正能夠掌握一個(gè)App的工程結(jié)構(gòu)和原理,解決讀者開(kāi)發(fā)中的困惑。
?? 一步一步教學(xué),全代碼注釋?zhuān)罕緯?shū)充分考慮到初學(xué)者的學(xué)習(xí)特點(diǎn),全書(shū)內(nèi)容安排循序漸進(jìn)、由易到難,同時(shí)盡可能地采取一步一步的教學(xué)方法,并對(duì)所有代碼進(jìn)行了詳盡的注釋?zhuān)瑢?duì)于從未接觸過(guò)Android開(kāi)發(fā)的讀者,本書(shū)可以說(shuō)是一本極佳的入門(mén)教程。
?? 技術(shù)新穎,項(xiàng)目豐富:各章在敘述過(guò)程中,穿插介紹了近期Android系統(tǒng)的新特性與新框架,包括但不限于Shortcuts、ViewPager2、ImageDecoder、Room、Gson、Glide等,還給出了8個(gè)精心設(shè)計(jì)的實(shí)戰(zhàn)項(xiàng)目,包括計(jì)算器、找回密碼、購(gòu)物車(chē)、記賬本、廣告輪播、電商首頁(yè)、評(píng)價(jià)曬單、猜你喜歡,幫助讀者學(xué)以致用,掌握實(shí)戰(zhàn)技能。
?? 配練習(xí)題:除了常規(guī)的理論講解與實(shí)戰(zhàn)項(xiàng)目,各章末尾還有5種類(lèi)型共267道練習(xí)題和動(dòng)手項(xiàng)目,方便讀者檢查自己的學(xué)習(xí)成果。
?? 資源豐富:本書(shū)配套提供的PPT教學(xué)課件、練習(xí)題參考答案以及完整的范例源碼,非常適合Android課程的教學(xué)使用。
本書(shū)資源下載
掃描右側(cè)二維碼可下載本書(shū)配套資源,也可訪(fǎng)問(wèn)筆者的github主頁(yè)(地址是https://github.com/aqi00/myapp獲取最新源碼)。
如果下載有問(wèn)題,請(qǐng)聯(lián)系booksaga@126.com,郵件主題為“Android App開(kāi)發(fā)入門(mén)與項(xiàng)目實(shí)戰(zhàn)”。
最后,感謝王金柱編輯的熱情指點(diǎn),感謝出版社同仁的辛勤工作,感謝我的家人一直以來(lái)的支持,感謝各位師長(zhǎng)的諄諄教導(dǎo),沒(méi)有他們的鼎力相助,本書(shū)就無(wú)法順利完成。
歐陽(yáng)燊
2020年10月