• About Me
  • Java基礎教學
  • 部落格聯播

[教學]Android的第一個程式

分類: android, eclipse, Java, 程式 時間:2009/6/17 瀏覽:50,037 瀏覽數 — 25 回應

裝好了Eclipse Android開發工具後再來簡介一下Android如何快速的開發

Android開發GUI程式大概分成二種方式

第一種是直接打code,第二種則是利用xml檔設定物件屬性,動作再輸入程式碼控制

現在要介紹的是如何用xml設定一個GUI畫面及設定其屬性

ps.需先安裝環境,可參考[安裝教學]使用Eclipse開發Android程式

1,設定Google Android模擬器環境

Windows –> Android ADV Manager

新增一個AVD

Name:名稱

Target:Android的版本

SDCard:填入記憶卡的容量

13


2,建立專案

File –> New

Project name : 專案名稱

Build Target : 開發的SDK版本

Application name : 程式名稱,也可以說是顯示在程式Title上的名稱

Package name : Package 名稱,需二層

Create Acivity : 需要打勾,輸入一個程式名,like L123,之後程式會以這裡為啟動點

12

這裡就可以很明顯看到剛才填的東西

其中 gen 的R.java是系統資料檔,幾乎所有的元件都在此設定(以Google Android開發工具的設定)

res 為外部資源檔,裡面可以設定文字、圖片、XML等,其中文字拿到外部設定是為了能直接支援多國語系

layout : 為畫面設定檔

values : 為設定資源檔

27

ps.以下圖片可能在src裡的內容有些不同,是在截圖的小錯誤,不影響

14

3,設計畫面

直接雙擊 res 裡的layout main.xml 則會開啟GUI畫面

左一 Layouts 為一層一層的Layout

左二 Views 為元件

下方 Properties 為屬性設定窗

右一 Outline 為元件列表

15

再來從Views 拉二個元件-Button 及 EditText 放到畫面試看看

然後可以在選擇EditText物件,在屬性窗裡找到Text 設定它的Value  來試看看

16

也可以利用設定xml來顯示值的部份

在剛才輸入Hello 右邊有一個Browser按鈕按下去

25

可以看到設定資料檔(你也可以直接雙擊 res 裡的 values的string.xml)

String : 此參數在有選定XML resource to edit 才有做用?

new .R .string : 引用此文字的名稱

17

18

可以看到剛才輸入Hello的那個Text 屬性有的變化,而畫面字也不見了,再來要真正設定字的內含值

20

雙擊 res 裡的 values的string.xml

把要的值設進去,然後再變回去main.xml看看,畫面會有變化(亂碼,不過別介意)

28

4,執行程式

Run –> Run Configurations

選擇Android Application 按右鍵選New

22

Browser要執行的程式專案名稱

23

然後跳到第二個tab Target

ADV部份選則之前設定的那一個,然後選Run

24

模擬器會啟動及顯示結果,速度會應電腦設備而有所不同,請等一下看看^^

26


Related Posts Plugin for WordPress, Blogger...

