[1] Timer和介面 - Multithread(run()) 與 layout的連結
一般我們不能直接在multithread實作的run()的function裡面進行layout介面的改變
ex.
private TimerTask timerTask = new TimerTask() {
public void run() {
txtClock.setText("00:00"); //在這裡更改layout介面是違法的喔!
}
};
解決方法請使用Handler接收由thread裡面傳出的訊息Message
ex.
private TimerTask timerTask = new TimerTask() {
public void run() {
Message message = new Message();
message.what = 送出訊息;
handler.sendMessage(message);
}
};
然後再由Handler接收訊息
private Handler 變數 = new Handler() {
public void handlerMessage(Message msg) {
super.handlerMessage(msg);
switch(msg.what){
case 接收訊息:
程式碼
break;
}
}
};
[2] DDMS全名是Dalvik Debug Monitor Server, 要開啟此模式請在Eclipse右上角有個小圖標, 滑鼠滑過去顯示為Open Perspective, 點下去後選擇DDMS!我們可以從這裡用file explorer看看模擬器裡面的資料夾長甚麼樣, 也可進行匯出匯入以及刪除檔案的功能
[3] getSharedPreferences是"產生" SharedPreferences 物件
要放資料到SharedPreferences 物件的方法如下
SharedPreferences preferences = getSharedPreferences("preFile", MODE_PRIVATE);
Editor editor = preferences.edit();
editor.putString("NAME", "Sally");
aditor.commit();
如果以匿名方式寫如下...
SharedPreferences preferences = getSharedPreferences("preFile", MODE_PRIVATE);
preferences.edit().putString("NAME", "Sally").commit();
讀取方法如下...
SharedPreferences preferences = getSharedPreferences("preFile", MODE_PRIVATE);
String readName = preferences.getString("NAME", "unknown"); // unknown在NAME這個key裡面沒有值的時候顯示
移除方法如下...
SharedPreferences preferences = getSharedPreferences("preFile", MODE_PRIVATE);
preferences.edit().remove("NAME").commit();
如果輸入preferences.edit().clear().commit();會清除所有資料!
No comments:
Post a Comment