Day 4:五步實現你的第一個Android App
阿新 • • 發佈:2019-02-10
由於前文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+" ");
}
}
}
執行看看結果吧:
【編輯推薦】