Android(中文名為“安卓”)操作系統(tǒng)正在持續(xù)擴展市場,已經成為全球應用廣的操作系統(tǒng)之一,引領了終端智能化的浪潮。其在智能手表、智能電視、智能手機、智能眼鏡、智能平板、電子書閱讀器、游戲機,甚至是家居、家電、音響產品、汽車面板等設備的智能化方面表現(xiàn)出了卓越的功能效果。因此Android憑借著自身的優(yōu)勢,也得到了越來越多企業(yè)及開發(fā)者的青睞。
《新編Android應用開發(fā)從入門到精通》基于當前新的Android Studio版本(穩(wěn)定版Android Studio 23)、Android SDK和主流的應用,以Android項目開發(fā)的視角,循序漸進地講解并展示了 Android項目開發(fā)過程的主要流程,依次介紹了開發(fā)環(huán)境的搭建、項目設計、界面設計、應用程序構成設計、高級界面設計、數(shù)據(jù)持久化方案、多媒體應用開發(fā)、網(wǎng)絡開發(fā)、無線通信、開源庫和開源項目,以及應用程序的托管和發(fā)布等內容。在講解每項知識點時,都遵循了理論聯(lián)系實際的講解方式,配以實戰(zhàn)演練,從而詳盡剖析了Android項目開發(fā)的完整實現(xiàn)流程。
通過對本書進行學習,初中級開發(fā)者將極大地提高Android開發(fā)能力,向Android高級開發(fā)者邁進。而對于高級開發(fā)者來說,仍然可以從本書的知識體系中學習到更加規(guī)范的操作流程和并獲得不少設計靈感。
《新編Android應用開發(fā)從入門到精通》適用于對Java編程有一定基礎,并且已經有一定的Android開發(fā)經驗,想進一步提高Android開發(fā)能力的讀者,可作為高等院校信息類相關專業(yè)的教材,也可作為Android程序設計的培訓教程,還可作為廣大Android開發(fā)愛好者自學的參考手冊。
面向系統(tǒng)集成的新發(fā)展,整合Android Studio和Eclipse兩種開發(fā)環(huán)境,提供全書所有完整可運行源代碼,涉及訪問網(wǎng)絡攝像機、語音識別、媒體動畫、網(wǎng)絡開發(fā)、近距離無線通信、訪問智能電表或智能插座等,覆蓋安卓開發(fā)各個環(huán)節(jié)。
《新編Android應用開發(fā)從入門到精通》基于當前最新的Android Studio 23版本和Android SDK,從Android發(fā)展的前沿角度出發(fā),展示了Android開發(fā)的最新相關知識內容。通過本書的學習,您將掌握實用的移動終端開發(fā)基礎知識和應用技能,精通Android項目開發(fā)技術,從而能夠勝任應用程序的實際開發(fā)任務,為培養(yǎng)綜合應用能力鋪平了道路。
全書共12章,以Android項目開發(fā)的視角,循序漸進地講解并展示了Android項目開發(fā)過程的主要流程,具體如下。
第1章介紹了Android的開發(fā)環(huán)境,包括兩種環(huán)境的搭建方法,以及Eclipse項目到Android Studio項目的轉化方法,完成開發(fā)前的準備工作。
第2章介紹了Android軟件項目開發(fā)的整體流程及Android開發(fā)過程中的代碼規(guī)范,讓讀者對Android項目開發(fā)形成整體的了解。
第3章介紹了Android界面設計,包括布局、控件和Activity,以及新的設計方法。
第4章對Android應用程序的各組成部分進行了深入講解,包括事件處理機制、Android多線程、Android廣播組件、后臺服務Service、AsyncTask、Handler等。
第5章針對Android界面的設計,介紹了一些更復雜和高級的界面設計方法,包括Android的一些新控件的使用方法。通過本章的學習,讀者將能夠設計出更美觀的界面。
第6章對Android常用的數(shù)據(jù)持久化方案進行了詳細講解,包括SharedPreferences存儲、SQLite數(shù)據(jù)庫操作和最新的LitePal數(shù)據(jù)庫操作等。
第7章介紹了與Android相關的動畫技術,包括繪圖動畫、Drawable動畫、矢量動畫等基本的圖形類和二維動畫,以及Open GL ES三維動畫。
第8章介紹了Android音視頻的操作方法,包括Android系統(tǒng)類的實現(xiàn)方法,并介紹了被Android開發(fā)者廣泛應用的基于FFmpeg開發(fā)并開源的輕量級視頻播放器Ijkplayer。
第9章介紹了Android的權限機制,講解了JSON格式數(shù)據(jù)的構造和解析方法。
第10章介紹了Android目前應用最廣泛的無線通信技術,包括WiFi、藍牙和NFC。不光展示了這三種技術的應用方法,還提供了對應的實際項目。
第11章介紹了Android的開源庫和開源項目,包括一些典型Android開源庫的獲取和使用方法,一些典型Android開源項目的功能,以及獲取Android開源資源的方法。
第12章介紹了應用程序的托管和發(fā)布方法。
前言總體來說,《新編Android應用開發(fā)從入門到精通》具有如下特點。
(1)面向項目。按照實際項目的特點進行編寫,以項目為主線進行內容講解。
(2)面向前沿。立足于Android發(fā)展的前沿角度,使用最新的開發(fā)環(huán)境。
(3)有序分類。對知識進行了科學編排,使每一章既具有獨立性,整體上又具有完整性。
由于編寫時間倉促,作者水平有限,書中疏漏和錯誤之處在所難免,望廣大專家、讀者提出寶貴意見。
何福貴:博士后、博導、北京市教學名師、北京市專業(yè)創(chuàng)新團隊帶頭人。2010年至今指導學生參加全國職業(yè)技能競賽獲得一等獎4項、二等獎5項,2017年入選北京市“高創(chuàng)計劃”教學名師。曾出版專著十余本,撰寫發(fā)表論文幾十篇,涉及EI檢索論文3篇、國際會議論文5篇、核心期刊4篇,以及教育改革十余篇等。
前言
第一章Android開發(fā)環(huán)境
1.1Android開發(fā)環(huán)境簡介
1.2基于Eclipse的開發(fā)環(huán)境
1.2.1開發(fā)環(huán)境的搭建
1.2.2項目結構
1.2.3使用第三方庫
1.2.4項目的運行和調試
1.3基于Android Studio的開發(fā)環(huán)境
1.3.1Android Studio的特點
1.3.2搭建Android Studio應用開發(fā)
環(huán)境
1.3.3Android Studio 2.3的新特性
1.3.4安裝Android Studio 新插件
1.3.5詳解項目中的資源
1.3.6詳解build.gradle文件
1.3.7項目運行
1.3.8導入Eclipse項目
1.3.9導入JAR文件
1.3.10調試
1.4兩種開發(fā)環(huán)境的比較和應用程序
轉化
1.5本章小結第二章Android開發(fā)基礎知識
2.1總體流程
2.2各階段描述
2.3Android開發(fā)代碼規(guī)范
2.3.1項目和包命名規(guī)范
2.3.2類和接口命名方法
2.3.3變量和常量命名方法
2.3.4方法的命名方法
2.3.5注釋規(guī)范
2.4本章小結第三章應用程序用戶接口——界面設計
3.1用戶界面設計基礎
3.2界面最外層設計——布局
3.2.1簡單布局——常用布局
3.2.2百分比布局
3.2.3復雜布局——布局嵌套
3.2.4Android新布局ConstraintLayout
3.3布局內部構成——界面控件
3.4界面設計助手——輔助設計工具
3.5Android新控件
3.6界面背后的勞動者——Activity
3.6.1Activity簡介
3.6.2創(chuàng)建Activity和加載布局
3.6.3Activity的生命周期
3.6.4使用Intent在Activity之間穿梭
3.6.5Intent調用常見系統(tǒng)組件
3.7界面設計新體驗——Material Design
3.7.1什么是Material Design
3.7.2Material Design內容
3.8實例:WebView實現(xiàn)監(jiān)控界面
3.9本章小結
新編Android應用開發(fā)從入門到精通
第四章應用程序的構成部件
4.1應用程序架構介紹
4.2應用程序并行機制——線程和
線程池
4.2.1線程的實現(xiàn)方法
4.2.2Android的線程池
4.3應用程序互動機制——事件機制
4.3.1事件處理機制 1——基于監(jiān)聽器的
事件處理
4.3.2事件處理機制 2——基于回調的事件
處理
4.3.3事件響應的實現(xiàn)
4.3.4實例:獲取觸點坐標
4.4應用程序后臺勞動者——Service
4.4.1服務的創(chuàng)建
4.4.2服務的實現(xiàn)
4.4.3實現(xiàn)Service和Activity之間
通信
4.5應用程序的消息處理機制—
Handler
4.5.1Handler類
4.5.2實例:獲取當前時間
4.6應用程序輕量級并行——AsyncTask
機制
4.6.1AsyncTask抽象類
4.6.2實例:實現(xiàn)定時器
4.7AsyncTask和Handler兩種異步方式
比較
4.8本章小結新編Android應用開發(fā)從入門到精通
目錄
第五章界面設計更進一步——UI高級設計
5.1自定義控件
5.1.1自定義View類控件
5.1.2實例:自定義控件——走動的
鐘表
5.2Android適配器——BaseAdapter
5.3復雜控件ListView——實現(xiàn)場景對象
選擇
5.3.1ListView控件的簡單應用
5.3.2ListView控件的高級應用
5.3.3實例:ListView實現(xiàn)場景對象
選擇
5.4高級ListView:ExpandableListView——
實現(xiàn)商品列表折疊
5.4.1ExpandableAdapter簡介
5.4.2實例: ExpandableListView實現(xiàn)商品
列表折疊
5.5高級控件 Camera2+SurfaceView——
實現(xiàn)拍照
5.5.1SurfaceView簡介
5.5.2實例:Camera2+SurfaceView——實現(xiàn)
拍照
5.6藝術般的控件:RecyclerView和
CardView——實現(xiàn)新聞卡片
5.6.1RecyclerView和CardView簡介
5.6.2實例:RecyclerView和CardView——
實現(xiàn)新聞卡片
5.7Android 7.0新工具類:DiffUtil
5.8更炫的控件:DrawerLayout——實現(xiàn)側
滑菜單效果
5.9對話框
5.9.1常用對話框
5.9.2MDDialog
5.10本章小結
第六章數(shù)據(jù)持久化方案
6.1輕量級存儲:SharedPreferences——
實現(xiàn)“記住密碼”功能
6.2結構化數(shù)據(jù)存儲——SQLite
6.2.1SQLite簡介
6.2.2創(chuàng)建SQLite數(shù)據(jù)庫
6.2.3操作數(shù)據(jù)庫
6.3實例:SQLite——實現(xiàn)會員功能
6.4數(shù)據(jù)共享:ContentProvider——獲得
聯(lián)系人信息
6.5最新對象數(shù)據(jù)庫操作——LitePal
6.5.1LitePal簡介
6.5.2配置LitePal
6.5.3數(shù)據(jù)庫創(chuàng)建和升級
6.5.4數(shù)據(jù)庫操作
6.5.5LitePal 1.5.0的新特性
6.6本章小結
第七章讓界面動起來——Android動畫
7.1繪圖動畫——繪制儀表盤
7.2幀動畫Drawable——模擬電扇
轉動
7.3SurfaceView實現(xiàn)下雨的天氣動畫
效果
7.4Android 5.0新動畫——AnimatedVector
Drawable矢量動畫
7.5三維動畫:Open GL ES——書本翻頁
動畫
7.6本章小結
第八章更豐富的應用——Android多媒體
8.1視頻播放器1——MediaController+
VideoView播放視頻
8.2視頻播放器2——MediaPlayer+
SurfaceView播放視頻
8.3實現(xiàn)按住說話錄音
8.4實現(xiàn)二維碼識別
8.5Android TTS文字識別——實現(xiàn)文字
朗讀
8.5.1TextToSpeech開發(fā)流程
8.5.2TextToSpeech實現(xiàn)文字朗讀
8.6Android語音識別——多種語言語音
識別
8.7基于Ijkplayer的視頻播放器
8.8本章小結
第九章連接到遠方——Android網(wǎng)絡開發(fā)
9.1Android應用程序的權限
9.1.1Android權限機制詳解
9.1.2Android 6.0網(wǎng)絡權限管理
9.2解析JSON格式數(shù)據(jù)
9.2.1使用JSONObject
9.2.2使用GSON
9.3使用OkHttp3請求天氣預報
9.4使用UniversalImageLoader加載
圖片
9.5使用Volley加載網(wǎng)絡圖片
9.5