基本信息
- 作者:
- 齣版社:
- ISBN:9787302470069
- 上架時間:2017-5-27
- 齣版日期:2017 年6月
- 開本:16開
- 頁碼:649
- 版次:1-1
- 所屬分類:
內容簡介
本書是一部Android開發的實戰教程,由淺入深、由基礎到高級,帶領讀者一步一步走進App開發的神奇世界。
全書共分為16章。其中,前8章是基礎部分,主要講解Android Studio的環境搭建、App開發的各種常用控件、App的數據存儲方式、如何調試App並將App發布上綫;後8章是進階部分,主要講解App開發的設備操作、網絡通信、事件、動畫、多媒體、融閤技術、第三方開發包、性能優化等。書中在講解知識點的同時給齣瞭大量實戰範例,方便讀者迅速將所學的知識運用到實際開發中。通過本書的學習,讀者能夠掌握3類主流App的基本開發技術,包括購物App(電子商務)、聊天App(即時通信)、打車App(交通齣行)。另外,能夠學會開發一些趣味應用,包括簡單計算器、房貸計算器、萬年曆、日程錶、手機安全助手、指南針、衛星渾天儀、摳圖工具、動感影集、影視播放器、音樂播放器、WIFI共享器等。
本書適用於Android開發的廣大從業者、有誌於轉型App開發的程序員、App開發的業餘愛好者,也可作為大中專院校與培訓機構的Android課程教材。
目錄
第1章 Android Studio環境搭建 1
1.1 Android Studio簡介 2
1.2 Android Studio的安裝 2
1.2.1 開發機配置要求 2
1.2.2 安裝依賴的軟件 3
1.2.3 安裝Android Studio 5
1.3 運行小應用Hello World 7
1.3.1 創建新項目 7
1.3.2 編譯項目/模塊 10
1.3.3 創建模擬器 10
1.3.4 在模擬器上運行App 11
1.4 App的工程結構 12
1.4.1 工程目錄說明 12
1.4.2 編譯配置文件build.gradle 13
1.4.3 App運行配置AndroidManifest.xml 15
1.4.4 在代碼中操縱控件 15
1.5 準備開始 17
1.5.1 使用快捷鍵 17
1.5.2 安裝SVN工具 18
前言
移動應用開發又稱App開發,是近年來的新興軟件開發行業。基於手機設備的特性,App開發與服務器開發、網頁開發等傳統軟件開發有很大不同,將App開發相關技術稱為一門新興學科也不為過。
作為一門學科,必然要求建立一套理論體係,這個理論體係應當具有普遍性與適用性,不會隨著工具的變遷而消亡。App開發就是如此,無論使用Android開發還是iOS開發,所采用的技術、要實現的功能都大同小異,區彆在於需要使用不同的編程工具進行開發。對於用戶來說,華為手機上的微信與蘋果手機上的微信都是社交App,這兩個微信在功能和使用上並沒有顯著區彆。
筆者從事軟件開發工作十幾年,期間經曆瞭多次編程方嚮的轉型,先從C/C++開發轉嚮Java開發,再從Java開發轉嚮Android開發,而Android開發先用ADT後用Android Studio。在多次轉型過程中,筆者深深體會到,無論是編程語言還是開發工具,變化的都是技術實現手段,而不是人類願景和係統原理。人類願景是讓生活更加便捷、讓娛樂更加豐富,係統原理是讓軟件界麵更加美觀、讓運行速度更加流暢。
本書的寫作目的是教會讀者Android開發,帶領讀者走進一個嶄新的學科領域。市麵上的Android開發書籍林林總總,寫作風格各有韆鞦,不過講解的基本是編程開發,有的還會講解項目管理。本書除瞭介紹常規的Android開發外,還嘗試從兩方麵加以拓展,一方麵從産品經理的角度仔細分析App技術能幫用戶做什麼事情、能帶給用戶什麼收獲;另一方麵從設計師的角度詳細論述如何把韆篇一律的頁麵變得生動活潑,如何讓某個功能實現得更閤理、高效。
全書的內容編排采用由淺入深、循序漸進的章節體例,不但考慮初學者的學習連續性,而且可以建立一個統一、連貫的學科體係。這麼編排的好處是顯而易見的,讀者隻要按照順序學習,就能在學習過程中對已學部分不斷復習鞏固,同時提前預習後麵的技術點,一方麵銜接自然,另一方麵提高學習效率。比如第3章末尾介紹實戰項目“登錄App”,緊接著第4章開頭介紹如何實現登錄頁麵的記住密碼功能;第12章介紹“動畫”,一方麵為前一章的飛掠橫幅補充動畫效果,另一方麵為後一章的相冊切換動畫埋下伏筆。
全書可分為兩大部分,d一部分是第1~8章,主要介紹Android Studio的環境搭建,App開發的各種常用控件,App的數據存儲方式。如何調試App並將App發布上綫,這部分囊括瞭App開發的基礎知識,特彆詳細說明App從開發到調試再到上綫的企業級開發流程。第二部分是第9~16章,主要介紹App開發的高級部分,包括設備操作、網絡通信、事件、動畫、多媒體、融閤技術、第三方開發包、性能優化等,這部分涵蓋App開發的進階內容,與d一部分相比就像是“鳥槍換炮”,讓開發者完成從遊擊隊到正規軍的華麗轉變。
建議初學者和在校學生完整學習第1~8章內容,因為這部分包含App開發的必備技能,隻有打好基礎,纔能進一步學習。至於第9~16章內容,根據前麵的學習情況和個人興趣愛好選擇相應的章節學習即可。如果傾嚮於學習工具類App的開發,就可以選擇學習“第9章 設備操作”“第11章 事件”“第12章 動畫”“第13章 多媒體”;如果傾嚮於學習企業類App的開發,就可以選擇學習“第10章 網絡通信”“第14章 融閤技術”“第15章 第三方開發包”“第16章 性能優化”。
對於有經驗的開發者來說,可以自行選擇不熟悉的知識點拾遺補缺。另外,本書講述的部分知識點很具特色,如衛星導航、Socket通信、多點觸控、百葉窗動畫、音樂播放器、藍牙技術、支付SDK、圖片緩存原理等,這些內容在同類Android入門書籍中鮮有論述,有興趣的讀者可重點關注。
當然,本書麵嚮的讀者不僅是開發人員和計算機專業學生,也包括移動互聯網行業的其他從業人員。對於産品經理來說,可以瞭解一下某個功能使用的技術,看似簡單的功能,也許並不容易實現。對於設計師來說,“他山之石,可以改玉”,可以參考一下彆人的實現方式,也許正好可以激發你的靈感,其實不無裨益。對於測試人員來說,可以熟悉一下每項技術的優缺點,從而製訂齣更全麵的測試方案,也許能發現更多BUG。
本書所有代碼都基於Android Studio 2.2.3開發,並使用API 25的SDK(Android 7.1.1)編譯與調試通過。讀者在閱讀本書時,若對書中內容有疑問,可在筆者的博客(http://blog.csdn.net/aqi00)留言。
本書範例的素材和代碼下載地址為:http://pan.baidu.com/s/1dFEFEhF(注意區分數字和英文字母大小寫)。如果下載有問題,請發送電子郵件至booksaga@126.com,郵件主題設置為“求從零基礎到App上綫下載資源”。
小後,感謝王金柱編輯的熱情指點,感謝我的傢人一直以來的支持,沒有他們的鼎力相助,本書就無法順利完成。
歐陽燊
2017年1月
開啓你的移動應用開發之旅:一款深度實戰指南,賦能你的App夢想 在這瞬息萬變的數字時代,移動應用已成為連接用戶、傳遞信息、創造價值的重要載體。從便捷的生活服務到精彩的娛樂體驗,從專業的行業工具到個性化的創新應用,App的浪潮席捲全球。然而,對於許多懷揣創業夢想、渴望將創意轉化為現實的開發者而言,開啓移動應用開發的道路並非一帆風順。市麵上充斥著理論繁雜、實踐不足的學習資源,讓初學者望而卻步,資深開發者也可能在迷茫中蹉跎光陰。 本書正是為解決這一痛點而生。我們並非泛泛而談,而是以深度實戰、循序漸進、全麵覆蓋為核心理念,旨在為你提供一條清晰、高效、可靠的移動應用開發學習路徑。本書的獨特之處在於,它將帶領你完全從零開始,逐步掌握Android Studio開發的全貌,並最終實現將你的應用成功推嚮應用商店的裏程碑。我們相信,理論與實踐的完美結閤,纔是構建紮實技術功底的基石。 本書內容梗概: 第一部分:奠定堅實基礎,熟悉開發環境 認識Android生態與開發哲學: 在正式動手編碼之前,我們將首先為你梳理Android操作係統的發展曆程、核心架構以及其獨特的開發理念。瞭解這些背景知識,能幫助你更深刻地理解Android應用的運行機製,從而寫齣更健壯、更高效的代碼。 Android Studio的安裝與配置: 作為Android開發的首選集成開發環境(IDE),Android Studio的功能強大而全麵。本部分將詳細指導你完成Android Studio的下載、安裝以及個性化配置,確保你的開發環境能夠順暢運行,並為你後續的學習打下堅實的基礎。我們將涵蓋SDK Manager的使用,虛擬設備(AVD)的創建與管理,以及一些提高開發效率的常用設置。 第一個Android應用:HelloWorld! 理論的學習離不開實踐的驗證。我們將從最經典的“HelloWorld”程序開始,讓你親手創建、運行並調試你的第一個Android應用。通過這個簡單的例子,你將初步瞭解Android項目的基本結構、XML布局文件的編寫以及Java/Kotlin代碼的實現,感受代碼從無到有的過程。 Android項目結構詳解: 深入理解Android項目的內部組織至關重要。我們將詳細解析res目錄下的各種資源文件(如drawable、layout、values),Manifest.xml文件的作用,以及src目錄下的源代碼組織方式,幫助你建立清晰的項目管理概念。 第二部分:掌握核心UI設計與控件應用 XML布局基礎與常用控件: 用戶界麵(UI)是用戶與App交互的窗口。本部分將深入講解XML布局文件的語法,包括各種布局容器(如LinearLayout、RelativeLayout、ConstraintLayout)的使用技巧,以及TextView、EditText、Button、ImageView等基礎控件的屬性和事件處理。我們將通過大量實例,展示如何運用這些控件構建齣美觀且功能豐富的界麵。 進階UI控件與列錶展示: 隨著應用功能的復雜化,我們需要掌握更多高級UI控件。本書將詳細講解RecyclerView的使用,這是Android開發中處理列錶數據的首選方式,相比ListView,它在性能和靈活性上有著顯著優勢。你將學會如何創建自定義的列錶項布局、實現數據適配器,並處理復雜的列錶交互。此外,我們還會覆蓋GridView、ViewPager等其他常用的UI組件。 Fragment的使用與管理: Fragment是Android UI設計的重要組成部分,它允許我們將UI分解成獨立的、可復用的模塊。我們將深入講解Fragment的生命周期、Fragment與Activity的通信方式,以及Fragment的切換與管理,助你構建更靈活、更適應不同屏幕尺寸的應用。 Material Design風格的實踐: 遵循Google推齣的Material Design設計規範,能讓你的App在視覺上更具吸引力,並提供更一緻的用戶體驗。本書將引導你學習如何使用Material Design組件,如CardView、FloatingActionButton、NavigationView、TabLayout等,並介紹如何應用主題和樣式,打造現代化、扁平化的UI。 第三部分:深入理解Android組件與生命周期 Activity的生命周期與狀態保存: Activity是Android應用的基本組成單元。我們將詳盡剖析Activity的各個生命周期迴調方法(onCreate, onStart, onResume, onPause, onStop, onDestroy),並重點講解如何在Activity重建時保存和恢復其狀態,以防止用戶數據的丟失。 Service的生命周期與後颱任務: Service用於執行長時間運行的操作,而不直接與用戶界麵交互。本書將指導你如何創建和管理Service,包括啓動、綁定、前颱Service等,並演示如何利用Service在後颱執行數據下載、音樂播放等任務。 BroadcastReceiver與事件廣播: BroadcastReceiver允許你的應用響應係統級彆的事件(如網絡狀態改變、電量低等)或其他應用發送的廣播。你將學會如何注冊和接收係統廣播,以及如何發送自定義廣播,實現應用間的解耦和通信。 ContentProvider與數據共享: ContentProvider是Android平颱上實現應用間數據共享的標準機製。我們將深入講解ContentProvider的創建、查詢、插入、更新和刪除操作,以及如何利用它來訪問和管理應用內的數據,甚至與其他應用共享數據。 第四部分:網絡通信與數據存儲 HTTP請求與網絡通信: 現代App幾乎都離不開網絡。本書將重點介紹如何使用Android提供的HttpURLConnection或第三方庫(如OkHttp)發起HTTP請求,與服務器進行數據交互。你將學習GET、POST等常用請求方法,理解JSON/XML數據格式,並掌握網絡錯誤處理和異步請求的實現。 JSON數據解析: JSON(JavaScript Object Notation)是目前最流行的輕量級數據交換格式。我們將演示如何使用Gson、Jackson等庫高效地解析JSON數據,將其轉化為Java/Kotlin對象,方便你在應用中使用。 SQLite數據庫本地存儲: 對於需要持久化存儲數據的應用,SQLite數據庫是Android平颱內置的強大解決方案。本書將詳細指導你如何創建、設計SQLite數據庫,並使用SQLiteOpenHelper等類進行數據庫的增刪改查操作,實現數據的本地化管理。 SharedPreferences輕量級數據存儲: SharedPreferences適用於存儲一些簡單的鍵值對數據,如用戶設置、登錄狀態等。我們將講解如何使用SharedPreferences API進行數據的讀寫,以及一些最佳實踐。 文件存儲與管理: 對於大文件、二進製數據等,文件存儲是不可或缺的。本書將介紹內部存儲、外部存儲的訪問權限,以及如何進行文件的讀寫操作。 第五部分:進階開發技術與優化 多綫程與異步處理: 為瞭避免阻塞主綫程導緻UI卡頓,多綫程和異步處理是Android開發中的必備技能。我們將深入講解Thread、Handler、AsyncTask,以及更現代的Coroutines(Kotlin)等技術,幫助你編寫流暢、響應迅速的應用。 圖片加載與緩存: 圖片是App的重要組成部分,高效的圖片加載和緩存機製能極大地提升用戶體驗。我們將介紹Glide、Picasso等主流圖片加載庫的使用,以及它們在內存緩存、磁盤緩存方麵的優勢。 異常處理與日誌記錄: 健壯的應用需要良好的異常處理機製。本書將指導你如何捕獲和處理運行時異常,以及如何使用Logcat進行日誌記錄和調試,幫助你快速定位和解決問題。 內存優化與性能調優: 隨著應用功能的增加,內存占用和性能問題可能會逐漸顯現。我們將介紹一些常見的內存泄漏場景及其解決方法,以及如何通過代碼優化、工具分析等手段提升應用的整體性能。 第六部分:App上綫前的準備與發布 簽名與混淆: 在發布應用之前,對應用進行簽名和混淆是必要的步驟。我們將講解APK簽名的原理和操作,以及如何使用ProGuard/R8進行代碼混淆,保護你的代碼不被輕易反編譯。 應用打包與發布流程: 本部分將詳細指導你完成應用的最終打包過程,生成發布版本的APK或AAB文件。我們將模擬應用商店的審核流程,介紹如何填寫應用描述、上傳截圖、設置關鍵詞等,幫助你順利將App提交到Google Play或其他應用商店。 用戶反饋與迭代: 應用上綫隻是一個開始。我們將討論如何收集用戶反饋,分析應用數據,並根據用戶需求和反饋進行應用的迭代更新,不斷完善和優化你的産品。 本書的特色: 實戰導嚮,理論與實踐並重: 我們摒棄瞭枯燥的理論堆砌,而是將每一個技術點都通過實際項目案例來呈現。從基礎控件的搭建到復雜功能的實現,你將親手編寫代碼,並看到自己的成果。 由淺入深,零基礎友好: 無論你是否接觸過編程,本書都將以最通俗易懂的方式為你講解。我們從最基礎的概念講起,逐步深入,確保每一位讀者都能跟上學習的步伐。 內容全麵,覆蓋開發流程: 本書不僅關注核心的開發技術,更涵蓋瞭從環境搭建、UI設計、數據處理到最終上綫的全流程。學完本書,你將具備獨立開發並發布Android應用的能力。 代碼示例豐富,可直接運行: 書中提供的所有代碼示例都經過精心設計和測試,可以直接在Android Studio中運行,方便你參考和學習。 緊跟技術趨勢,提供現代化解決方案: 我們將介紹最新的Android開發技術和最佳實踐,如Jetpack組件(部分內容將在後續章節中涉及,但本書核心仍以穩定且廣泛應用的API為主,確保基礎的紮實),以及Kotlin語言在Android開發中的應用(本書將以Java語言為主,並穿插講解Kotlin的優勢,以便不同基礎的讀者都能理解)。 誰適閤閱讀本書? 渴望進入移動開發領域的初學者: 無論你是學生、轉行者還是對App開發充滿好奇的愛好者,本書都將是你最佳的入門夥伴。 希望係統學習Android開發的在校學生: 本書可以作為你的專業課程補充,幫助你更紮實地掌握Android開發技能。 有其他編程語言基礎,希望轉型Android開發的開發者: 本書將幫助你快速適應Android的開發範式。 對移動應用開發有想法,但不知如何著手的創業者: 本書將為你提供實現App創意的技術基礎。 結語: 移動應用開發的世界充滿無限可能,而掌握一門強大的開發工具和技術,是實現這些可能性的關鍵。本書不僅僅是一本技術教程,更是一份陪伴你成長的路綫圖。我們希望通過本書,點燃你對移動開發的熱情,賦能你的App夢想,讓你能夠自信地踏上這條充滿挑戰與機遇的道路。現在,就讓我們一起,用代碼創造屬於你的精彩!