Handler的总结
来源:互联网 发布:什么布吸水性最好 知乎 编辑:程序博客网 时间:2024/05/20 19:32
handler的使用情况:
1、出现网络连接交互问题是,使用handler处理。
2、在出现数据传输的时候,运用handler处理
3、在处理子线程上问题是,只能运用handler处理数据上的传输,把需要进行的业务处理问题传到主线程上处理。
...
主要进行第3点解释:
在运行android程序是,开始启动一个主线程,当有一个Runnable运行是,会相应的开启一个子线程,如果想要在子线程上进行相应的业务处理,如Toast输出操作时,会发现输出不出来,现在的问题是,你需要用handler把相应的业务处理转到主线程上进行(即你的当前运行的Activity上)
但是你会面临的是问题是,如果你生命的Runnable不是在你的Activity内部,而是单独的声明了一个类上,你现在需要把当前的handler声明为静态static的,才能解决问题。
如下代码:
再同一个Activity下实现:
public class MyTestActivity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);runnable.run();}Handler myHandler = new Handler() {@Overridepublic void handleMessage(Message msg) {// TODO Auto-generated method stubsuper.handleMessage(msg);Bundle bundle = msg.getData();//可以拿到绑定的数据,进行相应的业务处理Toast.makeText(MyTestActivity.this, "相应的业务处理", Toast.LENGTH_SHORT).show();}};Runnable runnable = new Runnable() {@Overridepublic void run() {Message message = new Message();Bundle bundle = new Bundle();//bundle 可以相应的绑定所需要传输的数据message.setData(bundle);myHandler.handleMessage(message);}};}
package org.androidpn.handler;import android.os.Bundle;import android.os.Message;public class MyRunnable implements Runnable{@Overridepublic void run() {Message message = new Message();Bundle bundle = new Bundle();//bundle 可以相应的绑定所需要传输的数据message.setData(bundle);MyTestActivity.myHandler1.handleMessage(message);}}
<pre name="code" class="java">public class MyTestActivity extends Activity {private static Context context;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);context = this;runnable.run();}public <span style="color:#ff0000;">static</span> Handler myHandler1 = new Handler() {@Overridepublic void handleMessage(Message msg) {// TODO Auto-generated method stubsuper.handleMessage(msg);Bundle bundle = msg.getData();// 可以拿到绑定的数据,进行相应的业务处理Toast.makeText(context, "相应的业务处理", Toast.LENGTH_SHORT).show();}};}
问题应该解决清楚了。
0 0
- Android的Handler总结
- Android的Handler总结
- Android的Handler总结
- Android 的 Handler 总结
- Android的Handler总结
- Android的Handler总结
- Android的Handler总结
- Android的Handler总结
- Android的Handler总结
- Android的Handler总结
- Android的Handler总结
- Android的Handler总结
- Android的Handler总结
- Android的Handler总结
- Android的Handler总结
- Android的Handler总结
- Android的Handler总结
- Android的Handler总结
- 将某一个路径下的所有java文件复制到另外一个文件夹下,并重命名为jad文件
- 实验室第十四周工作报告
- 一点自我反省
- LeetCode:Remove Element
- LINUX下通过外部SMTP发邮件
- Handler的总结
- LeetCode--Remove Element
- JAVA LinkedList和ArrayList的使用及性能分析
- 如何让ajax技术显示数据的jsp页面第一次加载就加载默认查询数据
- Android开发—bmob云服务器
- 颓废啦!
- AppDelegate中几个常用的回调调用时机
- Effective STL 第7条:如果容器中包含了通过new操作创建的指针,切记在容器对象析构前将指针delete掉
- sql server update 与case 用法