本書分兩篇:基礎篇及進階篇。由於本書內容是前後相關聯的,建議讀者按照本書章節順序閱讀,有經驗的讀者建議至少閱讀完前5章,如此就可跳躍式閱讀本書其他內容。另外,由於Google在其Android Developer網站會隨時更新最新內容,建議讀者要時常連到該網站,可取得最新及最詳細的資料。
一、基礎篇
主要作用是介紹如何準備好開發Android應用程式所需的開發環境、了解Android應用程式專案、如何撰寫Android應用程式、介紹組成Android 很重要的元件-活動(Activity)的操作應用、使用者介面(UI)物件的應用、如何在Android 系統內存取資料、對話方塊(Dialog)及通知(Notification)的應用,範圍為Chapter 01章到Chapter 09(共計9章)。
二、進階篇
介紹Android的另外3個元件:Chapter 10介紹廣播接收器(BroadCast Receiver)、服務(Service),Chapter 13介紹內容提供者(Content Provider),Chapter 11其他使用者介面(UI)物件的應用,Chapter 12介紹SQLite 行動資料庫應用。
此外由於篇幅有限,最末2章以PDF格式收錄於範例光碟:Chapter 14介紹多媒體與相機的應用,Chapter 15介紹2D 繪圖及動畫的應用。
書附光碟內容
DVD/書中/本書範例檔案、Chapter 14及Chapter 15
作者序
本書的內容是採用Android 8.1.0(Android Oreo)版的SDK,平台(platform)編號API為27,開發語言為Java,開發環境為Google公司自行開發的Android Studio 3.0.1版。
以往開發Android App大抵都是採用eclipse整合開發環境(IDE),目前Google公司自行開發Android Studio,是一個專門用於開發Android App的整合開發環境(IDE),由於是專用於開發Android App,因此,Google公司可對其作最佳化,讓它能最適於開發Android App,目前該公司為了要專注於Android Studio的開發,因此,自2015年的年底已停止在其官網提供對eclipse的支援,因此,本書決定改採Android Studio,作為開發Android App整合開發環境。
Android作業系統自2008年9月推出1.0版,2017年8月推出最新版8.0(Oreo)版,更新的速度非常快,其中2.X版是專為手機系統的,3.X版是專為平板系統的,4.X版適用手機系統及平板系統,5.X版支援64 位元處理器、luetooth 4.1、及改善Android TV的支援,6.X版支援USB Type C、支援指紋辨識,7.X支援同時運執行多個App、系統更新的下載和安裝都是在幕後進行、在對話中使用更多表情符號。8.X強化與用戶互動的效能,提升用戶流暢體驗、新增Notification Dots,類似IOS 的3D Touch、新增子母畫面的介面、新增自動填入表單功能、新增智慧文件選擇器、改進電池的耗電性、提升資安環境的安全性。
以Android智慧型手機的發展來看,越多人採用Android智慧型手機,代表有越多人對以Android作業系統所開發的應用軟體的需求;再者Google公司有提供一個Google Play的軟體銷售平台,可以讓應用程式開發者所開發的應用程式軟體,有一個統一且全世界用戶皆可看到及進行購買的平台,Google公司將收取應用程式軟體售價的30%作平台維護費,開發者可獲得售價的70%,開發者只要專心去開發應用程式軟體,不用費心軟體的行銷問題;最後,以往軟體的開發往往都是軟體公司才可完成的事,但是智慧型手機軟體改變這種態勢,只要您開發的軟體夠好,是人們所需要的,您就可放在Google Play平台銷售因而獲利,這對獨立開發者是從未有的大好機會,這也就是為什麼會吸引越來越多人投入Android應用程式開發的行列,這也是讀者的機會。
本書是作者把學習的心得吸收消化後,加予整理而成,不但內容最為豐富、文字淺顯易懂,而且所有範例都經過作者在Android 8.1.0版(API 27)的平台上實際驗証過,經由這些範例深入淺出的介紹,不但能使讀者縮短學習及減少嚐試錯誤的時間,因而可快速有效學習並瞭解Android應用程式開發精隨,更能進一步有效地利用它去開發自己的應用軟體。
本次改版我有作了較大的修改,每個範例的畫面配置設計著重在如何以Android Studio的圖形化(GUI)介面設計手機畫面,畫面設計好,Android Studio即會自動產生相關的XML程式碼,因此,讀者不用去管手機畫面的XML程式,只要把注意力放在後面的Java程式,如此,可減輕讀者學習的負擔及畏懼感。
本書包含的主題含組成Android四大元件的介紹:活動(Activity)、廣播接收器(BroadCast Receiver)、服務(Service)、內容提供者(Content Provider),使用者介
面(UI)的介紹、對話方塊(Dialog)及通知(Notification)、SQLite行動資料庫應用、多媒體與相機、2D繪圖及動畫。
由於Android的內容非常多,無法在一本書內盡述,因此,本書定位為初學者的入門書籍,希望本書能扮演一把鑰匙,以幫助讀者去開啟並挖掘Android寶藏,非常適合初學者、自學者,或教師作為教材或參考書籍。
筆者在著作過程中,雖然戰戰兢兢,力求清楚完整,但難免有錯誤疏漏之處,祈請各位先進賢達惠予指正,不勝感激!
王安邦
于台北、內湖
2017年12月5日
本書的內容是採用Android 8.1.0(Android Oreo)版的SDK,平台(platform)編號API為27,開發語言為Java,開發環境為Google公司自行開發的Android Studio 3.0.1版。
以往開發Android App大抵都是採用eclipse整合開發環境(IDE),目前Google公司自行開發Android Studio,是一個專門用於開發Android App的整合開發環境(IDE),由於是專用於開發Android App,因此,Google公司可對其作最佳化,讓它能最適於開發Android App,目前該公司為了要專注於Android Studio的開發,因此,自2015年的年底已停止在其官網提供對eclipse的支援,因此,本...
目錄
Chapter01 Android簡介
11 Android的誕生及發展史
12 Android是什麼?有何特性?
13 Android系統平台架構
14 Android SDK
15 Android的優勢
本章學習重點
習題
Chapter02 準備Android開發環境
21 下載所需的工具軟體
22 安裝Android Studio及Android SDK
23 Android SDK在命令列下的操作
本章學習重點
習題
Chapter 03 初探Android App
31 建立一個Android App
32 整合式開發環境Andriod Studio的簡介
33 建立及啟動虛擬機器AVD
34 編譯、簽署、及執行一個Android App
35 刪除一個Android App
36 滙入一個Android App
37 以指定的組態執行一個Android App
38 在實體手機上執行一個Android App
39 發行您開發的Android App
310 除錯視窗組的操作
311 DDMS視窗的操作
本章學習重點
習題
Chapter 04 深入解析Android App專案
41 Android App基礎
42 eclipse ADT與Android Studio的差異
43 Android App 專案的解析
本章學習重點
習題
Chapter 05 自己撰寫Android App
51 自己撰寫Android App專案
52 撰寫MVC模式的Android App專案
53 介紹Button物件及toast類別
54 存取Resources
55 ImageButton(影像按鈕)物件
56 Dynamic Button(動態按鈕)
57 文字欄位的監控
58 Toggle Button(切換按鈕)物件
59 開發多國語言的App專案
本章學習重點
習題
Chapter 06 活動(Activity)及意圖(Intent)
61 活動
62 啟動另一活動未夾帶資料
63 啟動另一活動且夾帶資料
64 啟動另一活動並由該活動傳回資料
65 執行特定工作的活動
66 意圖篩選器(Intent Filter)
67 管理活動的生命週期(Managing the Activity Lifecycle)
本章學習重點
習題
Chapter 07 使用者介面(UI)物件的應用
71 Android應用程式的使用者介面(User Inerface,UI)
72 Radio Button物件及Radio Group物件
73 List及Adapter介面、AdapterView類別
74 Spinner物件
75 CheckBox物件及ScrollView物件
76 ImageView物件及SeekBar、RatingBar物件
77 GridView物件
78 HorizontalScrollView物件
79 ImageSwitcher物件
710 ListView物件
711 ExpandableListView物件
本章學習重點
習題
Chapter 08 存取資料
81 存取Assets
82 存取shared Preferences
83 存取Internal Storage
84 存取External Storage
本章學習重點
習題
Chapter 09 對話方塊(Dialog)及通知(Notification)
91 自訂Toast訊息
92 Notification類別
93 Thread(執行緒)及Handler(處理程序)類別
94 對話方塊的應用
95 進度對話方塊
96 自訂對話方塊
97 DatePicker物件及TimePicker物件
98 DatePickerDialog物件及TimePickerDialog物件
本章學習重點
習題
Chapter 10 BroadCast Receiver及Service元件
101 BroadCast Receiver元件
102 Service元件
本章學習重點
習題
Chapter 11 其他使用者介面(UI)物件的應用
111 Options Menu及Submenu物件(建立功能表)
112 context Menu物件(建立快顯功能表)
113 Action Bar物件(動作列)
114 Fragment物件(視窗區塊)
本章學習重點
習題
Chapter 12 SQLite行動資料庫應用
121 SQLite介紹
122 SQL指令的介紹
123 使用命令列建立資料庫
124 新增記錄
125 瀏覽記錄
126 查詢記錄
127 更新記錄(修改及刪除記錄)
本章學習重點
習題
Chapter 13 內容提供者(Content Provider)元件
131 Content Provider元件(內容提供者)
132 Content Provider元件的應用
133 存取系統內建的Content Provider
本章學習重點
習題
Chapter 14 多媒體與相機(以PDF 格式收錄於範例光碟)
141 多媒體介紹
142 播放音樂(Audio)檔案
143 播放影片(Video)檔案
144 錄製音樂(Audio)檔案
145 相機功能介紹
146 錄製影片(Video)檔案
本章學習重點
習題
Chapter 15 繪圖及動畫(以PDF 格式收錄於範例光碟)
151 以ImageView物件顯示靜態影像
152 以Canvas 類別繪圖
153 以Bitmap 類別繪圖
154 以Drawable 類別繪圖
155 動畫(Animation)
本章學習重點
習題
Chapter01 Android簡介
11 Android的誕生及發展史
12 Android是什麼?有何特性?
13 Android系統平台架構
14 Android SDK
15 Android的優勢
本章學習重點
習題
Chapter02 準備Android開發環境
21 下載所需的工具軟體
22 安裝Android Studio及Android SDK
23 Android SDK在命令列下的操作
本章學習重點
習題
Chapter 03 初探Android App
31 建立一個Android App
32 整合式開發環境Andriod Studio的簡介
33 建立及啟動虛擬機器AVD
34 編譯、簽署、及執行一個Android App
35 刪除一個Android App
36 滙入一個Andro...