<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent">
<TextView
android:id="@+id/instruction"
android:layout_width="fill_parent"
android:layout_weight="0.8"
/>
<TextView
android:id="@+id/lend"
android:layout_width="fill_parent"
android:shadowRadius="0.3"/>
</LinearLayout>
Handler的使用 線程
runable介面實現的run 函數並沒有啟動新線程,而是在當前線程中執行。
Runnable r=new Runable(){
public void run(){
//程式執行代碼}}
Handler和使用線程的這個activity是在同一個線程當中
private Handler handler=new Handler();
Thread.currentThread().getId();
Thread.currentThread().getName();
這和標準java實現線程是不同的
Thread t=new Thread (r);
t.start();這樣線程和主線程就不同了^_^ (*^__^*) 嘻嘻……
handler.post(r);時並沒有調用線程的start方法
Bundle對象:以string為鍵是一種比較特殊的表map,是一個資料存放區工具
loop類:提供迴圈的從隊列中取得休息。
HandlerThread類就可以迴圈處理等待的線程(訊息佇列)
HandlerThread.getlooper
Handler.handlemassge
handler.obtainMessage
Message.sendToTarget(handler)
Message.obj;傳遞少量資料
Message.setData(Bundle)
Bundle b=new Bundle();
b.putInt("age",20);
b.putString("name",joy)O(∩_∩)O哈哈~ 不錯不錯
int age=b.getData("name");
使用HandlerThread的getLooper前一定要調用該類的handthread。start();
非同步訊息處理:在新線程中handlemessage
執行前修改下mainfest檔案