package com.droidstouc.handler.test;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
/**
* Android Handler 异步消息处理机制
* @author Administrator
*
*/
public class HandlerTestActivity extends Activity {
private static final String TAG="HandlerTestActivity";
private Button btnTest;
private TextView txtTest;
private myThread myThread;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
txtTest = (TextView) this.findViewById(R.id.txtTest);
btnTest= (Button) this.findViewById(R.id.btnTest);
//设置 OnClick 监听器
btnTest.setOnClickListener(new BtnTestOnClickListener());
myThread = new myThread(handler);
// myThread
new Thread(myThread).start();
}
//点击测试按钮后调用 BtnTestOnClickListener 的 OnClick 方法
class BtnTestOnClickListener implements OnClickListener
{
public void onClick(View v)
{
/* //把线程对象放到handler的队列中,线程会马上启动执行
handler.post(thread);*/
//启动线程
thread.start();
try
{
// 为了看到异步效果,我让当前线程停止了2秒钟
Thread.sleep(2000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
Log.i(TAG, "OnClick........");
System.out.println("OnClick........");
}
}
// 定义一个Handler,用来异步处理数据
Handler handler = new Handler()
{
//相当于jquery $.ajax方法中的 Success:function(){}
public void handleMessage(android.os.Message msg)
{
// 对线程中 handler 返回的结果进行处理
Log.i(TAG, "结果返回,正在处理");
System.out.println("结果返回,正在处理");
if(msg.what ==1)
{
txtTest.setText("异步处理结果 === Handler 1");
}else if (msg.what == 2) {
txtTest.setText("异步处理结果 === Handler 2");
}
};
};
Thread thread = new Thread()
{
public void run()
{
Log.i(TAG, "start Thread");
System.out.println("start Thread");
//发送一个空消息到消息队列里面
//此方法相当于后台往前台Ajax响应结果,在Java当中,相当于一个Action方法里面out.println(1);
handler.sendEmptyMessage(1);
};
};
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
handlerTest.zip (38个子文件)
handlerTest
.project 847B
project.properties 562B
proguard.cfg 1KB
src
com
droidstouc
handler
test
HandlerTestActivity.java 3KB
myThread.java 1KB
AndroidManifest.xml 658B
res
drawable-ldpi
icon.png 2KB
drawable-hdpi
icon.png 4KB
drawable-mdpi
icon.png 3KB
layout
main.xml 570B
values
strings.xml 183B
.settings
org.eclipse.jdt.core.prefs 208B
org.eclipse.core.resources.prefs 88B
assets
gen
com
droidstouc
handler
test
BuildConfig.java 169B
R.java 798B
.classpath 475B
bin
resources.ap_ 11KB
classes
com
droidstouc
handler
test
R$layout.class 421B
HandlerTestActivity$BtnTestOnClickListener.class 1KB
BuildConfig.class 363B
R$drawable.class 427B
R$attr.class 367B
HandlerTestActivity$2.class 1KB
HandlerTestActivity.class 2KB
R$id.class 443B
R.class 594B
R$string.class 454B
HandlerTestActivity$1.class 1KB
myThread.class 1KB
myThread$1.class 953B
AndroidManifest.xml 658B
dexedLibs
annotations-6f54b61d818351c3f51d37287e49a45e.jar 943B
jarlist.cache 120B
res
crunch
drawable-ldpi
icon.png 2KB
drawable-hdpi
icon.png 4KB
drawable-mdpi
icon.png 2KB
classes.dex 7KB
handlerTest.apk 16KB
共 38 条
- 1
资源评论
- dhajshdj2014-09-02还可以,但是没用上
pageTan
- 粉丝: 31
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 什么是移动应用开发-关于移动应用开发的相关介绍
- 第二组汇报 PPT.pptx
- 什么是大数据开发-相关介绍-关于大数据开发的相关介绍
- 什么是软件测试-相关介绍-关于软件测试的相关介绍
- 前端开发-什么是前端开发-关于前端开发的一些相关介绍
- Sora AI-关于文生视频的使用场景说明
- suno AI文生视频的相关教程和介绍使用
- 什么是后端开发-关于后端开发的一些小介绍分享
- Jurassic Pack Vol. II Dinosaurs 侏罗纪包卷恐龙二号Unity游戏模型资源unitypackage
- Jurassic Pack Vol. III Dinosaurs 侏罗纪包卷恐龙三号Unity游戏模型资源unitypackag
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功