预购商品
书目分类
特别推荐
第1章 Android開發環境搭建 1 1.1 Android開發簡介 1 1.1.1 Android的發展歷程 1 1.1.2 Android Studio的發展歷程 2 1.2 搭建Android Studio開發環境 2 1.2.1 計算機配置要求 2 1.2.2 安裝Android Studio 3 1.2.3 下載Android的SDK 6 1.3 創建並編譯App工程 7 1.3.1 創建新項目 7 1.3.2 導入已有的工程 9 1.3.3 編譯App工程 10 1.4 運行和調試App 11 1.4.1 創建內置模擬器 11 1.4.2 在模擬器上運行App 14 1.4.3 觀察App的運行日誌 15 1.5 小結 16 1.6 動手練習 16 第2章 Android App開發基礎 17 2.1 App的開發特點 17 2.1.1 App的運行環境 17 2.1.2 App的開發語言 19 2.1.3 App連接的數據庫 22 2.2 App的工程結構 23 2.2.1 App工程目錄結構 23 2.2.2 編譯設定檔build.gradle 24 2.2.3 運行設定檔AndroidManifest.xml 26 2.3 App的設計規範 27 2.3.1 介面設計與代碼邏輯 28 2.3.2 利用XML標記描繪應用介面 29 2.3.3 使用Java代碼書寫程式邏輯 30 2.4 App的活動頁面 31 2.4.1 創建新的App頁面 31 2.4.2 快速生成頁面源碼 33 2.4.3 跳轉到另一個頁面 34 2.5 小結 35 2.6 動手練習 36 第3章 簡單控制項 37 3.1 文本顯示 37 3.1.1 設置文本的內容 37 3.1.2 設置文本的大小 38 3.1.3 設置文本的顏色 40 3.2 視圖基礎 42 3.2.1 設置視圖的寬和高 42 3.2.2 設置視圖的間距 44 3.2.3 設置視圖的對齊方式 45 3.3 常用佈局 46 3.3.1 線性佈局LinearLayout 46 3.3.2 相對佈局RelativeLayout 49 3.3.3 網格佈局GridLayout 51 3.3.4 滾動視圖ScrollView 52 3.4 按鈕觸控 53 3.4.1 按鈕控制項Button 53 3.4.2 點擊事件和長按事件 55 3.4.3 禁用與恢復按鈕 56 3.5 圖像顯示 58 3.5.1 圖像視圖ImageView 58 3.5.2 圖像按鈕ImageButton 60 3.5.3 同時展示文本與圖像 61 3.6 實戰專案:計算器 62 3.6.1 需求描述 62 3.6.2 介面設計 62 3.6.3 關鍵代碼 63 3.7 小結 65 3.8 動手練習 65 第4章 常用組件 66 4.1 啟停活動頁面 66 4.1.1 Activity的啟動和結束 66 4.1.2 Activity的生命週期 67 4.1.3 Activity的啟動模式 70 4.2 在活動之間傳遞消息 73 4.2.1 顯式Intent和隱式Intent 73 4.2.2 普通的活動數據交互 75 4.2.3 改進後的活動數據交互 78 4.3 收發應用廣播 80 4.3.1 收發標準廣播 80 4.3.2 收發有序廣播 83 4.3.3 收發靜態廣播 84 4.3.4 定時管理器AlarmManager 86 4.4 操作後臺服務 89 4.4.1 服務的啟動和停止 89 4.4.2 服務的綁定與解綁 92 4.4.3 活動與服務之間的交互 94 4.5 小結 96 4.6 動手練習 96 第5章 中級控制項 97 5.1 圖形定制 97 5.1.1 圖形Drawable 97 5.1.2 形狀圖形 98 5.1.3 九宮格圖片 101 5.1.4 狀態清單圖形 102 5.2 選擇按鈕 103 5.2.1 核取方塊CheckBox 103 5.2.2 開關按鈕Switch 105 5.2.3 選項按鈕RadioButton 106 5.3 文本輸入 108 5.3.1 編輯框EditText 108 5.3.2 焦點變更監聽器 110 5.3.3 文本變化監聽器 111 5.4 對話方塊 113 5.4.1 提醒對話方塊AlertDialog 113 5.4.2 日期對話方塊DatePickerDialog 115 5.4.3 時間對話方塊TimePickerDialog 116 5.5 實戰專案:找回密碼 117 5.5.1 需求描述 117 5.5.2 介面設計 118 5.5.3 關鍵代碼 119 5.6 小結 121 5.7 動手練習 121 第6章 數據存儲 122 6.1 鍵值對 122 6.1.1 共用參數的用法 122 6.1.2 實現記住密碼功能 123 6.1.3 更安全的數據倉庫 124 6.2 數據庫 126 6.2.1 SQL的基本語法 127 6.2.2 數據庫管理器SQLiteDatabase 129 6.2.3 數據庫幫助器SQLiteOpenHelper 130 6.2.4 優化記住密碼功能 133 6.3 存儲卡 135 6.3.1 私有存儲空間與公共存儲空間 135 6.3.2 在存儲卡上讀寫檔 136 6.3.3 運行時動態申請許可權 139 6.4 應用組件Application 142 6.4.1 Application的生命週期 142 6.4.2 利用Application操作全域變數 143 6.4.3 避免方法數過多的問題 144 6.4.4 利用Room簡化數據庫操作 145 6.5 共用數據 148 6.5.1 通過ContentProvider封裝數據 148 6.5.2 通過ContentResolver訪問數據 151 6.5.3 利用ContentResolver讀寫連絡人 153 6.5.4 利用ContentObserver監聽短信 154 6.6 實戰專案:購物車 156 6.6.1 需求描述 156 6.6.2 介面設計 158 6.6.3 關鍵代碼 159 6.7 小結 163 6.8 動手練習 163 第7章 高級控制項 164 7.1 下拉清單 164 7.1.1 下拉清單控制項Spinner 164 7.1.2 數組適配器ArrayAdapter 166 7.1.3 簡單適配器SimpleAdapter 166 7.2 列表類視圖 168 7.2.1 基本適配器BaseAdapter 168 7.2.2 列表視圖ListView 170 7.2.3 網格視圖GridView 174 7.3 翻頁類視圖 176 7.3.1 翻頁視圖ViewPager 176 7.3.2 翻頁標籤欄PagerTabStrip 179 7.3.3 簡單的啟動引導頁 180 7.4 碎片Fragment 183 7.4.1 碎片的靜態註冊 183 7.4.2 碎片的動態註冊 185 7.4.3 改進的啟動引導頁 188 7.5 實戰專案:記帳本 190 7.5.1 需求描述 190 7.5.2 介面設計 191 7.5.3 關鍵代碼 192 7.6 小結 195 7.7 動手練習 195 第8章 自訂控制項 196 8.1 視圖的構建過程 196 8.1.1 視圖的構造方法 196 8.1.2 視圖的測量方法 199 8.1.3 視圖的繪製方法 202 8.2 改造已有的控制項 205 8.2.1 自訂月份選擇器 205 8.2.2 給翻頁標籤欄添加新屬性 206 8.2.3 不滾動的列表視圖 208 8.3 推送消息通知 210 8.3.1 通知推送Notification 210 8.3.2 通知管道NotificationChannel 213 8.3.3 推送服務到前臺 215 8.3.4 仿微信的懸浮通知 216 8.4 通過持續繪製實現簡單動畫 221 8.4.1 Handler的延遲機制 221 8.4.2 重新繪製視圖介面 222 8.4.3 自訂圓形圖動畫 224 8.5 實戰專案:廣告輪播 227 8.5.1 需求描述 227 8.5.2 介面設計 227 8.5.3 關鍵代碼 228 8.6 小結 231 8.7 動手練習 231 第9章 群組控制項 232 9.1 底部標籤欄 232 9.1.1 利用BottomNavigationView實現底部標籤欄 232 9.1.2 自訂標籤按鈕 236 9.1.3 結合RadioGroup和ViewPager自訂底部標籤欄 238 9.2 頂部巡覽列 241 9.2.1 工具列Toolbar 241 9.2.2 溢出菜單OverflowMenu 242 9.2.3 標籤佈局TabLayout 244 9.3 增強型列表 246 9.3.1 迴圈視圖RecyclerView 247 9.3.2 佈局管理器LayoutManager 249 9.3.3 動態更新迴圈視圖 252 9.4 升級版翻頁 254 9.4.1 下拉刷新佈局SwipeRefreshLayout 254 9.4.2 第二代翻頁視圖ViewPager2 256 9.4.3 給ViewPager2集成標籤佈局 259 9.5 實戰專案:電商首頁 261 9.5.1 需求描述 261 9.5.2 介面設計 262 9.5.3 關鍵代碼 263 9.6 小結 264 9.7 動手練習 264 第10章 打造安裝包 265 10.1 應用打包 265 10.2 規範處理 271 10.3 安全加固 276 10.4 小結 280 10.5 動手練習 280 第11章 事件交互 281 11.1 按鍵事件 281 11.2 觸摸事件 285 11.3 根據觸摸行為辨別手勢動作 293 11.4 手勢衝突處理 300 11.5 實戰專案:仿美圖秀秀的摳圖工具 309 11.6 小結 311 11.7 動手練習 311 第12章 動畫特效 312 12.1 幀動畫 312 12.2 補間動畫 318 12.3 屬性動畫 325 12.4 遮罩動畫及滾動器 335 12.5 實戰專案:仿手機QQ的動感影集 344 12.6 小結 350 12.7 動手練習 350 第13章 網路通信 351 13.1 多執行緒 351 13.2 HTTP訪問 358 13.3 圖片載入 368 13.4 即時通信 375 13.5 實戰專案:仿微信的私聊和群聊 383 13.6 小結 393 13.7 動手練習 393 第14章 多媒體 394 14.1 音訊錄播 394 14.2 傳統攝製 399 14.3 增強攝製 407 14.4 實戰專案:仿抖音的短視頻分享 416 14.5 小結 422 14.6 動手練習 422 第15章 手機閱讀 423 15.1 流覽網頁 423 15.2 流覽PDF檔 435 15.3 流覽Office文檔 444 15.4 JNI開發 451 15.5 實戰專案:筆墨飄香之電子書架 462 15.6 小結 467 15.7 動手練習 468 第16章 感知定位 469 16.1 感測器 469 16.2 基礎定位 476 16.3 地圖導航 486 16.4 實戰專案:仿微信的附近的人 496 16.5 小結 501 16.6 動手練習 502 第17章 物聯網 503 17.1 短距離通信 503 17.2 傳統藍牙 515 17.3 低功耗藍牙 526 17.4 實戰專案:自動駕駛的智慧小車 538 17.5 小結 544 17.6 動手練習 544 第18章 智慧語音 545 18.1 原生語音處理 545 18.2 線上語音處理 551 18.3 基於機器學習的語音推斷 561 18.4 實戰專案:你問我答之小小機器人 566 18.5 小結 574 18.6 動手練習 574 第19章 機器視覺 575 19.1 簡單圖像識別 575 19.2 人臉識別 583 19.3 人像進階 590 19.4 實戰專案:尋人神器之智慧天眼 596 19.5 小結 601 19.6 動手練習 601 第20章 線上直播 602 20.1 搭建WebRTC的服務端 602 20.2 給App集成WebRTC 608 20.3 實戰專案:仿微信的視頻通話 616 20.4 實戰專案:仿拼多多的直播帶貨 621 20.5 小結 629 20.6 動手練習 629 附錄A 移動互聯網行業的新技術發展簡表 630 附錄B Android各版本的新增功能簡表 632 附錄C Android常用開發庫說明簡表 634 附錄D 移動開發專業術語索引 636 附錄E 本書的服務端程式說明 639
歐陽燊 資深軟體發展專家,有14年以上軟體發展經驗,熟悉C/C++、Java及相關軟體架構,從事Android開發8年以上,有豐富的Android開發實戰經驗。已出版暢銷書《Android Studio開發實戰:從零基礎到App上線》《Kotlin從零到精通Android開發》等。
客服公告
热门活动
订阅电子报