Misoo

高煥堂的第1本Android書籍

           
 
 
                                  

               序言 
  

大家幾乎都聽過愚公移山的故事,但是大家常把焦點擺在愚公和移山,而忽略了畚「箕」的角色。禮記.學記篇上有言:良弓之子,必學為箕。其意思是,欲做出優良的弓,必先好好研究其模子(即箕)。最近許多人知道Google推出轟動武林、驚動萬教的Android手機平台。但是幾乎都只關心如何在該新平台上開發應用程式,卻忽略了Android是個框架(Framework),而框架裡含有成百上千個「箕」類(註:基類是大陸對Super Class的譯詞)。基於「良弓之子,必學為箕」的精神,本書先教您正確認識框架()之原理,然後才介紹如何善用畚箕來開發出優良的Android應用程式(良弓)。本書共分為4篇:

※ 第一篇:介紹應用框架概念、原理和特性。

※ 第二篇:闡述應用框架之設計技巧。亦即,如何打造應用框架。

          (註:如果你的職務是「使用」Android框架來開發應用程式的話,可以跳過本篇,直接進入第三篇。)

※ 第三篇:說明及演練Android應用程式設計的36技。

※ 第四篇:介紹Android框架與硬體之間C組件的開發流程及工具。

筆者並不是說Android的應用程式師是愚公,而旨在說明手機軟體領域的三個主要分工角色:

1)  做畚箕者:如Andriod開發團隊。

2)  畚箕買主:如Google公司。

3)  挑畚箕者:如Android應用程式師。

本書也不把您設定為應用程式師單一角色,而是盼望能協助您開拓更寬廣的未來,無論在上述的任何角色,都能如魚得水,輝煌騰達。於此誠摯地祝福您!

                                                            高煥堂 謹識於2008.10.3

 
 
 
                                                目 錄

 

第一篇  良弓之子,必學為箕(框架)                ~禮記.學記~  

1   認識應用框架, 14

1.1          何謂應用框架

1.2          框架的起源

1.3          框架的分層

1.4          框架的「無用之用」效果

1.5          框架與OS之關係:常見的迷思

2   應用框架魅力的泉源:反向溝通, 31

2.1           前言

2.2           認識反向溝通

2.3           主控者是框架,而不是應用程式

2.4           現代應用框架:採取廣義IoC觀念

2.5           框架的重要功能:提供預設行為

 

第二篇  無之(抽象)以為用                 ~老子:無之以為用~

3   如何打造應用框架, 54

3.1  基礎手藝:抽象(無之)與衍生(有之)

3.2  打造框架:細膩的抽象步驟

3.2.1  基本步驟

3.2.2  細膩的手藝()比較資料成員

3.2.3  細膩的手藝()比較函數成員

3.2.4  細膩的手藝():將抽象類別轉為介面

  

  有之(繼承)以為利                  ~老子:有之以為利~

4   應用程式設計基礎手藝12, 82

4.1           #1:如何建立Menu選單

4.2           #2:如何呈現按鈕(Button)1

4.3           #3:如何呈現按鈕(Button)2

4.4           #4:如何進行畫面佈局(Layout)

4.5           #5:如何呈現List選單之1

4.6           #6:如何呈現List選單之2

4.7           #7:如何運用相對佈局(Relative Layout)

4.8           #8:如何運用表格佈局(Table Layout)

4.9           #9:如何動態變換佈局

4.10       #10:如何定義自己的View

4.11       #11:如何定義一組RadioButton

4.12       #12一個Activity啟動另一個Activity

5   Use Case分析與畫面佈局之規劃, 141

5.1           善用 Use Case分析

5.2           Android實踐Use Case分析之策略

6  Use Case分析的實踐(策略-A)6, 149

6.1           #13:使用MenustarActivity()實踐之

6.2           #14:使用starActivityForResult()替代startActivity()

6.3           #15:使用ListView替代Menu

6.4           #16:以ListActivity替代Activity父類別

6.5           #17:改由.xml檔案定義畫面佈局

6.6           #18使用onResume()函數

 

7   Use Case分析的實踐(策略-B)2, 179

7.1           #19一個Activity支持兩個畫面佈局

7.2           #20將兩個畫面佈局合併為一

 

8   介紹關聯式資料庫與SQLite , 193

8.1           何謂關聯式資料庫

8.2           建立一個表格(Table)

8.3           從表格中查詢資料

8.4           關聯資料模型

8.5           關聯的種類

8.6           兩個表格之互相聯結

8.7           SQL子句:加總及平均

8.8           SQL子句:分組

 

9   資料庫手藝:5, 201

9.1           #21SQLite基本操作

9.2           #22SQLite披上ContentProvider的外衣

9.3           #23細說SQLiteContentProvider

9.4           #24SQLite配合onCreate()onResume()而來去自如

9.5           #25:如何實現商業交易(Transaction)

 

10   進階手藝10, 237

10.1    #26:如何定義BroadcastReceiver子類別

10.2    #27:如何撰寫Service子類別

10.3    #28:如何使用ProgressDialog物件

10.4    #29:如何捕捉按鍵的KeyEvent

10.5    #30:善用UML Statechart嚴格控制系統的狀態

10.6    #31如何使用MapView

10.7    #32如何使用WebView

10.8    #33如何自動化操作畫面輸入

10.9    #34如何活用COR設計樣式

10.10     #35如何活用State設計樣式

 

第四篇  第三十六技:為箕是上策

11 如何撰寫框架與硬體間之C組件, 307

11.1        #36:如撰寫框架與硬體間之C組件

11.2        發展Android C組件的經濟意義