《21世紀高等職業教育計算機系列規劃教材:Android程序設計實用教程》面向所有對Android SDK在Android移動手機平臺上創建應用程序感興趣的讀者。不管是有豐富Java開發經驗的程序員,還是只有Java基礎的初學者,此書都將是十分有價值的學習資料。
全書共有10章,分別介紹了Android開發環境配置、Android應用程序、Android常用基本控件、Android常用高級控件、Android游戲應用程序開發、Android消息與廣播、Service后臺服務、Android數據存儲與訪問、Android位置服務與地圖應用、綜合案例設計與開發等內容。
《21世紀高等職業教育計算機系列規劃教材:Android程序設計實用教程》立足實用,實例豐富,既可作為高職高專相關專業課程的教材和教學參考書,也可供從事移動編程開發的用戶學習和參考。
Android是基于Linux內核的軟件平臺和操作系統,是Google在2007年11月5日公布的手機系統平臺,早期由Google開發,后由開放手機聯盟(Open Handset Alliance)開發。它采用了軟件堆層(software stack,又名以軟件疊層)的架構,主要分為三部分。底層以Linux內核工作為基礎,由C語言開發,只提供基本功能;中間層包括函數庫Library和虛擬機Virtual Machine,由C++開發。最上層是各種應用軟件,包括通話程序、短信程序等,應用軟件則由各公司自行開發,以Java作為編寫程序的主要部分。不存在任何以往阻礙移動產業創新的專有權障礙,號稱是首個為移動終端打造的真正開放和完整的移動軟件。Google通過與軟、硬件開發商、設備制造商、電信運營商等其他有關各方結成深層次的合作伙伴關系,希望借助建立標準化、開放式的移動電話軟件平臺,在移動產業內形成一個開放式的生態系統。
隨著Android平臺的發展,引發了Android人才荒。但符合條件的Android工程師屈指可數,企業招聘難度可想而知。我們相信,在未來幾年內,Android開發工程師將成為3G行業炙手可熱的崗位之一。3G人才全球緊缺,實用人才培養已迫在眉睫!在國內三大運營商如火如荼的3G營銷戰持續升溫,再加上3G的推出對整個行業的巨大推動作用,無疑將引爆3G手機開發工程師這個黃金職位。所以我們說程序員必學Google Android的理由可以總結為:更快的薪酬提升通道、更好的熱門就業崗位、更多的行業人才需求、最熱門的新技術行業。
本書包括10章內容,分別介紹了以下內容:
第1章Android開發環境配置,對Android的起源、優點和系統架構進行了介紹;詳細介紹了Android開發環境的配置,Android應用程序的創建以及應用程序的結構分析。
第2章Android應用程序,對Android應用程序的四大基本組件進行了詳細介紹,詳細講述了Android應用程序從活動狀態、暫停狀態、停止狀態和非活動狀態整個生命周期過程。詳細介紹了LogCat工具在調試應用程序過程中,對程序錯誤的定位和分析。
第3章Android常用基本控件,對進行用戶界面開發常用的Android布局管理器、基本控件、菜單、對話框、事件和動畫播放技術進行了詳細介紹。Android中的布局包括線性布局、表格布局、相對布局、幀布局和絕對布局,基本控件主要包括文本框、按鈕、單選按鈕、復選按鈕、狀態開關按鈕、日期時間控件和圖片控件的使用。菜單包括選項菜單、子菜單和上下文菜單。Android平臺下的對話框主要包括普通對話框、選項對話框、單選多選對話框、日期和時間對話框以及進度對話框。
第4章Android常用高級控件,對自動完成文本框、滾動視圖、列表視圖、滑塊與進度條、畫廊與消息提示、下拉列表與選項卡等高級控件進行了詳細介紹,并輔以詳細案例。
第5章 Android游戲應用程序開發,Android平臺下的應用開發,一般來說主要分為商業應用和游戲應用兩種。本章重點介紹自定義View和SurfaceView類在游戲開發中的應用,游戲開發中的碰撞與檢測技術,最后通過掃雷游戲的開發詳細介紹了游戲開發的步驟。
第6章Android消息與廣播,Intent是輕量級的進程間通信機制,用于跨進程的組件通信和發送系統級的廣播。本章讓讀者基本了解Android系統的組件通信原理,掌握利用組件通信啟動其他組件的方法,以及利用組件通信信息和發送廣播消息的方法。
第7章 Service后臺服務,Service是Android系統的后臺服務組件,適用于開發無界面、長時間運行的應用功能。本章讓讀者了解后臺服務的基本原理,掌握進程內服務與跨進程服務的使用方法,有助于深入了解Android系統的進程間通信機制。
第8章 數據存儲與訪問,Android平臺提供了多種數據存儲方法,包括易于使用的SharedPreferences,經典的文件存儲和輕量級的SQLite數據庫。通過本章的學習,讀者可以了解Android平臺各種組件數據存儲方法的特點和使用方法,掌握跨進度的數據共享方法。
第9章Android位置服務與地圖應用,位置服務和地圖應用是發展最為迅速,有著大量潛在需求的領域,通過本章的學習可以讓讀者簡單地了解位置服務和地圖應用的概念、方法和技巧。讀者可以使用Google提供的地圖服務,構建提供位置服務的應用程序。
第10章 綜合案例設計與開發,本章將以“手機相冊服務軟件”作為示例,綜合運用前面章節所學到的知識和技巧,從需求分析、界面設計、模塊設計和程序設計等幾個方面,詳細介紹Android應用程序的設計思路與開發方法。本章提供的“手機相冊服務軟件”是2012年“全國軟件杯”軟件設計大賽Android開發項目的本地相冊內容,是一個比較綜合的案例。
本書由重慶正大職業技術學院的向守超、姚駿屏擔任主編,由遼寧信息職業技術學院的朱雷和無錫工藝職業技術學院的鄧書基擔任副主編。本書在編寫過程中得到了各方面的大力支持,在此一并表示感謝。
為了方便教師教學,本書配有電子教學課件及相關資源,請有此需要的教師登錄華信教育資源網免費注冊后進行下載,如有問題可在網站留言板留言或與電子工業出版社聯系。
由于編者水平有限和時間倉促,書中難免存在疏漏和不足。希望同行專家和讀者能給予批評和指正。
編者
第1章 Android開發環境配置
1.1 Android簡介
1.1.1 Android起源
1.1.2 Android的優點
1.1.3 Android的系統架構
1.2 Android開發環境配置
1.3 第一個Android應用程序
第2章 Android應用程序
2.1 基本組件介紹
2.2 Activity生命周期
2.3 Android程序調試
第3章 Android常用基本控件
3.1 界面布局
3.1.1 線性布局
3.1.2 表格布局
3.1.3 相對布局
3.1.4 幀布局
3.1.5 絕對布局
3.2 界面控件
3.2.1 文本控件
3.2.2 按鈕控件
3.2.3 圖片控件
3.2.4 時鐘控件
3.2.5 日期與時間選擇控件
3.3 菜單
3.3.1 選項菜單和子菜單
3.3.2 上下文菜單
3.4 對話框
3.4.1 對話框簡介
3.4.2 普通對話框
3.4.3 列表對話框
3.4.4 單選按鈕和復選框對話框
3.4.5 日期及時間選擇對話框
3.4.6 進度對話框
3.5 界面事件
3.5.1 onKeyDown方法簡介
3.5.2 onKeyUp方法簡介
3.5.3 onTouchEvent方法簡介
3.5.4 onTrackBallEvent方法和onFocusChanged方法簡介
3.5.5 OnClickListener接口簡介
3.5.6 OnFocusChangeListener接口簡介
3.5.7 OnKeyListener接口簡介
3.5.8 OnTouchListener接口簡介
3.5.9 OnCreateContextMenuListener接口簡介
3.6 動畫播放技術
3.6.1 幀動畫
3.6.2 補間動畫
第4章 Android常用高級控件
4.1 自動完成文本框
4.2 滾動視圖和列表視圖
4.2.1 滾動視圖
4.2.2 列表視圖
4.3 滑塊與進度條
4.4 畫廊控件與消息提示
4.4.1 畫廊控件
4.4.2 Toast的使用
4.4.3 Notification的使用
4.5 下拉列表控件與選項卡
4.5.1 下拉列表控件
4.5.2 選項卡
第5章 Android游戲應用程序開發
5.1 自定義View的使用
5.2 SurfaceView的使用
5.3 游戲碰撞與檢測技術
5.3.1 碰撞檢測技術基礎
5.3.2 游戲中實體對象之間的碰撞檢測
5.3.3 游戲實體對象與環境之間的碰撞檢測
5.4 掃雷游戲實例
第6章 Android消息與廣播
6.1 Intent
6.1.1 啟動Activity
6.1.2 獲取Activity返回值
6.2 Intent過濾器
6.3 BroadcastReceive組件應用
第7章 Service后臺服務
7.1 Service組件應用
7.2 進程內服務
7.2.1 服務管理
7.2.2 使用線程
7.2.3 服務綁定
7.3 Handler消息傳遞機制
7.4 單機版音樂盒實例
第8章 Android數據存儲與訪問
8.1 簡單存儲
8.2 文件存儲
8.2.1 內部存儲
8.2.2 外部存儲
8.2.3 資源文件
8.3 SQLite數據庫存儲
8.3.1 SQLite數據庫
8.3.2 手動建庫
8.3.3 代碼建庫
8.3.4 數據操作
8.4 內容提供器——Content Providers
8.5 實訓
第9章 Android位置服務與地圖應用
9.1 位置服務
9.2 Google地圖應用
9.2.1 申請地圖密鑰
9.2.2 使用Google地圖
9.2.3 Google地圖上貼上標記
9.3 利用Google API完成天氣預報
9.3.1 信息來源
9.3.2 UI設計
9.3.3 解析XML
9.3.4 AndroidManifest.xml限設置
第10章 綜合案例設計與開發
10.1 需求分析
10.2 策劃與準備
10.2.1 圖片資源的準備
10.2.2 數據庫設計
10.3 程序設計
10.3.1 數據庫適配器
10.3.2 主界面類PhotographActivity.java的實現
10.3.3 輔助類的設計
……