本書介紹了Android開發(fā)的基礎知識與Android開發(fā)的流行框架,內容包括Android程序結構與基礎入門、Android程序的界面設計與控件的使用、Android的事件處理、Activity組件、內容提供者、廣播機制、服務、數(shù)據(jù)存儲技術、Android網(wǎng)絡編程技術、多媒體技術以及流行的Android開發(fā)框架,如Gson、okHttp、Glide、EventBus等內容,書中的重要的知識點都配有案例,所有案例使用Android Studio 3.5工具開發(fā),理論與實踐結合,理實一體,任務驅動,案例選用的技術一般為新技術版本。為了提高項目動手能力,在每章的后一節(jié)安排實踐任務,通過需求分析與實現(xiàn)思路的參考代碼,逐步提高讀者的動手能力。
本書配套有視頻、教學課件、案例源代碼以及習題集等教學資料,所有知識點對應的案例都是采用較新的技術實現(xiàn),盡量與企業(yè)崗位需求接軌。本書可作為高等院校本、專科計算機相關專業(yè)的教材,也可以作為Android開發(fā)的培訓教材與自學的參考書籍,非常適合Android開發(fā)入門的讀者。
(1)使用新版本講解:Android 10 + Android studio 3.5。
(2)全書配有40個微課視頻。
(3)為了提高項目動手能力,在每章的后一節(jié)中為實踐任務,通過需求分析與實現(xiàn)思路的參考代碼,逐步提高讀者的動手能力。
(4)本書配套有視頻、教學課件、案例源碼以及習題集等教學資料,所有知識點對應的案例都是采用較新的技術實現(xiàn),盡量與企業(yè)崗位需求接軌。
Android是由Google公司為首的OHA推出的一款開源的嵌入式操作系統(tǒng),它基于 Linux 的開放源代碼軟件棧,為各類設備和機型而創(chuàng)建。從2007年推出Android SDK 1.0到現(xiàn)在的Android 10,其市場占有率越來越高,其應用也越來越多,對整個移動互聯(lián)網(wǎng)產(chǎn)業(yè)帶來了深遠的影響。面對這種趨勢,很多開發(fā)者加入Android應用開發(fā)隊伍行列,但是Android開發(fā)不是簡單看下開發(fā)者文檔就能馬上掌握,還需要掌握很多基礎知識才能理解Android開發(fā)的原理。本書將對Android基礎知識進行詳細的講解,并采用流行的Android Studio 3.5作為開發(fā)工具,理論與實踐結合,注重通過代碼與執(zhí)行效果來理解程序邏輯,讓初學者很快就能上手Android開發(fā)。
本書使用Java作為編程語言,在學習本書之前必須具備Java面向對象的編程基礎。本書的內容組織采用知識模塊與案例模塊相結合的雙核模式,所有的案例配有源代碼,重點案例還配有視頻講解。每一章后都需要完成一個綜合實踐任務,通過實踐幫助讀者鞏固所學知識,達到學以致用的目的。書中每章都會通過思維導圖來總結知識點,幫助讀者建立知識體系結構。 Android應用開發(fā)是一門實踐性很強的課程,只有反復的練習才能掌握書中的知識與開發(fā)技巧。本書的章節(jié)具有較強的關聯(lián)性,難度循序漸進,一共分為8章,內容簡單介紹如下:
第1章主要介紹Android的基礎知識,包括Android的發(fā)展史、Android的系統(tǒng)架構、開發(fā)環(huán)境的搭建、開發(fā)一個簡單的Android程序和Android程序的項目結構、管理程序資源、程序的日志管理、調試與打包發(fā)布,通過開發(fā)第1個Android程序讓讀者了解Android應用開發(fā)的流程。
第2~3章主要介紹了Android界面布局和控件的使用,包括Android常用的布局類型,常用的控件與高級控件、Android的事件處理,以及RecyclerView和數(shù)據(jù)適配器。通過開發(fā)一個點餐App來讓讀者掌握控件與布局的使用。
第4章主要介紹了Activiy組件和Fragment,包括Activity的使用、生命周期、啟動模式、Intent對象、Fragment及其界面間的傳值問題。通過完成一個學生信息瀏覽程序來掌握Activity和Fragment的使用。
第5章主要介紹了Android數(shù)據(jù)存儲技術,包括文件存儲、SharedPreferences存儲、SQLite數(shù)據(jù)庫存儲,還簡單地介紹了Room操作數(shù)據(jù),通過完成一個學生信息管理程序來掌握數(shù)據(jù)的持久化操作。
第6章主要介紹了內容提供者,包括內容提供者ContentProvider、內容解析者ContentResolver以及內容觀察者ContentObserver的使用,通過讀取系統(tǒng)短信和聯(lián)系人信息掌握內容提供者的使用。
第7章主要介紹了網(wǎng)絡編程相關的知識,包括Socket編程、HTTP協(xié)議、HttpURLConnection和WebView的使用、JSON格式及其解析、Gson庫的應用、多線程編程等。通過解析網(wǎng)絡數(shù)據(jù)完成新聞列表程序。
第8章主要介紹了廣播機制與服務組件,包括廣播機制的原理、廣播的類型、定義和使用廣播、服務的特點、服務的生命周期以及服務通信。
本書的完稿在新冠肺炎疫情期間,在家隔離期間得到了家人、朋友、同事與領導的支持,在此深表感謝。同時也感謝華中科技大學出版社各位工作人員與眾多Android工程師,在大家的幫助下才有本書的順利出版。盡管本書在編寫過程中查閱了很多資料、核對了所有代碼,但由于作者水平有限,加之技術的發(fā)展更新速度很快,書中難免存在不足,歡迎各界專家和讀者朋友們給予寶貴意見,在此將不勝感激。
第1章初識Android開發(fā)
1.1Android系統(tǒng)概述/002
1.2搭建Android開發(fā)環(huán)境/006
1.3開發(fā)Android應用程序/011
1.4資源的管理與引用/018
1.5應用程序主題制作/023
1.6程序的日志/024
1.7程序調試/025
1.8打包發(fā)布/026
1.9實踐任務/027
第2章Android控件與界面交互
2.1界面布局概述/031
2.2常見的UI控件/034
2.3消息框與對話框/047
2.4Android事件處理/055
2.5系統(tǒng)配置與屏幕方向監(jiān)聽/062
2.6實踐任務/065
第3章Android界面布局與高級控件
3.1Android布局管理/081
3.2AdapterView及其子類/091
3.3使用 RecyclerView 創(chuàng)建列表/106
3.4菜單/110
3.5實踐任務/117
第4章Activity組件
4.1Activity基礎/129
4.2Activity的生命周期/134
4.3Intent的使用/143
4.4Activity之間的數(shù)據(jù)傳遞/145
4.5Activity的啟動模式/151
4.6Fragment/154
4.7Fragment 傳值/162
4.8實踐任務/166
第5章Android數(shù)據(jù)存儲
5.1數(shù)據(jù)存儲方式概述/172
5.2文件存儲/172
5.3SharedPreferences存儲/188
5.4SQLite數(shù)據(jù)庫/195
5.5使用 Room 操作數(shù)據(jù)庫/203
5.6實踐任務/205
第6章ContentProvider的使用
6.1ContentProvider介紹/218
6.2使用ContentProvider共享數(shù)據(jù)/227
6.3ContentObserver/233
6.4Application全局應用/244
6.5本章實踐任務/246
第7章Android網(wǎng)絡編程
7.1網(wǎng)絡編程基礎/252
7.2使用HTTP訪問網(wǎng)絡/265
7.3解析JSON格式數(shù)據(jù)/277
7.4Handler/282
7.5異步任務AsyncTask/286
7.6實踐任務/294
第8章廣播機制與服務組件
8.1廣播機制/303
8.2自定義廣播/308
8.3Service概述/315
8.4服務通信/323
8.5Service的生命周期/328
8.6實踐任務/334
參考文獻