程式實戰-如何由系統分析出來流程,來進行程式的撰寫過程,要提出重要的地方來說明分析。
經過需求分析、系統分析、系統設計等步驟,我們已經將系統的藍圖建構出來了,而在這個章節,我們要做的就是撰寫程式,將我們設計的系統實體化出來。不過,由於如果要將一個系統的程式碼一步一步的說明,就太多了。所以,我們在後續的章節會說明幾個重要的地方即可。依Android從程式撰寫到如何發佈到Android Market上,我們分成27個章節來說明,依下述描述所示:
預計範例為一個簡單的記事本系統,主要有一個記事列表畫面、編輯記事畫面。在下述的系統需求描述中,()中的項目編號,就是可以應用到的範圍。
在記事列表畫面(14),為主畫面。
選單為「系統設定」、「關於」。(5)
「系統設定」(12)為分類編輯、選取語系(13)、是否要訊息提醒、
設定要由前十、十五、三十分鐘等時間來提醒。
「關於」為出現系統訊息。(4)
在日期、時間到達前十、十五、三十分鐘,出現訊息提醒。(9)
列表時,長時間按住某一列時,會自動出現「編輯」、「刪除」等功能。(6)
在編輯記事畫面(14),可以選取日期(4)、時間(4)、屬於那個分類(15、16)、輸入記事內容。
新增時,新開一個Activity。(7)
編輯時,新開一個Activity,並且帶入一個key值,來查詢資料。(8)
1、2、3、11等章節為說明Android檔案結構及基礎程式邏輯。
10等章節 程式碼撰寫規範try catch。
1. 了解Android程式專案架構
2. 如何設計使用者介面
3. 了解Android基礎程式邏輯架構
4. 如何加入對話框(Dialog)
5. 如何加入選單(Menu)
6. 如何加入快捷選單(Context Menu)
7. 如何加入新的視窗(Activity)
8. 如何傳送資料到新視窗(Intent)
9. 如何使用到訊息提醒(Notification)
10. 如何設定記錄及Debug Log訊息(配合try catch機制)
11. 了解什麼是Activity的Life Cycle
12. 如何設定偏好資料(Preference)
13. 如何支援多國語系
14. 如何指定Android螢幕方向(直式、橫式顯示、自動切換)
15. 了解何謂Adapter(接口機制)
16. 如何加入下拉選單元件(Spinner)
上述範例,先以假想資料來操作。在17-19的章節。會儲存資料到資料庫。
17. 如何建立SQLite資料庫、資料表
18. 如何存取SQLite資料庫,透過SQLiteOpenHelper類別
19. 如何新增、刪除、更新資料
上述範例,可以儲存到資料庫後,在編輯記事時,增加地標欄位,可以先預設目前的地標。
在記事列表,增加可以頁標籤,可以切換成地圖模式,顯示在地圖有那些地方有記事。
20. 如何使用Google地圖的服務
21. 如何使用Map View
22. 如何加入按鍵控制(Key Event)
23. 如何取得現在位置(GPS/基地台三角定位)
24. 如何結合地圖及定位功能(My Location Overlay)
25. 如何在地圖上標上地標(Itemized Overlay)
完成上述功能,再發佈到Android Market上。
26. 如何產生應用程式的keys (使用key tools)
27. 如何發佈到Android Market
2009年12月25日 星期五
從無到有-實戰Android系統開發-系統設計(5)-記帳系統
從無到有-實戰Android系統開發-系統設計(4)-記帳系統
從無到有-實戰Android系統開發-系統設計(3)-記帳系統
從無到有-實戰Android系統開發-系統設計(2)-記帳系統
從無到有-實戰Android系統開發-系統設計(1)-記帳系統
系統設計-如何由系統流程、功能來分析資料庫的設計。
我們透過需求分析、系統分析,了解一個系統的運作流程及系統功能、介面的整理。接下來,就是要實際的進行撰寫程式的工作。
不過,在之前,我們還在進行資料庫方面的分析,因為,要儲存記帳方面的資料。就要依系統功能、介面來設計可以儲存資料的資料庫及對應的資料表及欄位。
首先,我們先來介紹一下Android的預設資料庫SQLite吧。SQLite是一種在嵌入式系統中很常見的資料庫,而且所有的資料都會儲存在一個檔案中。就跟Microsoft Access一樣,是為了方便遷移。而SQLite有簡潔的SQL存取介面、相當快的存取速度,而且僅佔用相對其他資料庫少量的記憶體空間。在Android平台上,SQLite資料庫可以用來儲存應用程式中使用到的資料,還可以透過Content Provider等方式,來讓其他應用程式也可以取得其中的資料。
在後續的章節中,我們先分析系統功能、介面來設計資料庫,畫出ER模型、資料表與資料表之間的關連,最後,會用一個簡單的例子來說明如何存取SQLite中的資料。
我們透過需求分析、系統分析,了解一個系統的運作流程及系統功能、介面的整理。接下來,就是要實際的進行撰寫程式的工作。
不過,在之前,我們還在進行資料庫方面的分析,因為,要儲存記帳方面的資料。就要依系統功能、介面來設計可以儲存資料的資料庫及對應的資料表及欄位。
首先,我們先來介紹一下Android的預設資料庫SQLite吧。SQLite是一種在嵌入式系統中很常見的資料庫,而且所有的資料都會儲存在一個檔案中。就跟Microsoft Access一樣,是為了方便遷移。而SQLite有簡潔的SQL存取介面、相當快的存取速度,而且僅佔用相對其他資料庫少量的記憶體空間。在Android平台上,SQLite資料庫可以用來儲存應用程式中使用到的資料,還可以透過Content Provider等方式,來讓其他應用程式也可以取得其中的資料。
在後續的章節中,我們先分析系統功能、介面來設計資料庫,畫出ER模型、資料表與資料表之間的關連,最後,會用一個簡單的例子來說明如何存取SQLite中的資料。
2009年12月24日 星期四
從無到有-實戰Android系統開發-系統分析(10)
從無到有-實戰Android系統開發-系統分析(9)
從無到有-實戰Android系統開發-系統分析(8)
從無到有-實戰Android系統開發-系統分析(7)
2009年12月22日 星期二
深入淺出Android程式設計(29)-如何將Eclipse中文化及方便的小工具DroidDraw
在這個最後的章節,我們要介紹如何將Eclipse中文化及方便的小工具DroidDraw的安裝及用法。
如何將Eclipse中文化,首先,先啟動Eclipse,接下來在選取選單「Help」中的「Software Updates....」選項。
在點選「Software Updates....」選項後,就會出現Software Updates的視窗,切換頁標籤至「Available Software」,再點選「Add Site...」按鈕。就會出現要新增外掛的網址輸入視窗。
在新增外掛的網址輸入視窗,在Location欄位輸入「http://download.eclipse.org/technology/babel/update-site/ganymede
」,再按下「OK」按鈕。就會回到原來的Software Updates視窗。
在Software Updates視窗,就會多出剛才輸入的網址而產生出來的選項,點選開來,再勾選「Babel Language Packs in traditional Chinese」選項,再按下「Install」按鈕,進行安裝動作,如圖75、圖76所示。再重新開啟Eclipse,就變成中文化的介面,如圖77所示。
圖75
圖76
圖77
而方便的小工具DroidDraw,是一個可以讓我們在設計Android介面的好工具,在Eclipse的開發介面沒有提供類似其他開發工具那樣,可以直接拖曳物件的功能,所以,有人就用Java寫了類似的工具,幫助Android的開發人員可以比較直覺的方式來拖曳物件,完成Android的介面。
首先,在連到DroidDraw的網頁(參考網址如下:http://www.droiddraw.org/ ),就會直接出現可以編輯的畫面,如圖78所示。在編輯畫面,可以先設定畫面的層次及螢幕的尺寸。可以選取的選項,如下所述:
Root Layout(畫面層次):Absolute Layout、Linear Layout、Relative Layout、Scroll View、Table Layout
Screen Size(螢幕尺寸):QVGA Land scape、QVGA Portrait、HVGA Land scape、HVGA Portrait
圖78
可以拖曳物件到編輯畫面上,再選取要編輯的物件,在右上方的視窗,切換到Properties(屬性頁籤)來設定此物件的屬性。編輯好介面後,在右下方,按下「Generate」按鈕來產生對應的XML內容,如圖76所示。
下一步就可以將這個XML內容選取後,複製到Eclipse的介面XML檔案。
圖79
總算結束了鐵人賽的連續發文,謝謝大家的支持。有關Android的介紹不是結束,而是開始。
我會再整理一些有關Android程式開發方面的文章,再分享給大家。預計會用一些程式範例,來說明如何驅動事件、每一個控制項的運作方式、資料庫SQLite的應用、如何使用Map View控制項等進階主題。
如果大家在it邦看不到圖片的話,大家也可以來看我的部落格:http://estyleservice.blogspot.com/,我會陸續更新之前我寫的文章及後面的進階主題。
如何將Eclipse中文化,首先,先啟動Eclipse,接下來在選取選單「Help」中的「Software Updates....」選項。
在點選「Software Updates....」選項後,就會出現Software Updates的視窗,切換頁標籤至「Available Software」,再點選「Add Site...」按鈕。就會出現要新增外掛的網址輸入視窗。
在新增外掛的網址輸入視窗,在Location欄位輸入「http://download.eclipse.org/technology/babel/update-site/ganymede
」,再按下「OK」按鈕。就會回到原來的Software Updates視窗。
在Software Updates視窗,就會多出剛才輸入的網址而產生出來的選項,點選開來,再勾選「Babel Language Packs in traditional Chinese」選項,再按下「Install」按鈕,進行安裝動作,如圖75、圖76所示。再重新開啟Eclipse,就變成中文化的介面,如圖77所示。
圖75
圖76
圖77
而方便的小工具DroidDraw,是一個可以讓我們在設計Android介面的好工具,在Eclipse的開發介面沒有提供類似其他開發工具那樣,可以直接拖曳物件的功能,所以,有人就用Java寫了類似的工具,幫助Android的開發人員可以比較直覺的方式來拖曳物件,完成Android的介面。
首先,在連到DroidDraw的網頁(參考網址如下:http://www.droiddraw.org/ ),就會直接出現可以編輯的畫面,如圖78所示。在編輯畫面,可以先設定畫面的層次及螢幕的尺寸。可以選取的選項,如下所述:
Root Layout(畫面層次):Absolute Layout、Linear Layout、Relative Layout、Scroll View、Table Layout
Screen Size(螢幕尺寸):QVGA Land scape、QVGA Portrait、HVGA Land scape、HVGA Portrait
圖78
可以拖曳物件到編輯畫面上,再選取要編輯的物件,在右上方的視窗,切換到Properties(屬性頁籤)來設定此物件的屬性。編輯好介面後,在右下方,按下「Generate」按鈕來產生對應的XML內容,如圖76所示。
下一步就可以將這個XML內容選取後,複製到Eclipse的介面XML檔案。
圖79
總算結束了鐵人賽的連續發文,謝謝大家的支持。有關Android的介紹不是結束,而是開始。
我會再整理一些有關Android程式開發方面的文章,再分享給大家。預計會用一些程式範例,來說明如何驅動事件、每一個控制項的運作方式、資料庫SQLite的應用、如何使用Map View控制項等進階主題。
如果大家在it邦看不到圖片的話,大家也可以來看我的部落格:http://estyleservice.blogspot.com/,我會陸續更新之前我寫的文章及後面的進階主題。
深入淺出Android程式設計(28)-如何用非Eclipse平台來建立專案,以「Hello,Android!」專案說明
在這個章節要來介紹有關如何用非Eclipse平台來建立專案,以「Hello,Android!」專案說明。
如果不想使用Eclipse,而想用其它IDE開發介面,或者像傳統的C那樣,使用文字編輯器與命令列工具,那麼ADT外掛套件就無法協助來處理這些需求,不過,不用擔心,如果開發人員不會因為不使用Eclipse ADT外掛套件而失去之前章節,所提到的那些功能。
ADT外掛套件只是將一系列有關Android SDK的工具加以包裝(這些工具,例如:模擬器、aapt、adb、ddms)並且整合在Eclipse平台上,因此,是有可能用其它工具來包裝這些工具,如「Ant」。
Android SDK會建立的樣版檔案包含了一個可以跟「Ant」相容的build.xml檔案與檔案名稱為「activityCreator.py」的python檔案(在Windows平台為「activityCreator.bat」檔案名稱),可以為專案建立所有的基本目錄與檔案,讓開發人員可以從命令列建立專案,或者選擇整合到其它的IDE開發工具中。
例如,可以在Dos視窗,用以下命令建立與Eclipse建立類似的專案架構。請參考之前的章節-「如何在其他IDE或工具開發Android應用程式(上)」當中的描述。
activityCreator.py --out HelloAndroid com.google.android.hello.HelloAndroid
下一步,為了建立出專案,開發人員得接著執行「ant」相關命令,然後會在專案路徑底下的bin目錄下會產生一個HelloAndroid.apk檔案,而.apk檔案是一個Android對應用程式的封裝檔案,最後再使用「adb」工具就可以安裝到模擬器來進行測試。
上述這些運作方式及工具的操作,請參考之前的章節,由深入淺出Android程式設計(15)的章節到深入淺出Android程式設計(21)的章節,都有提到這方面的運作。
如果不想使用Eclipse,而想用其它IDE開發介面,或者像傳統的C那樣,使用文字編輯器與命令列工具,那麼ADT外掛套件就無法協助來處理這些需求,不過,不用擔心,如果開發人員不會因為不使用Eclipse ADT外掛套件而失去之前章節,所提到的那些功能。
ADT外掛套件只是將一系列有關Android SDK的工具加以包裝(這些工具,例如:模擬器、aapt、adb、ddms)並且整合在Eclipse平台上,因此,是有可能用其它工具來包裝這些工具,如「Ant」。
Android SDK會建立的樣版檔案包含了一個可以跟「Ant」相容的build.xml檔案與檔案名稱為「activityCreator.py」的python檔案(在Windows平台為「activityCreator.bat」檔案名稱),可以為專案建立所有的基本目錄與檔案,讓開發人員可以從命令列建立專案,或者選擇整合到其它的IDE開發工具中。
例如,可以在Dos視窗,用以下命令建立與Eclipse建立類似的專案架構。請參考之前的章節-「如何在其他IDE或工具開發Android應用程式(上)」當中的描述。
activityCreator.py --out HelloAndroid com.google.android.hello.HelloAndroid
下一步,為了建立出專案,開發人員得接著執行「ant」相關命令,然後會在專案路徑底下的bin目錄下會產生一個HelloAndroid.apk檔案,而.apk檔案是一個Android對應用程式的封裝檔案,最後再使用「adb」工具就可以安裝到模擬器來進行測試。
上述這些運作方式及工具的操作,請參考之前的章節,由深入淺出Android程式設計(15)的章節到深入淺出Android程式設計(21)的章節,都有提到這方面的運作。
深入淺出Android程式設計(27)-如何進行專案除錯,以「Hello,Android!」專案說明
在Eclipse的ADT外掛與Eclipse的除錯整合的非常好,為了要測試這樣的機制,讓我們在程式碼裡插入一個bug,修改一下專案的程式碼如下所述:
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
Object o = null;
o.toString();
setContentView(R.layout.main);
}
}
當這樣的變動,加入「Object o = null;」及「o.toString();」等錯誤的程式碼,就會出現「Null Pointer Exception」的錯誤資訊,再一次執行專案時,就會顯示有錯誤訊息,如圖73所示。
圖73
如果要找出那裡發生錯誤,可以在「Object o = null;」這一行程式碼建立中斷點,使用的方式就是在Eclipse行號左邊區域建立中斷點,如圖74所示,然後選取選單「Run」中的選取「Debug」選項,來載入最後程式進入除錯模式。程式會重啟模擬器,但是,執行到中斷點時,程式會中斷,然後就可以在Eclipse的除錯模式下,一步一步的執行程式碼,如同除錯其它程式一樣。
圖74
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
Object o = null;
o.toString();
setContentView(R.layout.main);
}
}
當這樣的變動,加入「Object o = null;」及「o.toString();」等錯誤的程式碼,就會出現「Null Pointer Exception」的錯誤資訊,再一次執行專案時,就會顯示有錯誤訊息,如圖73所示。
圖73
如果要找出那裡發生錯誤,可以在「Object o = null;」這一行程式碼建立中斷點,使用的方式就是在Eclipse行號左邊區域建立中斷點,如圖74所示,然後選取選單「Run」中的選取「Debug」選項,來載入最後程式進入除錯模式。程式會重啟模擬器,但是,執行到中斷點時,程式會中斷,然後就可以在Eclipse的除錯模式下,一步一步的執行程式碼,如同除錯其它程式一樣。
圖74
2009年12月13日 星期日
深入淺出Android程式設計(26)-如何將介面升級到以XML方式來排版,以「Hello,Android!」專案說明
在這個章節要來介紹有關如何將介面升級到以XML方式來排版,以「Hello,Android!」專案說明。
如何將介面升級到以XML方式來排板
在上一個章節,我們所介紹的「Hello,Android!」專案是用開發人員稱之為程式化開發的介面,也就是說直接用程式碼來建構使用者介面,但是,這樣的建構介面的方式會發生許多問題,而小小的排版變動可能導致大部分的程式變更,最大的問題是容易忘記的是如何把正確的介面顯示在螢幕上,這可能導致發生錯誤並浪費時間除錯。
這也是為什麼Android SDK會提供另一種介面的建立模式,使用XML排版檔案來記錄介面的資料,最簡單了解的方法就是看下述的範例,下面的XML排版檔案內容就是跟剛編譯的程式同樣的的排版建構:
在上述的XML檔案中的標籤(Tag)可以自由使用,結構也很簡單,標籤(Tag)的名稱就是View物件的類別名稱,在這個範例,標籤(Tag)就只有一個「TextView」,開發人類可以使用任何繼承自View物件的類別做為標籤(Tag)名稱,包含一些開發人員所做的類別,這樣的結構比較容易快速建立界面,比起開發人員的程式碼要簡單的多了,這樣的模式受到Web開發的啟示,將參數從程式邏輯抽離只用來填入與取得資料。
在這個XML使用了一些屬性,大致說明如下:
xmlns:android
名稱空間宣告,讓Android工具參考Android名稱空間的一般屬性,大部分的XML排版檔必須使用這個名稱空間。
android:layout_width
這個屬性宣告View要佔螢幕多少空間,在這個例子,唯一的View要佔用全部的螢幕,所以使用「fill_parent」這個參數,就是填滿的意思。
android:layout_height
就像android:layout_width的屬性一樣,除了它是指螢幕可用的高度。
android:text
設定TextView包含的文字屬性,這上述的範例中,就是設定成「Hello,Android!」
那麼這個XML檔案會放在那裡呢?目前的設定是放到專案目錄下的res目錄底下的layout目錄,預設的檔案名稱是main.xml,如圖72所示。
圖72
下一步,打開Package Explorer下原始碼目錄內的R.java檔案,看起來的內容如下所述:
public final class R {
public static final class attr {
};
public static final class drawable {
public static final int icon=0x7f020000;
};
public static final class layout {
public static final int main=0x7f030000;
};
public static final class string {
public static final int app_name=0x7f040000;
};
};
Android專案的R.java檔用來索引定義在這個檔案的內裡使用的資源,開發人員可以在程式碼內使用這個類別來做為方便參考的索引記錄。
參考資料:
Android SDK Document http://code.google.com/android/documentation.html
如何將介面升級到以XML方式來排板
在上一個章節,我們所介紹的「Hello,Android!」專案是用開發人員稱之為程式化開發的介面,也就是說直接用程式碼來建構使用者介面,但是,這樣的建構介面的方式會發生許多問題,而小小的排版變動可能導致大部分的程式變更,最大的問題是容易忘記的是如何把正確的介面顯示在螢幕上,這可能導致發生錯誤並浪費時間除錯。
這也是為什麼Android SDK會提供另一種介面的建立模式,使用XML排版檔案來記錄介面的資料,最簡單了解的方法就是看下述的範例,下面的XML排版檔案內容就是跟剛編譯的程式同樣的的排版建構:
在上述的XML檔案中的標籤(Tag)可以自由使用,結構也很簡單,標籤(Tag)的名稱就是View物件的類別名稱,在這個範例,標籤(Tag)就只有一個「TextView」,開發人類可以使用任何繼承自View物件的類別做為標籤(Tag)名稱,包含一些開發人員所做的類別,這樣的結構比較容易快速建立界面,比起開發人員的程式碼要簡單的多了,這樣的模式受到Web開發的啟示,將參數從程式邏輯抽離只用來填入與取得資料。
在這個XML使用了一些屬性,大致說明如下:
xmlns:android
名稱空間宣告,讓Android工具參考Android名稱空間的一般屬性,大部分的XML排版檔必須使用這個名稱空間。
android:layout_width
這個屬性宣告View要佔螢幕多少空間,在這個例子,唯一的View要佔用全部的螢幕,所以使用「fill_parent」這個參數,就是填滿的意思。
android:layout_height
就像android:layout_width的屬性一樣,除了它是指螢幕可用的高度。
android:text
設定TextView包含的文字屬性,這上述的範例中,就是設定成「Hello,Android!」
那麼這個XML檔案會放在那裡呢?目前的設定是放到專案目錄下的res目錄底下的layout目錄,預設的檔案名稱是main.xml,如圖72所示。
圖72
下一步,打開Package Explorer下原始碼目錄內的R.java檔案,看起來的內容如下所述:
public final class R {
public static final class attr {
};
public static final class drawable {
public static final int icon=0x7f020000;
};
public static final class layout {
public static final int main=0x7f030000;
};
public static final class string {
public static final int app_name=0x7f040000;
};
};
Android專案的R.java檔用來索引定義在這個檔案的內裡使用的資源,開發人員可以在程式碼內使用這個類別來做為方便參考的索引記錄。
參考資料:
Android SDK Document http://code.google.com/android/documentation.html
深入淺出Android程式設計(25)-執行程式碼,以「Hello,Android!」專案說明
如何執行程式碼
在Eclipse使用ADT外掛套件,就很容易就可以執行專案程式,進入Eclipse平台,選取選單「Run」中的「Run Configurations…」選項,如圖65所示。
圖65
進入Run Configurations視窗,選取左邊的專案型態為「Android Application」的項目,按下滑鼠右鍵,選取「New」選項,建立新的配置設定,預設會依目前的專案,自動建立所屬的配置設定。如圖66所示
圖66
新的配置設定視窗,如圖67所示。在「Name」欄位上輸入「HelloAndroid」配置名稱欄位值,切換到「Android」頁標籤,點選「Browse...」來選擇所屬的專案,而ADT外掛套件會掃瞄專案內的每一個Activity的子類別加到Activity標籤下的下拉項目,因為目前Hello,Android專案只有一個Activity,所預設值就直接選取即可,其他項目使用預設值即可。如圖68所示。
圖67
圖68
接下來就是要執行程式了,進入Eclipse平台,選取選單「Run」中的「Run」選項,來執行應用程式。如圖69所示。
圖69
下一步在執行那一種應用程式的視窗,選取「Android Application」,就會啟動Android的模擬器,來執行應用程式,如圖70所示。完成執行後,就會在模擬器畫面上出現結果。如圖71所示。
圖70
圖71
上述就是執行的步驟,在下一個章節就是介紹如何安排介面上設計及其他檔案的作用。
參考資料:
Android SDK Document http://code.google.com/android/documentation.html
在Eclipse使用ADT外掛套件,就很容易就可以執行專案程式,進入Eclipse平台,選取選單「Run」中的「Run Configurations…」選項,如圖65所示。
圖65
進入Run Configurations視窗,選取左邊的專案型態為「Android Application」的項目,按下滑鼠右鍵,選取「New」選項,建立新的配置設定,預設會依目前的專案,自動建立所屬的配置設定。如圖66所示
圖66
新的配置設定視窗,如圖67所示。在「Name」欄位上輸入「HelloAndroid」配置名稱欄位值,切換到「Android」頁標籤,點選「Browse...」來選擇所屬的專案,而ADT外掛套件會掃瞄專案內的每一個Activity的子類別加到Activity標籤下的下拉項目,因為目前Hello,Android專案只有一個Activity,所預設值就直接選取即可,其他項目使用預設值即可。如圖68所示。
圖67
圖68
接下來就是要執行程式了,進入Eclipse平台,選取選單「Run」中的「Run」選項,來執行應用程式。如圖69所示。
圖69
下一步在執行那一種應用程式的視窗,選取「Android Application」,就會啟動Android的模擬器,來執行應用程式,如圖70所示。完成執行後,就會在模擬器畫面上出現結果。如圖71所示。
圖70
圖71
上述就是執行的步驟,在下一個章節就是介紹如何安排介面上設計及其他檔案的作用。
參考資料:
Android SDK Document http://code.google.com/android/documentation.html
2009年12月8日 星期二
從無到有-實戰Android系統開發-系統分析(6)
訂閱:
文章 (Atom)