1. 程式人生 > >Day 4:五步實現你的第一個Android App

Day 4:五步實現你的第一個Android App

由於前文Day 3:Android基礎UI介面設計已經將App的介面設計好,接下來我們要做的事情,就是開發程式了。找到專案目錄裡的“src”,點開其中的“MainActivity.java”,開啟你的第一個Android App之旅吧!

第一步,簡化程式碼

最初顯示的Java原始碼,你可能不太明白。然而,這並不會影響你的開發程序,唯有懶惰才會。本著“不明白的程式碼不要胡亂貼上”的精神,我們可以對此進行簡化:

//程式所屬包名
package com.example.biglottery;

//Ctrl+Shift+O:即可匯入所需的API的包
import android.app.Activity;
import
android.os.Bundle; public class MainActivity extends Activity { //繼承 //重寫父類的方法 @Override protected void onCreate(Bundle savedInstanceState) {//第一階段程式 super.onCreate(savedInstanceState); //父類的生命週期的第一階段程式 setContentView(R.layout.activity_main); //前面的版面內容 } }

第二步,存取元件

有一丟丟程式設計基礎同學都知道,要想使用某些資料,就必須先宣告其型別。這裡,我們是要找出Button和TextView兩個元件:

private Button torich;
private TextView richnum;

接著,取出元件:

//找尋顯示元件
torich=(Button)findViewById(R.id.torich);   //翻譯成:通過Id在介面尋找xxx
richnum=(TextView)findViewById(R.id.richnum);

第三步,事件處理

什麼叫事件處理?簡而言之,App要對你對它幹下的事情有所響應。而談及處理程式,一般通過新增監聽器來完成。至於這個程式,我們用到的監聽器是OnClickListener:

//按鈕事件處理模式
torich.setOnClickListener(new
OnClickListener(){ @Override public void onClick(View arg0) { // TODO Auto-generated method stub }

第四步,功能設計

每個App都有其特定的功能,我們寫下了一個產生樂透號碼的程式:

//產生樂透號碼
private void createLottery(){
        TreeSet<Integer> set=new TreeSet<Integer>();
        while(set.size()<6){
            set.add((int)(Math.random()*49+1));
        }

        richnum.setText("");
        Iterator<Integer> iterator=set.iterator();
        while(iterator.hasNext()){  //判斷資料是否存在
            int num=iterator.next();
            richnum.append(num+" ");
}

第五步,執行程式

完整程式碼,如下:

package com.example.biglottery;

//Ctrl+Shift+O:即可匯入所需的包
import java.util.Iterator;
import java.util.TreeSet;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {
    private Button torich;
    private TextView richnum;

    @Override
    protected void onCreate(Bundle savedInstanceState) {    //生命週期的第一階段程式
        super.onCreate(savedInstanceState); //父類的生命週期的第一階段程式
        setContentView(R.layout.activity_main); //前面的版面內容

        //找尋顯示元件
        torich=(Button)findViewById(R.id.torich);
        richnum=(TextView)findViewById(R.id.richnum);

        //按鈕事件處理模式
        torich.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                createLottery();
            }

        });
    }

    //產生樂透號碼
    private void createLottery(){
        TreeSet<Integer> set=new TreeSet<Integer>();
        while(set.size()<6){
            set.add((int)(Math.random()*49+1));
        }

    richnum.setText("");//清空
        Iterator<Integer> iterator=set.iterator();
        while(iterator.hasNext()){  //判斷資料是否存在
            int num=iterator.next();
            richnum.append(num+" ");
        }
    }

}

執行看看結果吧:
這裡寫圖片描述
【編輯推薦】