2011年10月15日 星期六

Android筆記

UBUNTU1004下使用ECLIPSE,撰寫Android,Java安裝使用Synaptic安裝OpenJdk,其他設定google找一下

1.Ctrl+Shift+o自動import
2.連點res->layout->gt;main.xml啟動Layout(UI設計)
3.事件處理:Layout中選取元件->Properties->On click填入處理method name(如下圖右側)














4.Java程式主體
連點SRC下的Activity(下圖左側),利用thread,來改變textview的text,顯示當前時間,按下按鈕1
送出c_Handler.sendMessage(m),啟動時間,按下另一按鈕則不送出c_Handler.sendMessage(m),時間停止












package t.u;

import java.util.Calendar;
public class Clock2Activity extends Activity {
private TextView mTextView;
public Calendar c_Calendar; //日曆
public int c_Minutes; //分
public int c_Hour; //時
public int c_Second; //秒
private boolean run_clock;
public Handler c_Handler;
private Thread c_Thread;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

mTextView=(TextView)findViewById(R.id.textView1);
mTextView.setTextSize(30);

//hander指派工作
c_Handler =new Handler(){
public void handleMessage(Message msg){
long time=System.currentTimeMillis();
final Calendar c_Calendar = Calendar.getInstance();
c_Calendar.setTimeInMillis(time);
c_Hour=c_Calendar.get(Calendar.HOUR);
c_Minutes=c_Calendar.get(Calendar.MINUTE);
c_Second=c_Calendar.get(Calendar.SECOND);
mTextView.setText(c_Hour+":"+c_Minutes+":"+c_Second);
}
};

run_clock=false;
//產執行續物件
c_Thread = new clock_Thread();
//啟動執行續
c_Thread.start();
}
//button事件,啟動時間
public void clock(View cv) {
run_clock=true;
}//start_clock
//button事件,停止時間
public void clock_stop(View cv) {
run_clock=false;
}//stop_clock
//執行續
class clock_Thread extends Thread{
public void run(){
super.run();
try{
do{
Thread.sleep(1000);

Message m=new Message();
// 將Message物件送入MessageQueue裡
if(run_clock){
c_Handler.sendMessage(m);
}
}while(true);

}catch (Exception e) {
// TODO: handle exception
}//cttch
}//run
}//thread
}


5.main.xml

使用ECLIPSE來設計,這部份都可自動加上,上面3.事件處理有填入clock,下面xml程式會自動加入,就不用自己加

















6平板模擬器上的結果





















7.實際裝到eeepad

在project名字目錄下bin目錄,ECLIPSE已經打包好apk,只要拿到平板安裝,實際執行如下圖

沒有留言: