每位Android應(yīng)用開(kāi)發(fā)者都應(yīng)該知道的:
Android 6工具、應(yīng)用/UI設(shè)計(jì)、測(cè)試和發(fā)布等
《Android 6開(kāi)發(fā)秘籍(第5版) 是一本緊貼實(shí)用的精品指南,介紹如何借助Android 6 SDK、Android Studio以及*的開(kāi)發(fā)*實(shí)踐來(lái)構(gòu)建健壯的商業(yè)級(jí)Android應(yīng)用。這一版的內(nèi)容更豐富、優(yōu)質(zhì)、詳實(shí),涵蓋開(kāi)始為新式Android設(shè)備開(kāi)發(fā)專業(yè)應(yīng)用需要掌握的所有知識(shí)。如果你想成為Android開(kāi)發(fā)高手,本書將助你一臂之力,幫你構(gòu)建任何你能想象的應(yīng)用!
三位備受尊崇的專家在書中指導(dǎo)你設(shè)置開(kāi)發(fā)環(huán)境、設(shè)計(jì)用戶界面、為不同設(shè)備開(kāi)發(fā)應(yīng)用以及優(yōu)化整個(gè)應(yīng)用開(kāi)發(fā)過(guò)程。許多章節(jié)都包含多個(gè)示例應(yīng)用,*的代碼清單指引你深刻領(lǐng)悟關(guān)鍵的API功能。
本書新增了介紹材質(zhì)設(shè)計(jì)、設(shè)置應(yīng)用樣式、設(shè)計(jì)模式以及SQLite查詢的章節(jié),增加了闡述Gradle構(gòu)建系統(tǒng)的附錄,并列出關(guān)于Android Studio使用技巧的大量提示,堪稱一座知識(shí)寶庫(kù)。
主要內(nèi)容■ 介紹*的Android 5.1/6的API、工具、實(shí)用程序以及*實(shí)踐■ 新增了Android 6.0 授權(quán)模型■ 在應(yīng)用中集成材質(zhì)設(shè)計(jì)的卓越技術(shù)■ 新增一章介紹如何使用樣式以及重用通用UI組件■ 擴(kuò)展介紹應(yīng)用設(shè)計(jì)、架構(gòu)和后向兼容■ 用一整章篇幅介紹如何使用SQLite數(shù)據(jù)庫(kù)持久保存應(yīng)用數(shù)據(jù)■ 修訂后的測(cè)試題和練習(xí)題測(cè)試你對(duì)知識(shí)的掌握程度
Android是風(fēng)靡于全球、自由且開(kāi)源的移動(dòng)平臺(tái),已經(jīng)迅速占領(lǐng)移動(dòng)開(kāi)發(fā)市場(chǎng)。本書為軟件開(kāi)發(fā)小組提供了很多專業(yè)指導(dǎo),包括如何設(shè)計(jì)、開(kāi)發(fā)、測(cè)試、調(diào)試和發(fā)布專業(yè)的 Android 應(yīng)用。如果你是一位經(jīng)驗(yàn)豐富的移動(dòng)開(kāi)發(fā)人員,可能會(huì)關(guān)注于簡(jiǎn)化開(kāi)發(fā)流程的提示和技巧,并充分利用Android的特性。如果你是移動(dòng)開(kāi)發(fā)新手,那么本書也同樣可以幫助你順利地從傳統(tǒng)軟件領(lǐng)域過(guò)渡到移動(dòng)開(kāi)發(fā)確切地說(shuō),就是最有前途的Android平臺(tái)。本書讀者對(duì)象本書包含多年來(lái)從移動(dòng)領(lǐng)域成功項(xiàng)目中總結(jié)出來(lái)的技巧,也提供開(kāi)發(fā)人員從項(xiàng)目設(shè)想到最終實(shí)現(xiàn)所需知道的一系列知識(shí)。書中涵蓋了移動(dòng)端軟件開(kāi)發(fā)流程與傳統(tǒng)軟件開(kāi)發(fā)流程的區(qū)別,以及一些可以幫助節(jié)省寶貴時(shí)間、發(fā)現(xiàn)和解決避免陷阱的實(shí)用技巧。不論項(xiàng)目規(guī)模有多大,本書都適用。本書讀者對(duì)象包括:● 有志于開(kāi)發(fā)專業(yè)Android應(yīng)用的工程師。本書大部分內(nèi)容都適用于那些有Java 經(jīng)驗(yàn),但不一定做過(guò)移動(dòng)端開(kāi)發(fā)的軟件人員。對(duì)于經(jīng)驗(yàn)更豐富的移動(dòng)開(kāi)發(fā)人員,他們也能從本書中學(xué)到如何充分利用Android系統(tǒng)的優(yōu)勢(shì),并了解Android系統(tǒng)和當(dāng)今市面上流行的其他移動(dòng)平臺(tái)的本質(zhì)區(qū)別。● 有志于測(cè)試 Android 應(yīng)用的QA人員。無(wú)論他們面對(duì)的是黑盒還是白盒測(cè)試,QA人員都會(huì)覺(jué)得本書很有價(jià)值。我們專門占用幾個(gè)章節(jié)來(lái)分析QA人員所關(guān)心的問(wèn)題,包括如何制定可靠的測(cè)試計(jì)劃、移動(dòng)端的問(wèn)題追蹤系統(tǒng)、如何管理手機(jī),以及如何利用Android提供的可用工具來(lái)徹底測(cè)試應(yīng)用等。● 有志于規(guī)劃和管理Android開(kāi)發(fā)團(tuán)隊(duì)的項(xiàng)目經(jīng)理。項(xiàng)目經(jīng)理們?cè)谡麄(gè)項(xiàng)目流程中,都可借助本書來(lái)制定計(jì)劃、招聘人員,以及運(yùn)作Android項(xiàng)目。我們會(huì)討論項(xiàng)目的風(fēng)險(xiǎn)管理,以及如何讓Android項(xiàng)目的運(yùn)作更加順暢。● 其他讀者。本書除了適用于軟件開(kāi)發(fā)人員外,也適用于那些想在垂直市場(chǎng)應(yīng)用領(lǐng)域掘金,或者是想規(guī)劃很優(yōu)秀的手機(jī)應(yīng)用的人,抑或是單純只想在自己手機(jī)上找點(diǎn)樂(lè)子的業(yè)余愛(ài)好者。甚至是想評(píng)估Android是否符合它們需求(包括可行性分析)的商人們,也會(huì)在本書中找到一些有價(jià)值的信息。任何對(duì)移動(dòng)應(yīng)用有好想法,或者是自己有Android設(shè)備的人,都可以從中獲益,無(wú)論他們是為了賺錢,還是興趣使然。本書所要闡述的一些關(guān)鍵問(wèn)題本書為讀者解答了如下疑問(wèn):(1) Android是什么?各個(gè)SDK 版本有何不同?(2) Android和其他移動(dòng)技術(shù)有什么區(qū)別,開(kāi)發(fā)人員又該如何利用這些差異?(3) 開(kāi)發(fā)人員如何使用 Android Studio和 Android SDK 工具,在模擬器或真實(shí)設(shè)備上開(kāi)發(fā)和調(diào)試 Android 應(yīng)用?(4) Android 應(yīng)用是如何組織的?(5) 開(kāi)發(fā)人員如何設(shè)計(jì)出可靠的移動(dòng)端用戶界面 特別是針對(duì)Android系統(tǒng)的界面?(6) Android SDK有哪些功能?開(kāi)發(fā)人員又該如何正確地使用它們?(7) 什么是材質(zhì)設(shè)計(jì)(Material Design),為什么它很重要?(8) 移動(dòng)端開(kāi)發(fā)流程和傳統(tǒng)桌面型應(yīng)用的開(kāi)發(fā)流程有何區(qū)別?(9) 針對(duì)Android開(kāi)發(fā)的最好策略是什么?(10) 經(jīng)理、開(kāi)發(fā)人員或測(cè)試人員在規(guī)劃、開(kāi)發(fā)和測(cè)試移動(dòng)應(yīng)用時(shí),應(yīng)該關(guān)注哪些方面?(11) 移動(dòng)團(tuán)隊(duì)如何開(kāi)發(fā)出優(yōu)質(zhì)的Android應(yīng)用?(12) 移動(dòng)團(tuán)隊(duì)如何對(duì)Android 應(yīng)用打包以便部署?(13) 移動(dòng)團(tuán)隊(duì)如何從 Android 應(yīng)用獲利?(14) 最后,作者在本次改版中添加了哪些新內(nèi)容?本書的編排結(jié)構(gòu)本書的側(cè)重點(diǎn)在于Android開(kāi)發(fā)過(guò)程中的一些精華部分,包括設(shè)置開(kāi)發(fā)環(huán)境、理解應(yīng)用的生命周期、用戶界面設(shè)計(jì)、面向多種不同類型的設(shè)備進(jìn)行開(kāi)發(fā),以及設(shè)計(jì)、開(kāi)發(fā)、測(cè)試和發(fā)布商業(yè)級(jí)應(yīng)用的整個(gè)軟件流程。本書分為6大部分。下面是對(duì)各部分的概述:● 第Ⅰ部分:Android平臺(tái)概述第Ⅰ部分介紹Android入門知識(shí),闡述了它與其他移動(dòng)平臺(tái)的區(qū)別。你會(huì)逐漸熟悉Android 的SDK工具,安裝開(kāi)發(fā)平臺(tái),以及編寫和運(yùn)行第一個(gè)Android應(yīng)用在模擬器上和在真機(jī)上。很多開(kāi)發(fā)人員和測(cè)試人員(特別是白盒測(cè)試人員)對(duì)這一部分應(yīng)該會(huì)尤其感興趣。● 第Ⅱ部分:應(yīng)用基礎(chǔ)第Ⅱ部分介紹編寫 Android 應(yīng)用的一些設(shè)計(jì)原則。將介紹Android應(yīng)用的結(jié)構(gòu),以及如何在項(xiàng)目中導(dǎo)入資源,例如字符串、圖像和用戶界面元素等。了解Android中的核心用戶界面元素View。還將介紹Android SDK提供的很多常用的用戶界面控件和布局。開(kāi)發(fā)人員對(duì)這一部分應(yīng)該會(huì)感興趣。● 第Ⅲ部分:應(yīng)用設(shè)計(jì)基礎(chǔ)第Ⅲ部分深入研究如何在Android中設(shè)計(jì)應(yīng)用。將介紹材質(zhì)設(shè)計(jì)、樣式和應(yīng)用中常用的設(shè)計(jì)模式。還將介紹如何設(shè)計(jì)和規(guī)劃應(yīng)用。開(kāi)發(fā)人員對(duì)這一部分應(yīng)該會(huì)感興趣。● 第Ⅳ部分:應(yīng)用開(kāi)發(fā)基礎(chǔ)第Ⅳ部分討論大多數(shù) Android 應(yīng)用會(huì)用到的特性,包括使用preferences來(lái)存儲(chǔ)應(yīng)用數(shù)據(jù);如何使用文件、文件夾、SQLite和內(nèi)容提供者(content provider)。開(kāi)發(fā)人員對(duì)這一部分應(yīng)該會(huì)感興趣。● 第Ⅴ部分:應(yīng)用交付基礎(chǔ)第Ⅴ部分討論完整的移動(dòng)端軟件開(kāi)發(fā)流程,為項(xiàng)目管理人員、軟件開(kāi)發(fā)人員、用戶界面設(shè)計(jì)人員及QA人員提供了很多建議和技巧。● 第Ⅵ部分:附錄第Ⅵ部分包括了很多有用的附錄信息,幫助你運(yùn)行和使用重要的Android工具。本部分包括了Android Studio開(kāi)發(fā)工具的提示和技巧,對(duì)Android SDK開(kāi)發(fā)工具的概述,三個(gè)有用的Android開(kāi)發(fā)工具快速入門指南模擬器、Device Monitor和Gradle,以及每章最后的測(cè)試題的答案。本次改版所做的修改當(dāng)我們開(kāi)始撰寫本書第1版時(shí),市面上還沒(méi)有Android設(shè)備。現(xiàn)如今全球已經(jīng)有數(shù)以億計(jì)的 Android 設(shè)備了(與數(shù)千種不同的設(shè)備型號(hào))手機(jī)、平板電腦、電子書閱讀器、智能手表以及一些有特色的設(shè)備,例如游戲主機(jī)、電視和谷歌眼鏡。另外,其他一些設(shè)備,諸如Google Chromecast之類的設(shè)備還可以讓Android設(shè)備和電視實(shí)現(xiàn)屏幕共享。與本書第1版出版時(shí)的Android平臺(tái)相比,Android平臺(tái)已經(jīng)發(fā)生了非常大的變化。Android SDK有很多新的特性,開(kāi)發(fā)工具也有不少必需的升級(jí)。Android系統(tǒng)作為一種科技平臺(tái),已然是移動(dòng)市場(chǎng)領(lǐng)域的王者。在這一版本中,我們借此機(jī)會(huì)加入了豐富的信息。但不用擔(dān)心,讀者仍然會(huì)像前幾個(gè)版本一樣喜愛(ài)這個(gè)最新版本;只是現(xiàn)在它更強(qiáng)大,覆蓋面更廣,還加入了不少最佳實(shí)踐建議。除新增了文字內(nèi)容外,還對(duì)所有現(xiàn)存的內(nèi)容(文本和范例代碼)進(jìn)行了升級(jí),并且使用了最新的Android SDK(當(dāng)然,它們是向后兼容的)。我們提供了測(cè)試題來(lái)幫助讀者確認(rèn)是否已經(jīng)很好地掌握了每章的學(xué)習(xí)重點(diǎn);我們還在章節(jié)末尾添加了練習(xí)題,讓讀者可以更深入地理解Android系統(tǒng)。有各種不同的Android 開(kāi)發(fā)社區(qū),而我們的目標(biāo)就是面向所有的開(kāi)發(fā)人員 不管他們的目標(biāo)設(shè)備是什么。這其中也包括了那些希望為幾乎所有平臺(tái)提供服務(wù)的開(kāi)發(fā)人員。因而一些老式 SDK的關(guān)鍵部分在本書中仍然被保留下來(lái)它們通常是考慮兼容性時(shí)最合理的選擇。在這一版本中,我們做了如下改進(jìn)和升級(jí):● 整本書已經(jīng)升級(jí)為最新的Android Studio IDE。本書以前的版本包含了 Eclipse IDE。所有的內(nèi)容、圖像和代碼示例已經(jīng)根據(jù)Android Studio做了更新。此外,還包含了最新和最優(yōu)秀的Android工具和實(shí)用程序。● 定義清單文件一章覆蓋了新的 Android 6.0 Marshmallow(棉花糖,API級(jí)別23)權(quán)限模式,并提供了展示新權(quán)限模式的示例代碼。● 增加了全新的一章材質(zhì)設(shè)計(jì),演示了開(kāi)發(fā)人員如何將常見(jiàn)的材質(zhì)設(shè)計(jì)功能集成到應(yīng)用中,并提供了示例代碼。● 增加了全新的一章使用樣式,介紹如何更好地組織樣式和重用常用UI組件,以便優(yōu)化顯示渲染,并提供了示例代碼。● 增加了全新的一章架構(gòu)設(shè)計(jì)模式,包含了應(yīng)用架構(gòu)的各種設(shè)計(jì)模式的內(nèi)容,并提供了示例代碼。● 增加了全新的一章使用SQLite保存數(shù)據(jù)包含了使用數(shù)據(jù)庫(kù)持久化應(yīng)用數(shù)據(jù)的內(nèi)容,并提供了示例代碼。● 包含了使用 Android Studio的提示和技巧的一個(gè)附錄。● 包含了Gradle構(gòu)建系統(tǒng)的一個(gè)附錄,以幫助了解Gradle是什么,以及為什么它很重要。● AdvancedLayouts示例代碼已被更新,GridView和ListView組件將分別使用Fragment類和ListFragment類。● 一些示例代碼,包括使用了新Toolbar的ActionBar示例,并使用支持庫(kù),以便兼容運(yùn)行老版本API的設(shè)備。必要時(shí),更新應(yīng)用清單文件以便支持父-子Activity關(guān)系,從而支持向上導(dǎo)航。● 許多示例代碼使用了AppCompatActivity類和appcompat-v7 支持庫(kù)。● 所有章節(jié)和附錄現(xiàn)在都有小測(cè)試和練習(xí)題,以便讀者可以評(píng)估學(xué)習(xí)成果。● 所有章節(jié)都已更新,通常還伴隨著一些全新的章節(jié)。● 所有的示例代碼和相應(yīng)的應(yīng)用都已升級(jí),以保證可在最新SDK中運(yùn)行。如你所見(jiàn),本書涵蓋與Android相關(guān)的所有最熱門的、最令人興奮的特性。我們重新評(píng)估現(xiàn)有章節(jié),更新內(nèi)容,同時(shí)也添加了一些新章節(jié)。最后,還包含了很多附加的內(nèi)容、聲明,以及針對(duì)各位讀者的回饋所做的修正。謝謝你們!本書所用的開(kāi)發(fā)環(huán)境本書中的Android代碼是在以下開(kāi)發(fā)環(huán)境中編寫的:● Windows 7、8和Mac OS X 10.9● Android Studio 1.3.2● Android SDK API Level 23 (在本書中為Android Marshmallow)● Android SDK Tools 24.3.4● Android SDK Platform Tools 23.0.0● Android SDK Build Tools 23.0.0● Android Support Repository 17(在適當(dāng)時(shí)使用)● Java SE Development Kit (JDK) 7 Update 55● Android設(shè)備:Nexus 4、5和6(手機(jī)),Nexus 7(第一代和第二代7英寸平板電腦),Nexus 9和10 (大尺寸平板電腦), 以及其他各式流行設(shè)備。Android在與其他移動(dòng)平臺(tái)(例如,Apple iOS、Windows Phone和Blackberry OS)的競(jìng)爭(zhēng)中,仍然保持高速增長(zhǎng)。不斷有各種令人興奮的Android新設(shè)備涌現(xiàn)。開(kāi)發(fā)人員已經(jīng)把Android 列為用戶今后一段時(shí)間的選擇重點(diǎn)。Android最近的一次平臺(tái)重大升級(jí)是Android Marshmallow,它帶來(lái)許多新功能。本書涵蓋最新的SDK和可用工具。本書旨在幫助開(kāi)發(fā)人員支持市面上所有流行的設(shè)備,而不僅僅是一部分特殊機(jī)器。在本書撰寫階段,大概有9.7%的用戶的設(shè)備運(yùn)行著Android Lollipop 5.0或5.1,而Android Marshmallow尚未在實(shí)際設(shè)備上發(fā)布。當(dāng)然,有些設(shè)備將通過(guò)在線方式進(jìn)行升級(jí),有些用戶將會(huì)購(gòu)買新的Lollipop和Marshmallow設(shè)備。但對(duì)于開(kāi)發(fā)人員而言,他們要面對(duì)的是各種不同版本的Android平臺(tái),以便能覆蓋到這一領(lǐng)域的大部分設(shè)備。另外, Android的下一個(gè)版本很可能在近期發(fā)布。那么這些對(duì)本書意味著什么呢?這意味著我們既要提供對(duì)以前API的支持,也要討論Android SDK中出現(xiàn)的那些新API。我們從兼容性角度討論了支持所有(至少是大部分)用戶設(shè)備所需要采用的策略。我們提供了截屏圖片來(lái)重點(diǎn)突出不同版本的 Android SDK的差異,因?yàn)槿魏未蟮陌姹旧?jí)在UI外觀上都會(huì)體現(xiàn)出來(lái)。換句話說(shuō),我們假設(shè)你正在下載最新的 Android 工具,所以提供了撰寫本書時(shí)的屏幕截圖和操作步驟。這是我們?cè)趯?duì)本書內(nèi)容進(jìn)行取舍時(shí)設(shè)定的界線。附加的可用資源本書示例的源代碼可從https://github.com/lambo4jos/introToAndroid5e下載;也可從本書的官網(wǎng)下載,網(wǎng)址為http://introductiontoandroid.blogspot.com/2015/08/5th-edition-book-code- samples.html。代碼示例以章節(jié)進(jìn)行組織,并以zip格式進(jìn)行下載,或者使用Git的命令行進(jìn)行訪問(wèn)。也可以在本書的官網(wǎng)中找到其他的Android討論話題(http://introductiontoandroid. blogspot.com)。另外,也可訪問(wèn)www.tupwk.com.cn/downpage,輸入中文書名或中文ISBN,下載源代碼。或者掃描本書封底的二維碼,下載相關(guān)資料。本書的編寫約定本書使用了如下約定:● 代碼是以等寬字體格式提供的。● Java的import語(yǔ)句、異常處理,以及錯(cuò)誤檢測(cè)通常會(huì)從書稿中移除,以便代碼清晰,并將篇幅控制在合理范圍之內(nèi)。本書也以如下幾種形式提供了相關(guān)信息:
提示提供有用的信息或有關(guān)當(dāng)前文本的提示。
注意提供額外的、可能很有趣的相關(guān)信息。
警告提供一些可能遇到的陷阱,以及規(guī)避它們的實(shí)用建議。
更多支持信息可在網(wǎng)上找到各種充滿活力且有用的Android開(kāi)發(fā)人員社區(qū)其中包含了很多對(duì)Android開(kāi)發(fā)人員和移動(dòng)領(lǐng)域研究人員有價(jià)值的內(nèi)容:● Android Developer官網(wǎng)以及Android SDK和開(kāi)發(fā)人員參考資料網(wǎng)站:http://d.android.com/index.html和http://d.android.com● Google Plus: Android Developers Group:https://plus.google.com/ AndroidDevelopers/posts● YouTube: Android Developer和Google Design:https://www.youtube.com/user/androiddevelopershttps://www.youtube.com/channel/UClKO7be7O9cUGL94PHnAeOA● Google Material Design:https://www.google.com/design/spec/material-design/introduction.html● Stack Overflow,其中包含眾多 Android 方面的技術(shù)信息(完整的標(biāo)記),以及官方的支持論壇:http://stackoverflow.com/questions/tagged/android● Android Open Source Project:https://source.android.com/index.html● Open Handset Alliance,面向Android 生產(chǎn)商、運(yùn)營(yíng)商和開(kāi)發(fā)人員:http://openhandsetalliance.com● Google Play,可供購(gòu)買和銷售Android應(yīng)用:https://play.google.com/store● tuts 的Android開(kāi)發(fā)指南:http://code.tutsplus.com/categories/android● Google Sample Apps,包含托管在GitHub上的開(kāi)源Android應(yīng)用:https://github.com/googlesamples● Android工具項(xiàng)目站點(diǎn),工具團(tuán)隊(duì)在此討論升級(jí)和修改:https://sites.google.com/a/android.com/tools/recent● FierceDeveloper是針對(duì)無(wú)線開(kāi)發(fā)人員的每周快報(bào):http://fiercedeveloper.com● XDA-Developers上的Android論壇:http://forum.xda-developers.com/android● Developer.com提供了面向移動(dòng)開(kāi)發(fā)人員的一系列文章:http://developer.com聯(lián)系作者我們歡迎各位讀者對(duì)本書做出評(píng)論、提出問(wèn)題以及給出反饋。我們邀請(qǐng)你訪問(wèn)我們的博客,網(wǎng)址如下:● http://introductiontoandroid.blogspot.com或者給我們發(fā)e-mail:● introtoandroid5e@gmail.com也可在LinkedIn上找到Joseph Annuzzi:● Joseph Annuzzi, Jr: https://www.linkedin.com/in/josephannuzzi也可在Google 中找到Joseph Annuzzi:● Joseph Annuzzi, Jr: http://goo.gl/FBQeL
第Ⅰ部分 Android平臺(tái)概述
第1章 Android概述 3
1.1
Android開(kāi)源項(xiàng)目(AOSP) 3
1.2 開(kāi)放手機(jī)聯(lián)盟 4
1.2.1
Google進(jìn)入移動(dòng)市場(chǎng) 4
1.2.2
開(kāi)放手機(jī)聯(lián)盟介紹 4
1.2.3
加入開(kāi)放手機(jī)聯(lián)盟 5
1.2.4
制造商:設(shè)計(jì)Android
設(shè)備 5
1.2.5
移動(dòng)運(yùn)營(yíng)商:提供Android
體驗(yàn) 5
1.2.6
應(yīng)用驅(qū)動(dòng)設(shè)備的銷售:
開(kāi)發(fā)Android應(yīng)用 6
1.2.7
利用所有Android設(shè)備的
優(yōu)勢(shì) 6
1.2.8
Android:我們現(xiàn)在取得的
進(jìn)展 7
1.3
Android平臺(tái)的獨(dú)特性 7
1.3.1
Android的由來(lái) 8
1.3.2
自由和開(kāi)放源代碼 8
1.3.3
熟悉且廉價(jià)的開(kāi)發(fā)工具 9
1.3.4
合理的開(kāi)發(fā)學(xué)習(xí)曲線 9
1.3.5
功能強(qiáng)大的應(yīng)用開(kāi)發(fā)支持 9
1.3.6
豐富和安全的應(yīng)用集成 10
1.3.7
沒(méi)有昂貴的開(kāi)發(fā)費(fèi)用 10
1.3.8
應(yīng)用的自由市場(chǎng) 10
1.3.9
一個(gè)不斷發(fā)展的平臺(tái) 11
1.4
Android 平臺(tái) 11
1.4.1
Android 的底層架構(gòu) 11
1.4.2
安全和權(quán)限 13
1.4.3
探索Android應(yīng)用 14
1.5
OHA和GMS 之外的Android
版本 17
1.5.1
Amazon Fire OS 17
1.5.2
Cyanogen OS和
CyanogenMod 17
1.5.3
Maker Movement和開(kāi)源
硬件 18
1.5.4
保持警覺(jué) 18
1.6 本章小結(jié) 18
1.7 小測(cè)驗(yàn) 18
1.8 練習(xí)題 19
1.9 參考資料和更多信息 19
第2章 設(shè)置開(kāi)發(fā)環(huán)境 21
2.1 配置你的開(kāi)發(fā)環(huán)境 21
2.1.1
配置操作系統(tǒng)以便進(jìn)行
設(shè)備調(diào)試 24
2.1.2
配置Android硬件以便
進(jìn)行調(diào)試 24
2.1.3
更新Android Studio 26
2.1.4
更新Android SDK 26
2.1.5
Android Studio存在的
問(wèn)題 27
2.1.6
Android SDK存在的問(wèn)題 27
2.1.7
Android Studio的替代者:
IntelliJ IDEA 27
2.2 探索Android SDK
28
2.2.1
了解Android SDK許可
協(xié)議 28
2.2.2
閱讀Android SDK文檔 29
2.2.3
探索Android應(yīng)用框架
核心 30
2.2.4
探索Android核心工具 31
2.2.5
探索Android示例應(yīng)用 35
2.3 本章小結(jié) 36
2.4 小測(cè)驗(yàn) 37
2.5 練習(xí)題 37
2.6 參考資料和更多信息 37
第3章 創(chuàng)建第一個(gè)Android應(yīng)用 39
3.1 測(cè)試開(kāi)發(fā)環(huán)境 39
3.1.1
在Android Studio中導(dǎo)入
BorderlessButtons示例 40
3.1.2
使用預(yù)裝的AVD運(yùn)行
BorderlessButtons項(xiàng)目 42
3.1.3
在Android模擬器中運(yùn)行
BorderlessButtons應(yīng)用 42
3.2 構(gòu)建第一個(gè)Android應(yīng)用 44
3.2.1
創(chuàng)建并配置一個(gè)新的
Android 項(xiàng)目 44
3.2.2
了解Android符號(hào)視圖和
傳統(tǒng)Project視圖 48
3.2.3
Android 應(yīng)用的核心文件和
目錄 49
3.2.4
在模擬器中運(yùn)行Android
應(yīng)用 50
3.2.5
在模擬器中調(diào)試Android
應(yīng)用 52
3.2.6
為Android 應(yīng)用增加日志
記錄 55
3.2.7
在硬件設(shè)備上調(diào)試應(yīng)用 57
3.3 本章小結(jié) 58
3.4 小測(cè)驗(yàn) 59
3.5 練習(xí)題 59
3.6 參考資料和更多信息 59
第Ⅱ部分 應(yīng)用基礎(chǔ)
第4章 理解應(yīng)用組件 63
4.1 掌握重要的Android術(shù)語(yǔ) 63
4.2 應(yīng)用Context 64
4.2.1
獲取應(yīng)用Context 64
4.2.2
使用應(yīng)用Context 64
4.3 使用Activity執(zhí)行應(yīng)用任務(wù) 65
4.4 使用Fragment組織Activity
組件 71
4.5 使用Intent管理Activity之間的
切換 72
4.5.1
通過(guò)Intent切換Activity 73
4.5.2
通過(guò)Activity、Fragment
和Intent來(lái)組織應(yīng)用導(dǎo)航 75
4.6 使用服務(wù) 75
4.7 接收和廣播Intent
76
4.8 本章小結(jié) 77
4.9 小測(cè)驗(yàn) 77
4.10
練習(xí)題 77
4.11
參考資料和更多信息 78
第5章 定義清單文件 79
5.1 使用Android清單文件配置
Android應(yīng)用 79
5.2 管理應(yīng)用ID 82
5.3 設(shè)置應(yīng)用的系統(tǒng)需求 83
5.3.1
設(shè)置應(yīng)用的平臺(tái)需求 84
5.3.2
其他應(yīng)用配置設(shè)置和
過(guò)濾器 86
5.4 在Android清單文件注冊(cè)
Activity 86
5.4.1
使用Intent過(guò)濾器為應(yīng)用
指定主入口Activity 87
5.4.2
配置其他Intent過(guò)濾器 87
5.4.3
注冊(cè)其他應(yīng)用組件 88
5.5 訪問(wèn)權(quán)限 88
5.5.1
注冊(cè)應(yīng)用所需的權(quán)限 89
5.5.2
注冊(cè)應(yīng)用強(qiáng)制的權(quán)限 91
5.6 探索清單文件的其他設(shè)置
92
5.7 本章小結(jié) 93
5.8 小測(cè)驗(yàn) 93
5.9 練習(xí)題 93
5.10
參考資料和更多信息 94
第6章 管理應(yīng)用的資源 95
6.1 資源的含義 95
6.1.1
存儲(chǔ)應(yīng)用資源 95
6.1.2
資源類型 96
6.1.3
以編程方式訪問(wèn)資源 99
6.2 在Android
Studio中添加簡(jiǎn)單
的資源值 100
6.3 使用不同類型的資源 103
6.3.1
使用字符串資源 103
6.3.2
使用格式化的字符串
資源 104
6.3.3
使用帶數(shù)量的字符串 105
6.3.4
使用字符串?dāng)?shù)組 106
6.3.5
使用布爾類型資源 107
6.3.6
使用整型資源 108
6.3.7
使用顏色資源 108
6.3.8
使用尺寸資源 109
6.3.9
以編程方式使用尺寸
資源 110
6.3.10
可繪制資源 110
6.3.11
使用圖像 112
6.3.12
使用顏色狀態(tài)列表 114
6.3.13
使用動(dòng)畫 115
6.3.14
使用菜單 117
6.3.15
使用XML文件 119
6.3.16
使用原始文件 119
6.3.17
引用資源 120
6.4 使用布局 122
6.4.1
在Android Studio中設(shè)計(jì)
布局 123
6.4.2
以編程方式使用布局
資源 125
6.5 引用系統(tǒng)資源 126
6.6 本章小結(jié) 127
6.7 小測(cè)驗(yàn) 127
6.8 練習(xí)題 127
6.9 參考資料和更多信息 128
第7章 探討構(gòu)建塊 129
7.1
Android視圖和布局介紹 129
7.1.1
Android視圖 129
7.1.2
Android控件 129
7.1.3
Android布局 130
7.2 使用TextView向用戶顯示
文本 130
7.2.1
配置布局和大小 131
7.2.2
在文本中創(chuàng)建上下文
鏈接 132
7.3 使用文本字段從用戶端獲取
數(shù)據(jù) 134
7.3.1
使用EditText控件獲取
輸入文本 134
7.3.2
使用輸入過(guò)濾器限制用戶
輸入 135
7.3.3
使用自動(dòng)完成功能幫助
用戶 136
7.4 使用Spinner控件讓用戶
選擇 138
7.5 使用Button和Switch允許
用戶簡(jiǎn)單選擇 139
7.5.1
使用基本Button 140
7.5.2
使用CheckBox和
ToggleButton控件 142
7.5.3
使用RadioGroup和
RadioButton 143
7.6 使用Picker獲取日期、時(shí)間
和數(shù)字 145
7.7 使用Indicator為用戶顯示
進(jìn)度和活動(dòng) 148
7.7.1
使用ProgressBar指示
進(jìn)度 148
7.7.2
向ActionBar添加進(jìn)度
指示器 149
7.7.3
使用Activity Bar和Activity
Circle指示Activity 150
7.8 使用SeekBar調(diào)整進(jìn)度 151
7.9 其他有價(jià)值的用戶界面
控件 152
7.9.1
使用RatingBar顯示評(píng)分
數(shù)據(jù) 152
7.9.2
使用Chronometer顯示
時(shí)間的流逝 153
7.9.3
顯示時(shí)間 154
7.9.4
使用VideoView播放
視頻 155
7.10
本章小結(jié) 156
7.11
小測(cè)驗(yàn) 156
7.12
練習(xí)題 156
7.13
參考資料和更多信息 157
第8章 布局設(shè)計(jì) 159
8.1 在Android中創(chuàng)建用戶界面 159
8.1.1
使用XML資源文件創(chuàng)建
布局 159
8.1.2
以編程方式創(chuàng)建布局 161
8.2 組織用戶界面 164
8.2.1
使用ViewGroup子類來(lái)
設(shè)計(jì)布局 164
8.2.2
使用ViewGroup子類作為
View容器 164
8.3 使用內(nèi)置的布局類 165
8.3.1
使用LinearLayout 167
8.3.2
使用RelativeLayout 168
8.3.3
使用FrameLayout 171
8.3.4
使用TableLayout 173
8.3.5
使用GridLayout 176
8.3.6
在屏幕上使用多個(gè)布局 179
8.4 使用容器控件類 180
8.4.1
使用數(shù)據(jù)驅(qū)動(dòng)的容器 180
8.4.2
添加滾動(dòng)支持 184
8.4.3
探索其他View容器 185
8.5 本章小結(jié) 186
8.6 小測(cè)驗(yàn) 186
8.7 練習(xí)題 187
8.8 參考資料和更多信息 187
第9章 用Fragment拆分用戶
界面 189
9.1 理解Fragment
189
9.1.1
了解Fragment的生命
周期 191
9.1.2
管理Fragment修改 191
9.1.3
使用特殊類型的
Fragment 192
9.1.4
設(shè)計(jì)基于Fragment的
應(yīng)用 193
9.2 使用Android 支持庫(kù)包 202
9.2.1
為舊應(yīng)用添加Fragment
支持 202
9.2.2
在新應(yīng)用中針對(duì)舊平臺(tái)
使用Fragment 203
9.2.3
將Android支持包鏈接到
項(xiàng)目 203
9.3 使用Fragment的其他方式 204
9.3.1
沒(méi)有用戶界面的行為
Fragment 205
9.3.2
探索嵌套的Fragment 205
9.4 本章小結(jié) 205
9.5 小測(cè)驗(yàn) 205
9.6 練習(xí)題 206
9.7 參考資料和更多信息 206
第Ⅲ部分 應(yīng)用設(shè)計(jì)基礎(chǔ)
第10章 架構(gòu)設(shè)計(jì)模式 211
10.1
應(yīng)用的導(dǎo)航架構(gòu) 211
10.1.1 Android應(yīng)用導(dǎo)航場(chǎng)景 212
10.1.2
啟動(dòng)任務(wù)和導(dǎo)航回
退棧 214
10.1.3
Fragment導(dǎo)航 215
10.1.4
屏幕之間的關(guān)系 215
10.1.5
Android導(dǎo)航設(shè)計(jì)模式 216
10.2
引導(dǎo)操作 223
10.2.1
菜單 223
10.2.2
操作欄 223
10.2.3
浮動(dòng)操作按鈕 227
10.2.4
來(lái)自應(yīng)用上下文的
操作 229
10.2.5
對(duì)話框 229
10.3
本章小結(jié) 237
10.4
小測(cè)驗(yàn) 237
10.5
練習(xí)題 237
10.6
參考資料和更多信息 237
第11章 使用樣式 239
11.1
樣式支持 239
11.2
主題和樣式 240
11.2.1
定義默認(rèn)應(yīng)用主題 240
11.2.2
主題和樣式繼承 241
11.3
顏色 242
11.4
布局 243
11.4.1
合并與包含 244
11.4.2
TextInputLayout 245
11.4.3
FloatingActionButton 245
11.4.4
工具欄作為底部欄 246
11.5
應(yīng)用個(gè)性化 247
11.6
運(yùn)用后的效果 249
11.7
排版 250
11.8
本章小結(jié) 251
11.9
小測(cè)驗(yàn) 252
11.10
練習(xí)題 252
11.11
參考資料和更多信息 252
第12章 材質(zhì)設(shè)計(jì) 255
12.1
理解材質(zhì) 255
12.2
默認(rèn)材質(zhì)主題 256
12.3
SampleMaterial應(yīng)用 256
12.4
實(shí)現(xiàn)SampleMaterial應(yīng)用 257
12.4.1
依賴 257
12.4.2
材質(zhì)支持樣式 257
12.4.3
顯示List中的數(shù)據(jù)集 257
12.5
本章小結(jié) 282
12.6
小測(cè)驗(yàn) 282
12.7
練習(xí)題 283
12.8
參考資料和更多信息 283
第13章 設(shè)計(jì)兼容的應(yīng)用 285
13.1
最大化應(yīng)用的兼容性 285
13.2
設(shè)計(jì)兼容的用戶界面 287
13.2.1
使用Fragments 288
13.2.2
使用各種Android支持庫(kù)
API 288
13.2.3
支持特定的屏幕類型 289
13.2.4
使用九宮格可拉伸
圖形 289
13.3
提供替代應(yīng)用資源 290
13.3.1
了解資源是如何被
解析的 290
13.3.2
使用限定符組織替代
資源 291
13.3.3
為不同屏幕方向提供
資源 296
13.3.4
以編程方式使用替代
資源 298
13.3.5
高效組織應(yīng)用的資源 299
13.4
平板、電視設(shè)備 299
13.4.1
針對(duì)平板設(shè)備 300
13.4.2
針對(duì)電視設(shè)備 300
13.5
讓應(yīng)用兼容手表和汽車 302
13.6
使用SafetyNet保證兼容性 302
13.7
本章小結(jié) 303
13.8
小測(cè)驗(yàn) 304
13.9
練習(xí)題 304
13.10
參考資料和更多信息 304
第Ⅳ部分 應(yīng)用開(kāi)發(fā)基礎(chǔ)
第14章 使用Android首選項(xiàng) 309
14.1
使用應(yīng)用首選項(xiàng) 309
14.1.1
確定首選項(xiàng)是否合適 309
14.1.2
保存不同類型的首選
項(xiàng)值 310
14.1.3
創(chuàng)建Activity私有的
首選項(xiàng) 310
14.1.4
創(chuàng)建多個(gè)Activity使用的
共享首選項(xiàng) 310
14.1.5
查找和讀取首選項(xiàng) 311
14.1.6
添加、更新和刪除
首選項(xiàng)
311
14.1.7
監(jiān)聽(tīng)首選項(xiàng)的變化 312
14.2
在文件系統(tǒng)中定位首選項(xiàng)
數(shù)據(jù) 312
14.3
創(chuàng)建可管理的用戶首選項(xiàng) 313
14.3.1
創(chuàng)建首選項(xiàng)資源文件 314
14.3.2
使用PreferenceActivity
類 316
14.3.3
通過(guò)標(biāo)頭管理首選項(xiàng) 318
14.4
自動(dòng)備份Android應(yīng)用 321
14.5
本章小結(jié) 322
14.6
小測(cè)驗(yàn) 322
14.7
練習(xí)題 323
14.8
參考資料和更多信息 323
第15章 訪問(wèn)文件和目錄 325
15.1
使用設(shè)備上的應(yīng)用數(shù)據(jù) 325
15.2
實(shí)現(xiàn)良好的文件管理 326
15.3
了解Android系統(tǒng)中的文件
權(quán)限 326
15.4
使用文件和目錄 327
15.4.1
探索Android應(yīng)用的
目錄 328
15.4.2
使用Android文件系統(tǒng)
中的其他目錄和文件 332
15.5
本章小結(jié) 335
15.6
小測(cè)驗(yàn) 335
15.7
練習(xí)題 335
15.8
參考資料和更多信息 336
第16章 使用SQLite保存數(shù)據(jù) 337
16.1
使用SQLite升級(jí)
SampleMaterial應(yīng)用 337
16.2
使用數(shù)據(jù)庫(kù) 337
16.2.1
提供數(shù)據(jù)訪問(wèn) 339
16.2.2
更新SampleMaterialActivity
類 340
16.2.3
更新SampleMaterialAdapter
構(gòu)造函數(shù) 341
16.2.4
在主UI線程以外執(zhí)行
數(shù)據(jù)庫(kù)操作 342
16.2.5
在數(shù)據(jù)庫(kù)中創(chuàng)建卡片 343
16.2.6
獲取所有卡片 344
16.2.7
添加新卡片 345
16.2.8
更新卡片 346
16.2.9
刪除卡片 347
16.3
本章小結(jié) 348
16.4
小測(cè)驗(yàn) 349
16.5
練習(xí)題 349
16.6
參考資料和更多信息 349
第17章 使用內(nèi)容提供者 351
17.1
探索Android的內(nèi)容
提供者 351
17.1.1
使用Mediastore內(nèi)容
提供者 352
17.1.2
使用CallLog內(nèi)容
提供者 355
17.1.3
使用CalendarContract
內(nèi)容提供者 356
17.1.4
使用UserDictionary
內(nèi)容提供者 357
17.1.5
使用VoicemaillContract
內(nèi)容提供者 357
17.1.6
使用Settings內(nèi)容
提供者 357
17.1.7
介紹ContactsContract
內(nèi)容提供者 357
17.2
修改內(nèi)容提供者數(shù)據(jù) 360
17.2.1
添加記錄 360
17.2.2
更新記錄 361
17.2.3
刪除記錄 362
17.3
使用第三方內(nèi)容提供者 363
17.4
本章小結(jié) 363
17.5
小測(cè)驗(yàn) 364
17.6
練習(xí) 364
17.7
參考資料和更多信息 364
第Ⅴ部分 應(yīng)用交付基礎(chǔ)
第18章 學(xué)習(xí)開(kāi)發(fā)工作流 369
18.1
Android開(kāi)發(fā)流程概覽 369
18.2
選擇正確的軟件方法論 370
18.2.1
理解瀑布開(kāi)發(fā)模式的
危險(xiǎn)性 370
18.2.2
理解迭代的價(jià)值 370
18.3
收集應(yīng)用的需求 371
18.3.1
明確項(xiàng)目需求 371
18.3.2
為Android應(yīng)用編寫
用例 373
18.3.3
結(jié)合第三方的需求和
建議 374
18.3.4
維護(hù)一個(gè)設(shè)備數(shù)據(jù)庫(kù) 374
18.4
評(píng)估項(xiàng)目風(fēng)險(xiǎn) 377
18.4.1
確定目標(biāo)設(shè)備 377
18.4.2
獲取目標(biāo)設(shè)備 379
18.4.3
確定應(yīng)用需求的
可行性 379
18.4.4
理解QA的風(fēng)險(xiǎn) 380
18.5
編寫重要的項(xiàng)目文檔 381
18.5.1
為保證產(chǎn)品質(zhì)量制定
測(cè)試計(jì)劃 381
18.5.2
為第三方提供需要的
文檔 382
18.5.3
為維護(hù)和移植提供
文檔 382
18.6
使用配置管理系統(tǒng) 382
18.6.1
選擇源碼管理系統(tǒng) 382
18.6.2
實(shí)現(xiàn)一個(gè)可用的應(yīng)用
版本系統(tǒng) 382
18.7
設(shè)計(jì)Android應(yīng)用 383
18.7.1
理解設(shè)備的資源限制 383
18.7.2
探討通用的Android
應(yīng)用架構(gòu) 383
18.7.3
設(shè)計(jì)應(yīng)用的可擴(kuò)展性和
易維護(hù)性 384
18.7.4
設(shè)計(jì)應(yīng)用間的通信
方式 385
18.8
開(kāi)發(fā)Android應(yīng)用 385
18.9
測(cè)試Android應(yīng)用 386
18.10
部署Android應(yīng)用 387
18.11
支持和維護(hù)Android應(yīng)用 387
18.11.1
跟蹤并解決用戶提交的
崩潰報(bào)告 388
18.11.2
測(cè)試固件升級(jí) 388
18.11.3
維護(hù)詳細(xì)的應(yīng)用
文檔 388
18.11.4
管理服務(wù)端的在線
變化 388
18.11.5
識(shí)別低風(fēng)險(xiǎn)的移植
機(jī)會(huì) 388
18.11.6
應(yīng)用功能的選擇 389
18.12
本章小結(jié) 389
18.13
小測(cè)驗(yàn) 389
18.14
練習(xí)題 389
18.15
參考資料和更多信息 389
第19章 規(guī)劃用戶體驗(yàn) 391
19.1
思考目標(biāo) 391
19.1.1
用戶目標(biāo) 391
19.1.2
團(tuán)隊(duì)目標(biāo) 392
19.1.3
其他利益相關(guān)者的
目標(biāo) 392
19.2
集中研發(fā)精力的一些技巧 392
19.2.1
人物角色 393
19.2.2
用戶故事圖譜 393
19.2.3
發(fā)現(xiàn)和組織實(shí)體 394
19.2.4
規(guī)劃用戶交互 394
19.3
傳遞應(yīng)用標(biāo)識(shí) 395
19.4
設(shè)計(jì)屏幕的布局 396
19.4.1
草稿圖 396
19.4.2
線框圖 397
19.4.3
綜合設(shè)計(jì)圖 397
19.5
正確處理視覺(jué)反饋 397
19.6
觀察目標(biāo)用戶 398
19.6.1
應(yīng)用仿真模型 398
19.6.2
測(cè)試發(fā)布版本 399
19.7
本章小結(jié) 399
19.8
小測(cè)驗(yàn) 399
19.9
練習(xí)題 400
19.10
參考資料和更多信息 400
第20章 交付質(zhì)量可靠的應(yīng)用 401
20.1
設(shè)計(jì)可靠應(yīng)用的最佳實(shí)踐 401
20.1.1
滿足Android用戶的
需求 402
20.1.2
為Android設(shè)備設(shè)計(jì)
用戶界面 402
20.1.3
設(shè)計(jì)穩(wěn)定并即時(shí)響應(yīng)的
Android應(yīng)用 403
20.1.4
設(shè)計(jì)安全的Android
應(yīng)用 404
20.1.5
將應(yīng)用利潤(rùn)最大化 405
20.1.6
遵循Android應(yīng)用的
質(zhì)量指導(dǎo)方針 405
20.1.7
采用第三方質(zhì)量標(biāo)準(zhǔn) 407
20.1.8
開(kāi)發(fā)易于維護(hù)和升級(jí)的
Android應(yīng)用 407
20.1.9
利用Android的工具
輔助應(yīng)用的設(shè)計(jì) 409
20.2
避免在Android應(yīng)用中犯
低級(jí)錯(cuò)誤 409
20.3
開(kāi)發(fā)可靠Android應(yīng)用的
最佳實(shí)踐 409
20.3.1
設(shè)計(jì)適用于Android開(kāi)發(fā)的研發(fā)流程 410
20.3.2
盡早并經(jīng)常測(cè)試應(yīng)用的
可行性
410
20.3.3
使用編碼標(biāo)準(zhǔn)、審閱及
單元測(cè)試來(lái)改進(jìn)代碼
質(zhì)量 410
20.3.4
處理單個(gè)設(shè)備中出現(xiàn)的
缺陷 412
20.3.5
利用Android工具來(lái)
開(kāi)發(fā) 413
20.3.6
避免在Android應(yīng)用
開(kāi)發(fā)中犯低級(jí)錯(cuò)誤 413
20.4
本章小結(jié) 414
20.5
小測(cè)驗(yàn) 414
20.6
練習(xí) 414
20.7
參考資料和更多信息 414
第21章 測(cè)試應(yīng)用 417
21.1
測(cè)試移動(dòng)應(yīng)用的最佳實(shí)踐 417
21.1.1
設(shè)計(jì)移動(dòng)應(yīng)用的缺陷追
蹤系統(tǒng) 417
21.1.2
管理測(cè)試環(huán)境 419
21.1.3
讓測(cè)試覆蓋率最大化 421
21.1.4
利用Android的SDK
工具來(lái)測(cè)試應(yīng)用 427
21.1.5
避免Android應(yīng)用測(cè)試
中的一些低級(jí)錯(cuò)誤 428
21.2
Android應(yīng)用測(cè)試精要 428
21.2.1
利用JUnit進(jìn)行單元
測(cè)試 429
21.2.2
PasswordMatcher應(yīng)用
簡(jiǎn)介 430
21.2.3
確認(rèn)測(cè)試的預(yù)期結(jié)果 433
21.2.4
為測(cè)試代碼創(chuàng)建一個(gè)
運(yùn)行配置 433
21.2.5
編寫測(cè)試代碼 436
21.2.6
在Android Studio中
運(yùn)行你的第一個(gè)測(cè)試 438
21.2.7
分析測(cè)試結(jié)果 438
21.2.8
添加其他測(cè)試 439
21.3
更多Android自動(dòng)化測(cè)試
程序和API 442
21.4
本章小結(jié) 442
21.5
小測(cè)驗(yàn) 443
21.6
練習(xí)題 443
21.7
參考資料和更多信息 443
第22章 分發(fā)應(yīng)用 445
22.1
選擇正確的分發(fā)模型 445
22.1.1
保護(hù)你的知識(shí)產(chǎn)權(quán) 446
22.1.2
遵循Google Play的
政策 446
22.1.3
向用戶收費(fèi) 447
22.2
為即將發(fā)布的應(yīng)用打包 448
22.2.1
為打包工作準(zhǔn)備好
代碼 448
22.2.2
打包應(yīng)用并簽名 450
22.2.3
測(cè)試用于發(fā)布的
應(yīng)用包 453
22.2.4
包含所有需要的資源 453
22.2.5
準(zhǔn)備好你的服務(wù)器或者
服務(wù) 453
22.2.6
發(fā)布應(yīng)用 453
22.3
在Google Play中發(fā)布應(yīng)用 453
22.3.1
登錄Google Play 454
22.3.2
將應(yīng)用上傳到Google
Play 457
22.3.3
上傳應(yīng)用營(yíng)銷相關(guān)的
資源 458
22.3.4
配置定價(jià)和發(fā)布詳情 458
22.3.5
配置額外的應(yīng)用選項(xiàng) 459
22.3.6
管理其他開(kāi)發(fā)人員控制臺(tái)
選項(xiàng) 460
22.3.7
將應(yīng)用發(fā)布到Google
Play 460
22.3.8
在Google Play中管理
應(yīng)用 461
22.4
Google Play上的階段性
展示產(chǎn)品 462
22.5
通過(guò)Google Play私有渠道
發(fā)布應(yīng)用 462
22.6
翻譯應(yīng)用 462
22.7
通過(guò)其他方式發(fā)布應(yīng)用 463
22.8
自行發(fā)布應(yīng)用 464
22.9
本章小結(jié) 465
22.10
小測(cè)驗(yàn) 465
22.11
練習(xí)題 465
22.12
參考資料和更多信息 466
第Ⅵ部分 附錄
附錄A 提示與技巧:Android
Studio 469
附錄B 快速入門指南:Android
模擬器 481
附錄C 快速入門指南:Android設(shè)備
監(jiān)視器 507
附錄D 精通Android SDK工具 523
附錄E 快速入門:Gradle構(gòu)建
系統(tǒng) 539
附錄F 小測(cè)驗(yàn)答案 557