到官網下載SDK安裝平台
http://developer.android.com/
下載完打開,到Setting裡勾選「Force https://...」選項
然後到Available Packages裡按Refresh後,勾選最新版本的Android SDK,Google APIs跟Documents下載
與Eclipse整合
新增網址「https://dl-ssl.google.com/android/eclipse/」然後安裝。
Eclipse再啟動之後[Window]-[Preferences],選[Android],[SDK Location]設定為最開始解壓的SDK安裝平台資料夾下。
Android介紹
Android的應用程式是在Java的VM上動作,但是不是平常用的Java VM,而是一個叫做DalvikVM的低記憶體環境VM。
DalvikVm並沒有支援所有Java標準的Library。
建立一個應用程式的固定步驟
- 編譯Java原始碼為.class檔
- Java類別檔、(.class、.jar)再編譯成可執行檔.dex
- 包裝後產生應用程式檔.apk
流程大概就是,使用生成的apk檔來安裝應用程式,被展開的.dex檔來執行應用程式。
Activity
首先最基本的要素「Activity」,通常是「1 Activity = 1 畫面」,Layout和使用者的事件、Activity的狀況回應的紀錄。
一個Activity的Life Cycle通常是
Activity開始 -> OnCreate() -> OnStart() -> OnResume() -> Activity啟動 -> onPause() -> OnStop() -> onDestroy -> Activity終了
Intent
Intent是擔當Activity和Application間的互動訊息角色,藉由intent的傳送來遷移Application的畫面或是呼叫其他的Applicaiton。
Intent分成「明示」、「暗示」兩種,明示有指定對象,暗示則沒有,要怎樣處理是由Intent filter來決定。
作成範例「名片管理Applicaiton」
先規劃幾項功能
- 顯示名片內容
- 名片的新增和更新
- 從名片的內容顯示地圖
- 利用名片的內容使用外部電話或是郵件的Applicaiton
作成專案
首先先作成專案。因為要使用Google Map,所以在Google APIs的地方打勾。
理解專案的構造
AndroidManifest.xml:定義Application的構造的最重要檔案,以後要加入Activity的話都要在這裡定義。
src資料夾: source code資料夾
res資料夾: resource資料夾,放圖片、Layout等等。
res的子資料夾
res/anim/ : Frame Animation和Tweened Animation用的xml檔案
res/drawable/ : 圖片檔案,.png,.9.png,.jpg,
※.9png是可resize的png檔,從SDK裡的tool\draw9patch.bat可以啟動編輯工具
在預設下會建立出drawable-hdpi、drawable-ldpi、drawable-mdpi的預設資料夾,這是根據解析度分類。
更多請參考:http://developer.android.com/guide/topics/resources/resources-i18n.html
res/layout : layout用xml檔
res/menu : menu用的xml檔
res/values : source檔利用的xml值檔案,例如可以用來做國際化、創造value-en、value-zh-tw資料夾
res/xml : 任意的xml檔案
res/raw : 任意的檔案,音樂資料等、沒編譯的檔案等
assets資料夾: 什麼檔案都能放,但是跟res/raw差不多,所以沒啥在用
gen資料夾:自動生成index檔案的資料夾,打開R.java看就知道。
Andorid的Layout作成法,
「用XML定義」以及「從程式下手」這兩種方法。XML定義的話比較容易修改閱讀,所以通常都用XML,如果是動態的Layout時,則只能在程式裡面下手了。
Layout的作成就使用「Android Developer Tools」裡有的編輯器,滑鼠右鍵方才作成的專案的「res/layout/main.xml」,「Open with」-「Android Layout Editor」來打開編輯器。
接下來介紹View的配置Layout。
LinearLayout,將任意的View縱\橫的方向來配置。就好像網頁單純的幾欄式。不過是有橫的而已。
TableLayout, 跟HTML裡的Table一樣的Layout。
FrameLayout, 就一個框一個框的表示,在子畫面的時候使用。
No comments:
Post a Comment