Android 4高级编程(第3版)》
生活随笔
收集整理的這篇文章主要介紹了
Android 4高级编程(第3版)》
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
《Android 4高級編程(第3版)》
基本信息
原書名:Professional Android 4 Application Development
作者: (英)Reto Meier
譯者: 佘建偉 趙凱
叢書名: 移動開發經典叢書
更多關于》》》《 Android 4高級編程(第3版)》 內容簡介 計算機書籍 《Android 4高級編程(第3版)》由Android權威專家編寫,涵蓋了所有最新的內容,是學習使用Android 4 SDK開發移動應用程序的理想指南。本書見解深刻,幫助經驗豐富的Android開發人員充分挖掘Android 4的新特性的潛力,同時講解了Android開發的基礎知識,使初學者也可以借助本書入門。作為一本以實用性為目的的指導圖書,本書帶領您逐步完成復雜程度越來越高的Android項目,每個項目中都引入一種新的Android平臺特性,并著重指出有助于編寫引人入勝的應用程序的技術和最佳實踐。 本書特色 ◆ 深入分析了Android應用程序的組件和生命周期 ◆ 探討了Android的UI原理、設計理念和UI API,使用戶界 面在手機、平板電腦和電視上都引人注目 ◆ 介紹了創建基于地圖的應用程序和使用基于位置的服務 的相關知識 ◆ 解釋了如何創建后臺服務、通知和Cloud to Device Messaging ◆ 演示了如何創建動態的、交互式的主屏幕微件和Live Wallpaper ◆ 探索了硬件和通信API,包括藍牙、電話、Wi-Fi Direct、 NFC和Android Beam ◆ 講解了攝像頭和硬件傳感器的使用 ◆ 詳述了新的動畫框架和其他增強用戶體驗的特性,包括 拖放、Action Bar和Fragment ◆ 新增了關于應用程序發布的一章內容 ◆ 介紹了License Verification和應用程序內收費服務 目錄 《android 4高級編程(第3版)》 第1章 android簡介1 1.1 一些背景信息2 1.1.1 不遠的過去2 1.1.2 未來的前景2 1.2 對android的誤解3 1.3 android:開放的移動開發平臺3 1.4 原生android應用程序4 1.5 android sdk的特征5 1.5.1 訪問硬件(包括攝像頭、gps和傳感器)5 1.5.2 使用wi-fi、藍牙技術和nfc進行數據傳輸6 1.5.3 地圖、地理編碼和基于位置的服務6 1.5.4 后臺服務6 1.5.5 使用sqlite數據庫進行數據存儲和檢索7 1.5.6 共享數據和應用程序間通信7 1.5.7 使用widget和live wallpaper增強主屏幕7 1.5.8 廣泛的媒體支持和2d/3d圖形7 1.5.9 cloud to device messaging8 1.5.10 優化的內存和進程管理8 1.6 開放手機聯盟簡介8 1.7 運行android的環境9 1.8 從事移動開發的原因9 1.9 從事android開發的原因9 1.9.1 推動android普及的因素10 1.9.2 android的獨到之處10 1.9.3 改變移動開發格局11 1.10 開發框架簡介11 1.10.1 開發包中的資源12 1.10.2 理解android軟件棧12 1.10.3 dalvik虛擬機14 1.10.4 android應用程序架構14 1.10.5 android庫15 第2章 開始入手17 2.1 android開發18 2.1.1 開始前的準備工作18 2.1.2 創建第一個android應用程序24 2.1.3 android應用程序的類型31 2.2 面向移動設備和嵌入式設備的開發32 2.2.1 硬件限制帶來的設計考慮事項32 2.2.2 考慮用戶環境35 2.2.3 android開發36 2.3 android開發工具40 2.3.1 android虛擬設備管理器41 2.3.2 android sdk管理器42 2.3.3 android模擬器42 2.3.4 dalvik調試監控服務(ddms)42 2.3.5 android調試橋(adb)43 2.3.6 hierarchy viewer和lint工具43 2.3.7 monkey和monkey runner43 第3章 創建應用程序和activity45 3.1 android應用程序的組成部分46 3.2 應用程序manifest文件簡介47 3.3 使用manifest編輯器54 3.4 分離資源55 3.4.1 創建資源55 3.4.2 使用資源63 3.4.3 為不同的語言和硬件創建資源66 3.4.4 運行時配置更改68 3.5 android應用程序生命周期70 3.6 理解應用程序的優先級和進程狀態70 3.7 android application類簡介72 3.7.1 擴展和使用application類72 3.7.2 重寫應用程序的生命周期事件73 3.8 深入探討android activity74 3.8.1 創建activity74 3.8.2 activity的生存期76 3.8.3 android activity類81 第4章 創建用戶界面83 4.1 android ui基本設計84 4.2 android ui的基礎知識84 4.3 布局簡介85 4.3.1 定義布局86 4.3.2 使用布局創建設備無關的ui87 4.3.3 優化布局90 4.4 to-do list示例93 4.5 fragment介紹100 4.5.1 創建新的fragment101 4.5.2 fragment的生命周期101 4.5.3 fragment manager介紹105 4.5.4 向activity中添加fragment105 4.5.5 fragment和activity之間的接口110 4.5.6 沒有用戶界面的fragment111 4.5.7 android fragment 類112 4.5.8 對to-do list示例使用fragment112 4.6 android widget 工具箱116 4.7 創建新視圖117 4.7.1 修改現有的視圖118 4.7.2 創建復合控件122 4.7.3 使用布局創建簡單的復合控件124 4.7.4 創建定制的視圖124 4.7.5 使用定制的控件137 4.8 adapter簡介137 4.8.1 部分原生adapter簡介138 4.8.2 定制arrayadapter138 4.8.3 使用adapter綁定數據到視圖139 第5章 intent和broadcast receiver145 5.1 intent簡介145 5.1.1 使用intent來啟動activity146 5.1.2 linkify簡介153 5.1.3 使用intent廣播事件155 5.1.4 local broadcast manager159 5.1.5 pending intent簡介160 5.2 創建intent filter和broadcast receiver161 5.2.1 使用intent filter為隱式intent提供服務161 5.2.2 使用intent filter作為插件和擴展170 5.2.3 監聽本地broadcast intent173 5.2.4 使用broadcast intent監控設備的狀態變化174 5.2.5 在運行時管理manifest receiver176 第6章 使用internet資源177 6.1 下載和分析internet資源177 6.1.1 連接internet資源178 6.1.2 使用xml pull parser分析xml179 6.1.3 創建一個地震查看器180 6.2 使用download manager186 6.2.1 下載文件186 6.2.2 自定義download manager notification187 6.2.3 指定下載位置188 6.2.4 取消和刪除下載189 6.2.5 查詢download manager189 6.3 使用internet服務192 6.4 連接到google app engine192 6.5 下載數據而不會耗盡電量的最佳實踐194 第7章 文件、保存狀態和首選項195 7.1 保存簡單的應用程序數據195 7.2 創建并保存shared preference196 7.3 檢索shared preference197 7.4 為地震查看器創建一個設置activity197 7.5 首選項框架和preference activity概述205 7.5.1 在xml中定義一個preference screen布局206 7.5.2 preference fragment簡介208 7.5.3 使用preference header定義preference fragment的層次結構208 7.5.4 preference activity簡介209 7.5.5 向后兼容性與preference screen210 7.5.6 找到并使用preference screen設置的shared preference210 7.5.7 shared preference change listener簡介211 7.6 為地震查看器創建一個標準的preference activity211 7.7 持久化應用程序實例的狀態215 7.7.1 使用shared preference保存activity狀態215 7.7.2 使用生命周期處理程序保存和還原activity實例215 7.7.3 使用生命周期處理程序保存和還原fragment實例狀態216 7.8 將靜態文件作為資源添加218 7.9 在文件系統下工作218 7.9.1 文件管理工具218 7.9.2 使用特定于應用程序的文件夾存儲文件219 7.9.3 創建私有的應用程序文件219 7.9.4 使用應用程序文件緩存220 7.9.5 存儲公共可讀的文件220 第8章 數據庫和content provider223 8.1 android數據庫簡介223 8.1.1 sqlite數據庫簡介224 8.1.2 content provider簡介224 8.2 sqlite簡介224 8.3 content value和cursor225 8.4 使用sqlite數據庫225 8.4.1 sqliteopenhelper簡介226 8.4.2 在不使用sqliteopen helper的情況下打開和創建數據庫228 8.4.3 android數據庫設計注意事項228 8.4.4 查詢數據庫228 8.4.5 從cursor中提取值229 8.4.6 添加、更新和刪除行230 8.5 創建content provider232 8.5.1 注冊content provider233 8.5.2 發布content provider的uri地址233 8.5.3 創建content provide的數據庫234 8.5.4 實現content provider查詢235 8.5.5 content provider事務236 8.5.6 在content provider中存儲文件239 8.5.7 一個content provider的實現框架240 8.6 使用content provider244 8.6.1 content resolver簡介244 8.6.2 查詢content provider244 8.6.3 使用cursor loader異步查詢內容247 8.6.4 添加、刪除和更新內容249 8.6.5 訪問content provider中存儲的文件251 8.6.6 創建一個to-do list數據庫和content provider253 8.7 將搜索功能添加到應用程序中260 8.7.1 使content provider可搜索261 8.7.2 為應用程序創建一個搜索activity261 8.7.3 將搜索activity設置為應用程序的默認搜索provider263 8.7.4 使用搜索視圖微件266 8.7.5 由content provider支持搜索建議267 8.7.6 在快速搜索框中顯示搜索結果270 8.8 創建可搜索的地震content provider270 8.8.1 創建content provider270 8.8.2 使用地震content provider276 8.8.3 搜索earthquakecontent provider279 8.9 本地android content provider285 8.9.1 使用media storecontent provider285 8.9.2 使用contacts contract content provider286 8.9.3 使用calendar content provider293 第9章 在后臺操作297 9.1 service簡介298 9.1.1 創建和控制service298 9.1.2 將service綁定到activity302 9.1.3 地震監控service示例304 9.1.4 創建前臺service308 9.2 使用后臺線程309 9.2.1 使用asynctask運行異步任務310 9.2.2 intent service簡介312 9.2.3 loader簡介313 9.2.4 手動創建線程和gui線程同步313 9.3 使用alarm315 9.3.1 創建、設置和取消alarm316 9.3.2 設置重復alarm317 9.3.3 使用重復alarm調度網絡刷新318 9.4 使用intent service簡化earthquake更新service320 第10章 擴展用戶體驗323 10.1 操作欄簡介324 10.1.1 自定義操作欄325 10.1.2 自定義操作欄來控制應用程序的導航行為328 10.1.3 操作欄操作簡介333 10.2 向地震監控程序添加一個操作欄333 10.3 創建并使用菜單和操作欄操作項339 10.3.1 android菜單系統簡介340 10.3.2 創建菜單341 10.3.3 指定操作欄的操作342 10.3.4 菜單項選項343 10.3.5 添加操作view和操作提供程序344 10.3.6 在fragment中添加菜單項345 10.3.7 使用xml定義菜單層次結構345 10.3.8 動態更新菜單項347 10.3.9 處理菜單選擇347 10.3.10 子菜單和上下文菜單簡介348 10.4 更新地震監控程序351 10.5 全屏顯示353 10.6 對話框簡介355 10.6.1 創建一個對話框356 10.6.2 使用alertdialog類356 10.6.3 使用專門的輸入對話框357 10.6.4 通過dialog fragment管理和顯示對話框358 10.6.5 通過activity事件處理程序管理和顯示對話框360 10.6.6 將activity用作對話框361 10.7 創建toast361 10.7.1 自定義toast362 10.7.2 在工作線程中使用toast364 10.8 notification簡介365 10.8.1 notification manager簡介366 10.8.2 創建notification366 10.8.3 設置和自定義通知托盤ui369 10.8.4 配置持續和連續的notification373 10.8.5 觸發、更新和取消notification374 10.9 向地震監控程序中添加notification和對話框376 第11章 高級用戶體驗381 11.1 為每個屏幕尺寸和分辨率做設計382 11.1.1 分辨率無關382 11.1.2 為不同的屏幕大小提供支持和優化383 11.1.3 創建可縮放的圖形資源386 11.1.4 創建優化的、自適應的、動態的設計390 11.1.5 反復測試390 11.2 確??稍L問性391 11.2.1 為非觸屏設備提供導航391 11.2.2 為每個view提供文本描述391 11.3 android text-to-speech簡介392 11.4 使用語音識別394 11.4.1 使用語音識別進行語音輸入395 11.4.2 使用語音識別進行搜索396 11.5 控制設備振動396 11.6 使用動畫397 11.6.1 補間view動畫397 11.6.2 創建和使用逐幀動畫400 11.6.3 插值屬性動畫400 11.7 強化view404 11.7.1 高級canvas繪圖404 11.7.2 硬件加速419 11.7.3 surface view簡介420 11.7.4 創建交互式控件423 11.8 高級drawable資源428 11.9 復制、粘貼和剪貼板431 11.9.1 向剪貼板中復制數據431 11.9.2 粘貼剪貼板數據431 第12章 硬件傳感器433 12.1 使用傳感器和傳感器管理器433 12.1.1 受支持的android傳感器434 12.1.2 虛擬傳感器簡介435 12.1.3 查找傳感器435 12.1.4 監視傳感器436 12.1.5 解釋傳感器值438 12.2 監視設備的移動和方向439 12.2.1 確定設備的自然方向440 12.2.2 加速計簡介441 12.2.3 檢測加速度變化442 12.2.4 創建一個重力計443 12.2.5 確定設備方向446 12.2.6 創建一個指南針和人工地平儀450 12.2.7 陀螺儀傳感器簡介453 12.3 環境傳感器簡介454 12.3.1 使用氣壓計傳感器454 12.3.2 創建氣象站455 第13章 地圖、地理編碼和基于位置的服務461 13.1 使用基于位置的服務461 13.2 在模擬器中使用基于位置的服務462 13.2.1 更新模擬器位置提供器中的位置463 13.2.2 配置模擬器來測試基于位置的服務463 13.3 選擇一個位置提供器464 13.3.1 查找位置提供器464 13.3.2 通過指定條件查找位置提供器464 13.3.3 確定位置提供器的能力465 13.4 確定當前位置466 13.4.1 位置的隱私性466 13.4.2 找出上一次確定的位置466 13.4.3 where am i示例466 13.4.4 刷新當前位置469 13.4.5 在where am i中跟蹤位置472 13.4.6 請求單獨一次位置更新473 13.5 位置更新的最佳實踐474 13.6 使用近距離提醒477 13.7 使用地理編碼器478 13.7.1 反向地理編碼479 13.7.2 前向地理編碼480 13.7.3 對“where am i”示例進行地理編碼481 13.8 創建基于地圖的activity482 13.8.1 mapview和mapactivity簡介482 13.8.2 獲得地圖的api key483 13.8.3 創建一個基于地圖的activity483 13.8.4 地圖和fragment485 13.8.5 配置和使用mapview486 13.8.6 使用mapcontroller486 13.8.7 對“where am i”示例使用地圖487 13.8.8 創建和使用覆蓋(overlay)490 13.8.9 mylocationoverlay簡介497 13.8.10 itemizedoverlay和overlayitem簡介498 13.8.11 將視圖固定到地圖和地圖的某個位置上500 13.9 對earthquake示例添加地圖功能501 第14章 個性化主屏幕507 14.1 主屏幕widget簡介507 14.2 創建app widgets509 14.2.1 創建widget的xml布局資源509 14.2.2 定義widget設置511 14.2.3 創建widget broadcast receiver并將其添加到應用程序的manifest文件中512 14.2.4 appwidgetmanager和remoteview簡介513 14.2.5 刷新widget518 14.2.6 創建并使用widget配置activity521 14.3 創建地震widget522 14.4 collection view widget簡介528 14.4.1 創建collection view widget的布局529 14.4.2 創建remoteviewsservice530 14.4.3 創建一個remoteviews-factory531 14.4.4 使用remoteviewsservice填充collectionviewwidget533 14.4.5 向collection view widget中的項添加交互性534 14.4.6 將collection view widget綁定到content provider535 14.4.7 刷新collection view widget537 14.4.8 創建earthquake collection view widget537 14.5 live folder簡介543 14.5.1 創建live folder544 14.5.2 創建earthquake live folder548 14.6 使用快速搜索框顯示應用程序搜索結果551 14.6.1 在快速搜索框中顯示搜索結果551 14.6.2 將earthquake示例的搜索結果添加到快速搜索框中552 14.7 創建live wallpaper553 14.7.1 創建live wallpaper定義資源553 14.7.2 創建wallpaper service554 14.7.3 創建wallpaper service引擎555 第15章 音頻、視頻以及攝像頭的使用557 15.1 播放音頻和視頻558 15.1.1 media player簡介559 15.1.2 準備音頻播放559 15.1.3 準備視頻播放560 15.1.4 控制media player的播放564 15.1.5 管理媒體播放輸出566 15.1.6 響應音量控制566 15.1.7 響應media播放控件567 15.1.8 請求和管理音頻焦點569 15.1.9 當音頻輸出改變時暫停播放571 15.1.10 remote control client簡介572 15.2 操作原始音頻574 15.2.1 使用audiorecord錄制聲音574 15.2.2 使用audiotrack播放音頻575 15.3 創建一個sound pool577 15.4 使用音效578 15.5 使用攝像頭拍攝照片579 15.5.1 使用intent拍攝照片579 15.5.2 直接控制攝像頭581 15.5.3 讀取并寫入 jpeg exif圖像詳細信息588 15.6 錄制視頻589 15.6.1 使用intent錄制視頻589 15.6.2 使用mediarecorder錄制視頻590 15.7 使用媒體效果593 15.8 向媒體庫中添加新媒體594 15.8.1 使用媒體掃描儀插入媒體594 15.8.2 手動插入媒體595 第16章 藍牙、nfc、網絡和wi-fi597 16.1 使用藍牙597 16.1.1 管理本地藍牙設備適配器598 16.1.2 可發現性和遠程設備發現600 16.1.3 藍牙通信604 16.2 管理網絡和internet連接609 16.2.1 connectivity manager簡介609 16.2.2 支持用戶首選項以進行后臺數據傳輸609 16.2.3 查找和監視網絡連接611 16.3 管理wi-fi612 16.3.1 監視wi-fi連接613 16.3.2 監視活動的wi-fi連接的詳細信息613 16.3.3 掃描熱點613 16.3.4 管理wi-fi配置614 16.3.5 創建wi-fi網絡配置615 16.4 使用wi-fi direct傳輸數據615 16.4.1 初始化wi-fi direct框架615 16.4.2 啟用wi-fi direct并監視其狀態617 16.4.3 發現對等設備618 16.4.4 連接對等設備618 16.4.5 在對等設備之間傳輸數據620 16.5 近場通信621 16.5.1 讀取nfc標簽622 16.5.2 使用前臺分派系統623 16.5.3 android beam簡介625 第17章 電話服務和sms629 17.1 電話服務的硬件支持629 17.1.1 將電話功能指定為必需的硬件功能629 17.1.2 檢查電話硬件630 17.2 使用電話服務630 17.2.1 啟動電話呼叫630 17.2.2 替換本機撥號程序631 17.2.3 訪問電話服務的屬性及狀態632 17.2.4 使用phonestatelistener監視電話狀態的變化635 17.2.5 使用intent receiver監視傳入的電話呼叫639 17.3 sms和mms簡介640 17.3.1 在應用程序中使用sms和mms640 17.3.2 使用intent從應用程序中發送sms和mms640 17.3.3 使用sms manager發送sms消息641 17.3.4 監聽傳入的sms消息644 17.3.5 緊急響應程序sms示例646 17.3.6 自動緊急響應程序654 17.4 sip和voip簡介662 第18章 android高級開發663 18.1 android的安全性664 18.1.1 linux內核安全664 18.1.2 權限簡介664 18.2 cloud to device messaging簡介666 18.2.1 c2dm的局限性667 18.2.2 注冊使用c2dm667 18.2.3 在c2dm服務器上注冊設備667 18.2.4 向設備發送c2dm消息670 18.2.5 接收c2dm消息672 18.3 使用license verification library實現版權保護673 18.3.1 安裝license verification library673 18.3.2 獲得license verification公鑰673 18.3.3 配置license validation policy674 18.3.4 執行許可驗證檢查674 18.4 應用程序內收費675 18.4.1 應用程序內收費的局限性676 18.4.2 安裝iab庫676 18.4.3 獲得公鑰和定義可購買的物品676 18.4.4 開始iab交易677 18.4.5 處理iab購買請求的響應678 18.5 使用wake lock679 18.6 使用aidl支持service的ipc680 18.7 處理不同硬件和軟件的可用性686 18.7.1 指定硬件的要求686 18.7.2 確認硬件可用性687 18.7.3 構建向后兼容的應用程序687 18.8 利用strict模式優化ui性能689 第19章 推廣和發布應用程序并從中獲利691 19.1 簽名和發布應用程序691 19.2 發布應用程序693 19.2.1 google play簡介693 19.2.2 開始使用google play694 19.2.3 發布應用程序695 19.2.4 開發者控制臺上的應用程序報告697 19.2.5 查看應用程序錯誤報告697 19.3 如何通過應用程序賺錢698 19.4 應用程序銷售、推廣和分發的策略699 19.4.1 應用程序的起步策略699 19.4.2 在google play上推廣700 19.4.3 國際化700 19.5 分析數據和跟蹤推薦人701 19.5.1 使用移動應用程序的google analytics702 19.5.2 使用google analytics追蹤推薦703 本 圖書信息來源: 中國互動出版網
轉載于:https://www.cnblogs.com/china-pub/archive/2013/04/16/3024350.html
總結
以上是生活随笔為你收集整理的Android 4高级编程(第3版)》的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简单的把cad怎么转换成pdf格式呢?
- 下一篇: android sina oauth2.