<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文件