直接上代码

package com.example.handlerthreaddemo;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.Menu;import android.view.View;public class MainActivity extends Activity {    Test t;    Handler mh=new Handler(){        @Override        public void handleMessage(Message msg) {            String s = (String) msg.obj;            Bundle data = msg.getData();            String title = data.getString("title");            String info = data.getString("info");            System.out.println("title is " + title + ", info is"                    + info);            System.out.println("msg.obj is " + s);            System.out.println("handlerMessage() is "+Thread.currentThread().getId());        }            };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        t=new Test(mh);            }    public void OnClick(View v){        switch (v.getId()) {        case R.id.button1:            t.send();            break;        default:            break;        }            }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.activity_main, menu);        return true;    }}


分线程代码:

package com.example.handlerthreaddemo;import android.os.Bundle;import android.os.Handler;import android.os.HandlerThread;import android.os.Message;public class Test {    HandlerThread mhandlerThread1, mhandlerThread2;    Handler mhandler1;    Handler mhandler2;    public Test(Handler mh) {        mhandler2=mh;        mhandlerThread1 = new HandlerThread("update");        mhandlerThread1.setDaemon(true);        mhandlerThread1.start();        mhandler1 = new Handler(mhandlerThread1.getLooper()) {            @Override            public void handleMessage(Message msg) {                String s = (String) msg.obj;                Bundle data = msg.getData();                String title = data.getString("title");                String info = data.getString("info");                System.out.println("title is " + title + ", info is"                        + info);                System.out.println("msg.obj is " + s);                System.out.println("handlerMessage() is "+Thread.currentThread().getId());                                //----------------------------                Message msg1 = new Message();                msg1.obj = "abc";                Bundle data1 = new Bundle();                data1.putString("title", "你好吗");                data1.putString("info", "哈哈哈哈");                msg1.setData(data1);                mhandler2.sendMessage(msg1);            }        };    }    public void send() {        System.out.println("send() is "+Thread.currentThread().getId());        Message msg = new Message();        msg.obj = "abc";        Bundle data = new Bundle();        data.putString("title", "你好吗");        data.putString("info", "哈哈哈哈");        msg.setData(data);        mhandler1.sendMessage(msg);                // 将msg发送到对象,所谓的目标对象就是生成该msg对象的Handler对象    }}

xml文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".MainActivity" >    <TextView        android:id="@+id/textView1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_centerHorizontal="true"        android:layout_centerVertical="true"        android:text="@string/hello_world" />    <Button        android:id="@+id/button1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentTop="true"        android:layout_alignRight="@+id/textView1"        android:layout_marginRight="16dp"        android:layout_marginTop="44dp"        android:text="Button"        android:onClick="OnClick" /></RelativeLayout>

csdn下载路径:http://download.csdn.net/detail/wenwei19861106/4849987

更多相关文章

  1. Android 颜色代码
  2. mono android 非UI线程操作UI线程
  3. 在Eclipse 中关联android sdk 源代码
  4. 操作内存卡的常用代码
  5. android 根据SD卡中图片路径读取并显示SD中的图片——源代码
  6. android代码混淆及打包相关
  7. android 中生成XML文件的代码
  8. [置顶] [Android自定义控件]Android中如何用代码写出优美的Button

随机推荐

  1. Android安全模型之介绍
  2. Android 数据库存储之db4o
  3. [置顶] Android(安卓)轻松实现仿QQ消息下
  4. Android以最简单的方式接入支付
  5. android核心基础(1)_什么是3G
  6. Android有效获取状态栏(StatusBar)高度的
  7. Android 崩溃分析 方法论
  8. android之多线程
  9. Android安全模型之Android安全机制(进程沙
  10. 学习 Android 平台 OpenGL ES API,了解 Op