作 者:李剛 編著 定 價:108 齣 版 社:電子工業齣版社 齣版日期:2015年06月01日 頁 數:765 裝 幀:平裝 ISBN:9787121259586 基於Android 5全新升級《瘋狂Android講義》
自麵市以來重印20+次,發行量超10萬冊,並屢獲殊榮!
開捲數據顯示2014年度Android圖書排行榜靠前
曾獲評CSDN年度擁有技術影響力十大原創圖書
多次榮獲年度很暢銷圖書及長銷圖書大奬
●第1章 Android應用和開發環境 1
●1.1 Android的發展和曆史 2
●1.1.1 Android的發展和簡介 2
●1.1.2 Android 5.x平颱架構及特性 3
●1.2 搭建Android開發環境 5
●1.2.1 安裝Android Studio 5
●1.2.2 下載和安裝Android SDK 8
●1.2.3 安裝運行、調試環境 11
●1.3 Android常用開發工具的用法 16
●1.3.1 在命令行創建、刪除和瀏覽AVD 16
●1.3.2 使用Android模擬器(Emulator) 17
●1.3.3 使用Monitor進行調試 18
●1.3.4 Android Debug Bridge(ADB)的用法 19
●1.3.5 使用mksdcard管理虛擬SD卡 20
●1.4 開始個Android應用 21
●1.4.1 使用Android Studio開發個Android應用 21
●1.4.2 通過Andorid Studio運行Android應用 24
●1.5 Android應用結構分析 25
●1.5.1 創建一個Android應用 25
●1.5.2 自動生成的R.java 28
●部分目錄
內容簡介
移動互聯網已經成為當今世界發展很快、市場潛力優選、前景很誘人的業務,而Android則是移動互聯網上市場占有率優選的平颱。
本書是《瘋狂Android講義》的第3版,本書基於近期新的Android 5,並采用瞭Google推薦的IDE:Android Studio作為開發工具,書中每個案例、每個截圖都全麵升級到Android 5。本書全麵介紹瞭Android應用開發的相關知識,全書內容覆蓋瞭Android用戶界麵編程、Android四大組件、Android資源訪問、圖形/圖像處理、事件處理機製、Android輸入/輸齣處理、音頻/視頻多媒體應用開發、OpenGL與3D應用開發、網絡通信編程、Android平颱的Web Service、傳感器應用開發、GPS應用開發、整閤第三方Map服務等。
本書並不局限於介紹Android編程的各種理等 李剛 編著 李剛,十多年軟件行業開發從業經驗,瘋狂軟件教育中心教學總監。瘋狂Java實訓營創始人,瘋狂Java體係原創圖書作者。廣東技術師範學院計算機科學係兼職副教授,51cto專傢門診特邀嘉賓。培訓的學生已在華為、IBM、阿裏軟件、網易、電信盈科等名企就職。靠前有名高端IT技術作傢,已齣版《瘋狂Java講義》《瘋狂Android講義》《輕量級JavaEE企業應用實戰》《瘋狂iOS講義(上)(下)》《瘋狂Ajax講義》《瘋狂XML講義》《經典JavaEE企業應用實戰》《瘋狂HTML5/CSS3/講義》《Struts2。x指南》等著作。其中瘋狂Java體係圖書經多年沉澱,贏得極高的市場認等
《Android開發實戰指南:從入門到精通》 內容簡介: 本書旨在為渴望掌握Android開發核心技能,並希望深入理解其內部機製的開發者提供一份全麵、係統的學習路徑。我們將從最基礎的概念入手,循序漸進地引導讀者構建堅實的Android開發基礎,並逐步深入到高級主題和實戰應用,最終幫助您成為一名能夠獨立解決復雜開發問題的Android工程師。 第一部分:Android開發基石 初識Android: Android生態係統概覽: 深入瞭解Android的版本演進、開源特性、碎片化挑戰以及其在移動互聯網領域的統治地位。我們將探討Android操作係統的架構,包括Linux內核、HAL層、Android運行時(ART)、原生C/C++庫、Java API框架以及應用層。 開發環境搭建: 手把手指導讀者完成Android Studio的安裝與配置,包括JDK、SDK的設置,以及模擬器和真機的連接與調試。重點講解Gradle構建係統的基礎,使其能夠理解項目依賴、構建流程和打包機製。 第一個Android應用: 從“Hello, World!”齣發,詳細剖析Android應用的結構,包括`AndroidManifest.xml`文件的作用(聲明組件、權限、硬件特性等)、`res`目錄下資源文件的管理(布局、字符串、顔色、樣式、圖標等)、以及Activity的生命周期。我們將解釋Activity如何啓動,並介紹Intent的基本用法,包括顯式Intent和隱式Intent,以及它們在組件間通信中的作用。 用戶界麵設計與交互: 布局係統詳解: 深入講解Android的各種布局容器,包括`LinearLayout`(綫性布局)、`RelativeLayout`(相對布局)、`FrameLayout`(幀布局)、`ConstraintLayout`(約束布局)等。分析各種布局的優缺點及其適用場景,並提供大量的實戰案例,展示如何利用這些布局構建復雜且響應式的用戶界麵。我們將重點關注`ConstraintLayout`,剖析其強大的約束機製,以及如何通過可視化編輯器和XML代碼進行高效布局。 常用UI控件: 全麵介紹Android中豐富的UI控件,包括`TextView`(文本視圖)、`EditText`(編輯框)、`Button`(按鈕)、`ImageView`(圖像視圖)、`CheckBox`(復選框)、`RadioButton`(單選按鈕)、`Spinner`(下拉列錶)、`ProgressBar`(進度條)等。講解每個控件的常用屬性、事件監聽機製(如點擊事件、文本改變事件)以及如何通過代碼動態修改控件屬性。 列錶與網格: 掌握`ListView`(列錶視圖)和`GridView`(網格視圖)的構建與優化。深入理解`Adapter`(適配器)的設計模式,包括`ArrayAdapter`、`BaseAdapter`的實現,以及如何利用ViewHolder模式提升列錶的滾動性能,避免卡頓。我們將詳細講解`RecyclerView`,這是目前Android開發中最推薦使用的列錶控件,其強大的性能和靈活性將是重點。 Fragment: 深入理解Fragment的概念、生命周期及其在構建復雜UI、實現響應式布局中的作用。講解Fragment的靜態加載和動態加載方式,Fragment之間的通信(通過`FragmentManager`、`Bundle`、接口迴調等),以及Fragment與Activity的交互。 Material Design: 介紹Google推齣的Material Design設計語言,以及如何在Android應用中遵循Material Design規範。講解`CoordinatorLayout`(協調布局)、`AppBarLayout`(App Bar Layout)、`TabLayout`(標簽頁)、`NavigationView`(導航視圖)、`FloatingActionButton`(浮動操作按鈕)等Material Design組件的使用,以及如何實現流暢的動畫和轉場效果。 數據存儲與管理: SharedPreferences: 講解`SharedPreferences`的使用,適用於存儲少量鍵值對的配置信息,如用戶設置、登錄狀態等。 文件存儲: 介紹內部存儲(`getFilesDir()`)、外部存儲(`getExternalFilesDir()`)的應用,講解如何進行文件的讀寫操作,以及文件權限的申請與管理。 SQLite數據庫: 深入講解Android內置的SQLite數據庫。講解`SQLiteOpenHelper`的用法,數據庫的創建、升級(版本管理)、數據的增刪改查操作。我們將詳細介紹`ContentProvider`(內容提供者)的作用,如何創建和使用ContentProvider來暴露和管理數據,實現跨應用數據共享。 Room Persistence Library: 重點介紹Google推薦的Room持久化庫,它是SQLite的抽象層,簡化瞭數據庫的開發和維護,提供瞭編譯時驗證、代碼生成等功能,極大地提高瞭開發效率和代碼質量。 第二部分:Android高級特性與實踐 網絡通信: HTTP協議基礎: 迴顧HTTP協議的基本概念,包括請求方法(GET, POST等)、狀態碼、請求頭、響應體等。 HttpClient與HttpURLConnection: 介紹Android早期使用的網絡請求方式,並分析其局限性。 Retrofit: 重點講解Retrofit,一個非常流行的類型安全的HTTP客戶端,能將HTTP API轉化為Java接口。講解其注解機製,如何配置OKHttp作為底層HTTP客戶端,如何進行GET, POST請求,上傳文件,處理JSON數據等。 OKHttp: 詳細講解OKHttp,一個高效的HTTP客戶端,它提供瞭連接池、請求/響應攔截器、DNS解析等高級功能,是許多Android網絡庫(包括Retrofit)的首選底層實現。 JSON解析: 介紹JSON數據格式,以及在Android中常用的JSON解析庫,如Gson、Jackson,講解如何將JSON字符串轉換為Java對象,以及將Java對象序列化為JSON字符串。 圖片加載庫: 介紹Glide、Picasso等高效的圖片加載庫,講解它們如何實現圖片的異步加載、緩存(內存緩存、磁盤緩存)、占位符、錯誤圖、縮放、圓角等常用功能,以及如何優化圖片加載性能。 後颱服務與多綫程: Threads與Runnables: 介紹Java基礎的多綫程概念,以及如何在Android中使用`Thread`和`Runnable`在後颱執行耗時操作。 AsyncTask: 講解`AsyncTask`,一個用於在UI綫程和後颱綫程之間輕鬆通信的輔助類。分析其生命周期和方法,並提醒其不適閤執行長時間運行的任務。 Handler與Looper: 深入理解`Handler`、`Looper`、`MessageQueue`和`Thread`之間的配閤機製,這是Android異步消息處理的核心。講解如何創建自定義的Looper綫程,並通過Handler在後颱綫程嚮UI綫程發送消息。 Service: 詳解`Service`(服務)的概念,它可以在後颱執行長時間運行的操作,不提供用戶界麵。講解Service的生命周期、啓動方式(`startService()`、`bindService()`),以及Service與Activity之間的通信。重點講解Foreground Service,用於需要用戶可見通知的應用場景。 IntentService: 介紹`IntentService`,一個基於Service的類,用於處理一係列的後颱任務,任務完成後會自動停止。 消息通知與廣播: Notification: 詳細講解Android的通知(Notification)機製,包括如何創建不同類型的通知(普通通知、大文本通知、圖片通知等),設置通知的標題、內容、圖標、聲音、振動等。講解NotificationChannel(Android 8.0+)的引入及其重要性,以及如何管理通知渠道。 BroadcastReceiver: 深入理解`BroadcastReceiver`(廣播接收器),用於接收係統廣播和應用間廣播。講解如何注冊靜態廣播和動態廣播,以及廣播的廣播類型(有序廣播、粘性廣播)。 並發與異步編程: ExecutorService與ThreadPoolExecutor: 講解Java並發包中的`ExecutorService`和`ThreadPoolExecutor`,如何創建和管理綫程池,以更有效地控製綫程的創建和銷毀。 RxJava/RxAndroid: 強烈推薦並深入講解ReactiveX(響應式編程)的Android實現——RxJava和RxAndroid。解析Observable、Observer、Subscriber、Operator等核心概念,以及如何使用它們來處理異步數據流,簡化復雜的迴調嵌套,實現鏈式調用,提升代碼的可讀性和可維護性。 第三部分:高級話題與實戰應用 綫程安全與並發控製: 同步與鎖: 深入講解Java的`synchronized`關鍵字,`Lock`接口及其實現(如`ReentrantLock`),以及`volatile`關鍵字的作用,如何保證多綫程環境下的數據一緻性。 並發集閤: 介紹`java.util.concurrent`包中的綫程安全集閤類,如`ConcurrentHashMap`、`CopyOnWriteArrayList`等。 內存管理與性能優化: 內存泄漏檢測: 講解常見的內存泄漏原因(如靜態持有Context、未解綁的監聽器、未關閉的資源等),以及如何使用Android Studio的Memory Profiler、LeakCanary等工具來檢測和定位內存泄漏。 性能分析: 介紹如何使用Android Studio的CPU Profiler、Network Profiler、Layout Inspector等工具來分析應用的性能瓶頸,如UI渲染緩慢、網絡請求耗時、CPU占用過高等。 UI優化: 講解如何優化布局層級、避免過度繪製(Overdraw)、使用`RecyclerView`的ViewHolder模式、圖片加載優化等。 代碼優化: 介紹代碼級彆的優化技巧,如避免頻繁的對象創建、使用高效的數據結構、優化算法等。 Jetpack組件: Jetpack概覽: 介紹Google推齣的Android Jetpack,一套可以幫助開發者更輕鬆地構建健壯、可測試、可維護的應用的工具集。 Architecture Components: 深入講解Jetpack中的核心架構組件,包括`ViewModel`(管理UI相關數據,並在配置更改後保留數據)、`LiveData`(可觀察的數據持有者,生命周期感知)、`Room`(持久化庫)、`Navigation`(統一處理應用內的導航)。 其他Jetpack組件: 簡要介紹其他重要的Jetpack組件,如`WorkManager`(用於可延遲、保證執行的後颱任務)、`DataBinding`(用於將UI組件綁定到數據源)、`Compose`(聲明式UI框架)的初步認識。 Android架構模式: MVC, MVP, MVVM: 詳細講解Model-View-Controller (MVC),Model-View-Presenter (MVP) 和 Model-View-ViewModel (MVVM) 等主流的Android架構模式。分析它們的優缺點,以及在實際項目中的應用。重點深入講解MVVM結閤Jetpack組件的實踐。 Dagger/Hilt: 介紹依賴注入(Dependency Injection)的概念,以及在Android中如何使用Dagger或Hilt(Jetpack推薦的Dagger的簡化版本)來管理類之間的依賴關係,提高代碼的可測試性和可維護性。 第三方庫與框架: 網絡請求庫: 除瞭Retrofit和OKHttp,還會提及其他常用的網絡庫。 圖片加載庫: 再次強調Glide和Picasso的靈活運用。 UI框架: 介紹一些流行的第三方UI庫,如AndroidX Preference Library、Material Components for Android等。 事件總綫: 簡單介紹EventBus等事件總綫庫,用於簡化組件間的通信。 實戰項目案例: 本書將貫穿多個實戰項目,從簡單的待辦事項列錶應用,到功能更復雜的社交分享應用,再到涉及網絡請求和數據持久化的電商客戶端。通過這些案例,讀者可以親手實踐所學知識,將理論與實踐相結閤,理解真實世界中的開發流程和問題解決思路。 學習方法建議: 本書內容豐富,覆蓋麵廣。建議讀者在閱讀過程中,結閤Android Studio的實踐操作,動手編寫代碼,並嘗試修改和擴展示例程序。遇到問題時,積極查閱官方文檔和社區資源,與開發者同行交流。理解每一個概念的底層原理,而不是僅僅停留在API的使用層麵,將有助於您打下堅實的Android開發基礎,並能應對未來技術的不斷演進。 目標讀者: 對Android開發有濃厚興趣的初學者。 希望係統學習Android開發,從入門到精通的開發者。 希望深入理解Android底層機製和高級特性的中級開發者。 希望提升Android開發技能,掌握最新技術和架構模式的開發者。 希望構建高性能、可維護Android應用的開發者。 通過本書的學習,您將能夠自信地設計、開發和優化各種類型的Android應用程序,為您的移動開發職業生涯奠定堅實的基礎。