本書既介紹了Android應用程序基本框架,也對Android平臺的各種控件進行了講解,還通過一個真實案例向讀者介紹了Android應用程序完整的開發步驟。 書中主要包括4部分內容:第1部分首先講述了Android的基本概念、特點以及SDK中資源及其使用;接著講述了Android系統開發的相關概念;最后介紹了如何創建一個簡單的Android程序并運行,對Android的工程目錄結構也進行了詳細分析;第2部分介紹了Android系統架構的各種組件,包括:Activity組件、Intent組件、Service組件、BroadcastReceiver組件;講述了用戶界面設計原則、用戶界面設計核心概念、Android布局和控件、菜單、對話框、滾動處理等內容;并詳細介紹了SharedPreferences、ContentProvider、File、SQLite數據庫編程等內容;第3部分詳細講述了網絡的訪問方式(包括HTTP方式、Socket方式、Wi-Fi方式、藍牙、獲取網絡狀態等)、HTTP通信接口、WebView以及Wi-Fi應用的開發;并詳細介紹了多線程的實現和多線程的消息傳遞機制;第4部分詳細講述了百度百度地圖API的知識,通過對周邊加油站APP應用的展示和其基于Android平臺的開發過程進行了全面的項目體系講解,帶領讀者體驗項目開發過程的同時使讀者了解真正的APP項目是如何開發的。
1. 本書面向卓越軟件工程師培養,講解系統、內容飽滿、由淺入深;2. 本書層次分明,結構清晰,共分為5篇,從基礎到應用,再到開發、實戰;3. 書中提供了較有價值的實際商業案例,有助于讀者積累項目經驗,提高開發能力;4. 本書配套資源有:PPT、源代碼、習題解答等。
張軍朝,太原理工大學 教師。1995年10月--1999年5月,在山西天元電子科技有限公司工作,歷任程序員、項目經理、產品經營部經理;1999年6月--2008年8月,在山西太原天地方圓電子科技有限公司工作,歷任軟件開發部經理、工控監控事業部經理、公司技術副經理、公司經營副經理、公司總經理;2013年3月進入太原理工大學計算機科學與技術學院工作。從事方向:嵌入式系統、物聯網應用、工程應用軟件。
目 錄第1章 認識Android11.1 什么是Android11.2 Android有哪些特點11.3 Android操作系統21.4 Android SDK中的資源31.4.1 資源概述31.4.2 各種資源的使用41.5 需要學習哪些知識81.6 習題8第2章 Android系統開發綜述92.1 Android系統架構92.1.1 應用程序層102.1.2 應用程序框架層102.1.3 系統運行庫層102.1.4 Linux內核層112.2 搭建Android開發環境112.2.1 JAVA環境搭建112.2.2 安裝Eclipse132.2.3 安裝Android SDK132.2.4 安裝ADT152.3 Android開發工具162.3.1 DDMS工具162.3.2 ADB工具162.3.3 AAPT工具172.3.4 Logcat工具172.4 Android的模擬器182.5 Android應用打包192.6 習題20第3章 創建一個Android程序213.1 創建Android工程213.1.1 創建一個Android程序213.1.2 運行Android程序223.2 Android工程目錄結構分析243.2.1 src目錄項243.2.2 gen目錄項253.2.3 Android.jar文件253.2.4 assets目錄項253.2.5 res目錄項253.2.6 AndroidManifest.xml文件263.2.7 project.properties文件263.3 調試android程序263.3.1 增加斷點263.3.2 啟動調試273.3.3 單步調試273.3.4 利用Logcat調試293.4 習題30第4章 Activity組件314.1 什么是Activity314.2 Activity的運行狀態324.3 Activity的生命周期334.4 自定義Activity404.5 Activity的詳細配置404.6 示例504.7 習題56第5章 界面布局575.1 Android UI布局575.1.1 線性布局575.1.2 幀布局585.1.3 相對布局595.1.4 表格布局605.1.5 絕對布局605.2 Android UI控件605.2.1 UI事件捕獲與處理615.2.2 TextView615.2.3 Button625.2.4 EditText635.2.5 CheckBox與RadioGroup635.2.6 Spinner645.2.7 AutoCompleteTextView645.2.8 ProgressBar645.2.9 ListView655.2.10 Window655.2.11 其他UI控件概覽665.3 用戶界面設計原則695.3.1 一致性695.3.2 準確性705.3.3 布局合理化705.3.4 操作合理性715.3.5 響應時間715.4 用戶界面設計核心概念715.4.1 android.view.View類715.4.2 View類的繼承關系715.5 菜 單725.5.1 選項菜單725.5.2 上下文菜單745.5.3 子菜單755.6 對話框765.6.1 提示對話框765.6.2 列表對話框765.6.3 單選對話框和復選對話框765.6.4 進度條對話框775.6.5 日期選擇對話框775.6.6 時間選擇對話框775.6.7 拖動對話框795.6.8 自定義對話框795.7 滾動處理795.8 示例815.9 習題94第6章 Intent組件956.1 什么是Intent956.2 Intent的組成956.2.1 Component Name部分956.2.2 Action部分966.2.3 Data部分966.2.4 Category部分966.2.5 Extras部分966.2.6 Flags部分966.3 Intent Filter966.3.1 檢查Action976.3.2 檢查Data976.3.3 檢查Category976.4 Intent 的解析機制986.5 Intent 調用常用組件996.6 Intent在多Activity中的使用1026.6.1 由一個Activity啟動另一個Activity1026.6.2 Activity間的數據交換1026.6.3 帶結果返回的Activity1036.7 示例1046.8 習題109第7章 Service組件1107.1 什么是Service1107.2 Service的生命周期1117.3 Service的常用方法1127.3.1 StartService啟動服務1137.3.2 BindService啟動服務1137.4 IntentService1147.5 提高Service優先級1167.6 使用系統服務1187.7 遠程Service1197.7.1 AIDL接口1197.7.2 遠程Service的實現1207.8 示例1257.9 習題130第8章 BroadcastReceiver組件1318.1 BroadcastReceiver 簡介1318.1.1 BroadcastReceiver概念1318.1.2 BroadcastReceiver機制1328.2 廣播消息的處理流程1328.2.1 廣播消息的處理流程1328.2.2 廣播接收者的實現方式1328.2.3 發送廣播1348.3 廣播類型及廣播的收發1348.3.1 普通廣播1348.3.2 有序廣播1358.4 處理系統的廣播消息1358.4.1 開機啟動服務1368.4.2 網絡狀態變化1388.4.3 電量變化1398.5 BroadcastReceiver的生命周期1408.6 示例1418.7 習題147第9章 Android數據存儲與共享1489.1 SharedPreferences1489.2 File1499.3 SQLite數據庫編程1549.2.1 SQLite簡介1549.2.2 SQLite示例1609.4 ContentProvider1689.5 示例1729.6 習題183第10章 網絡連接18410.1 網絡的訪問方式18410.1.1 HTTP方式18410.1.2 Socket方式19210.1.3 Wi-Fi方式19610.1.4 藍牙19710.1.5 獲取網絡的狀態20210.2 HTTP通信20310.2.1 標準的Java接口20310.2.2 Apache接口20410.2.3 Android的網絡接口20510.3 WebView20510.3.1 WebView簡介20510.3.2 WebView的實現20610.3.3 WebView的常見功能20610.4 Wi-Fi應用的開發20710.4.1 Wi-Fi系統20710.4.2 JNI21010.4.3 簡單的Wi-Fi應用開發21510.5 習題217第11章 多線程21811.1 多線程的實現21811.1.1 創建啟動線程21811.1.2 休眠線程22111.1.3 中斷線程22211.2 多線程消息傳遞機制22411.2.1 Looper的使用22411.2.2 Handler的使用22811.2.3 Message的使用23211.3 示例23311.4 習題250第12章 百度地圖API25112.1 百度Android SDK簡介25112.2 百度地圖API功能25112.2.1 地圖25112.2.2 POI檢索25212.2.3 地理編碼25212.2.4 線路規劃25212.2.5 地圖覆蓋物25212.2.6 定位25212.2.7 離線地圖25212.2.8 調啟百度地圖25212.2.9 周邊雷達25312.2.10 LBS云25312.2.11 特色功能25312.3 申請密鑰25312.3.1 密鑰簡介25312.2.2 密鑰申請步驟25412.4 配置環境及發布25812.4.1 Eclipse工程配置方法25812.4.2 Android Studio工程配置方法25812.4.3 應用混淆25912.5 Hello BaiduMap25912.6 基礎地圖2