25 回應 to “[教學]Android的第一個程式”

  1. 1
    Edison

    我在模擬器顯示結果之前會有以下訊息:
    Process com.android.phone is not responding.
    有兩個選項可以選擇
    1.Force close 2.Wait
    我選擇 Force close 後可以顯示出正確結果
    但是不了解這個訊息代表甚麼? 如何解決 ?

    謝謝

    [回應]

    yku Replay:

    是指某一個程式com.android.phone可能在執行時(因為是多工)
    並未在指定時間內完成init,所以會問你是否要等待他完成(有時是當掉了)
    或是直接關閉
    模擬器很容易出現這種狀況,建議除非是自己開發的程式,否則都請選擇wait等待程式init完成

    [回應]

  2. 2
    MICHAEL

    請問在建立專案New Android Projec ->Build Target中target Name選Android1.5後面API為3所以下面的Min SDK Version才填3是嗎?還有我在3,設計畫面
    直接雙擊 res 裡的layout main.xml 卻沒有開啟GUI畫面,會是什麼原因?也就是您提到的"3設計畫面"。我的Android是2.2 謝謝

    [回應]

    yku Replay:

    Min SDK是用來指定你的SDK環境要用那個版本,越小的版本可支援的android版本越小
    不過能使用的功能可能相對也比較少,
    Min的意思是最小支援
    你可以在res\main.xml節點上按右鍵選->open with ->android layout editor 就可以了
    如果沒有的話代表你的套件並沒有安裝完成

    [回應]

    MICHAEL Replay:

    Dear yku:
    我在res\main.xml節點上按右鍵選->open with ->android layout editor 出現的不是
    視窗畫面是一串語法,如下:

    並沒有你提到的"直接雙擊 res 裡的layout main.xml 則會開啟GUI畫面"

    左一 Layouts 為一層一層的Layout

    左二 Views 為元件

    下方 Properties 為屬性設定窗

    右一 Outline 為元件列表

    這是為何呢?請大大你可以幫我解疑嗎?

    [回應]

    yku Replay:

    你可以看這二張圖
    看能不能幫助你^^

    圖一

    圖二

    [回應]

  3. 3
    LJL

    請問在3,設計畫面中,已直接雙擊 res 裡的layout main.xml 但並未開啟GUI畫面,反而出現[2010-10-05 18:39:55 - AndroidTest] ERROR: Unable to open class file D:\eclipse\workspace\AndroidTest\gen\test\mob\R.java: No such file or directory. 但實際上檔案是存在的,該如何解決 ?我的Android是1.6, 謝謝 !!

    [回應]

    yku Replay:

    我建議你把程式重新建立一次看看...
    你的R.java檔案可能有移動到
    如果不行的話把專案寄來我看看?

    [回應]

  4. 4
    LJL

    不好意思,翻了一下前面的Q&A,發現原來要切到 Layout這個worksheet就可以繼續了.謝謝 !!

    [回應]

  5. 5
    ricky

    您好請問:
    在create new Android string 裡 String 和 new .R .string 打完之後無法按ok

    [回應]

    yku Replay:

    請問您有選擇XML resource to edit裡的內容嘛?

    [回應]

    ricky Replay:

    @yku,
    不好意思,之前因該是沒有選擇XML resource to edit裡的內容,在在可以了

    [回應]

  6. 6
    james

    Hi, yku,
    照你的方式輸入,但無下方之Properties出現,我由main.xml更改'Button01'與'Hello', 執行出現 Error Loading Preference(Dos視窗),手機視窗空白,Console 出現這些字,

    [2011-01-10 09:29:39 - Android Test2] ------------------------------
    [2011-01-10 09:29:39 - Android Test2] Android Launch!
    [2011-01-10 09:29:39 - Android Test2] adb is running normally.
    [2011-01-10 09:29:39 - Android Test2] Performing test.mob.L123 activity launch
    [2011-01-10 09:29:39 - Android Test2] Automatic Target Mode: launching new emulator with compatible AVD 'Androlid'
    [2011-01-10 09:29:39 - Android Test2] Launching a new emulator with Virtual Device 'Androlid'
    [2011-01-10 09:29:44 - Android Test2] New emulator found: emulator-5554
    [2011-01-10 09:29:44 - Android Test2] Waiting for HOME ('android.process.acore') to be launched...

    請問如何解決,萬分感謝

    [回應]

    yku Replay:

    看你給我的訊息是沒有問題的!
    請問可以給我畫面嘛?

    [回應]

  7. 7
    james

    Hi, yku,

    目前測試因無下方之property選單,由main.xml更改'Button01'與'Hello',如下

    執行後無Error,一直出現"ANDROID"手機螢幕,未出現'Button01'與'Hello',等了20分鐘,請問如何解決,萬分感謝

    [回應]

    yku Replay:

    或著你可以用mail把你改過的程式碼給我看一下嘛?
    謝謝

    [回應]

  8. 8
    james

    非常謝謝您,剛剛測試已經解決了,對不起昨日附上xml程式碼, 但被擋掉了(回答框),若有問題再請教您

    [回應]

  9. 9
    Una

    Dear YKU :

    目前我有一個問題,我已裝JDK AND Eclipse ,但是當eclipse開啟時,它會跳出SDK Platform Tools component is missing!
    Please use the SDK Manager to install it.

    請問是哪邊錯呢 ?

    非常感謝!!

    [回應]

    yku Replay:

    你有了其它問題,這問題應該解決了吧?

    [回應]

  10. 10
    Jammy

    我用eclipse執行程式的時候,

    每次碰到emulator螢幕旁邊的按鈕時,

    常常會出現ㄧ個小視窗裡面寫著,

    {emulator發生錯誤,必須關閉}的字,然後叫我要{不回報}或{回報此問題},

    我想請你能不能幫我解決這個問題?

    [回應]

    yku Replay:

    可以給我下方console裡的錯誤訊息嘛?

    [回應]

    Jammy Replay:

    @yku, 下面console的訊息是正常執行的訊息,

    沒任何錯誤訊息,只是當我用滑鼠碰到上面按鈕時,

    它就說有發生錯誤必須關閉的訊息,

    我如果沒有用滑鼠碰到按鈕,它就正常執行了

    [回應]

    yku Replay:

    這樣子很難查出是什麼問題
    那你可以查看看控制台->系統管理工具->事件檢視簿
    看有沒有異常的狀況
    或著您何時有空我使用Teamviewer幫您看看

    [回應]

    Jammy Replay:

    @yku, 我去查過了,

    但好像沒有找出什麼問題ㄟ

    [回應]

    yku Replay:

    您何時有空!我連線幫你看一下好了?使用TeamViewer

留下您想說的話:

*