Thread AsyncTask(异步任务)、Handler 更新UI
来源:互联网 发布:建筑软件有哪些 编辑:程序博客网 时间:2024/05/17 09:30
为什么使用线程更新?
在Android开发过程中,如果,在主线程中使用耗时操作,Adnroid会时程序进入无响应状态,故此,耗时操作,必须通过子线程实现。
Therad 实现子线程刷新
- 建立一个类,继承Therad实现子线程刷新
class Mythread extends Thread{ public void run(){ String str="我是通过Handler,被发送的数据"; //被更新的数据 // 创建Message 对象, Message msg=new Message(); msg.obj=str; //发送消息 handler.sendMessage(msg); }}
2.建立Handler 进行循环接受子线程传递过来的值,并且更新UI
//判断当前函数是否被主线程调用的方式Looper.getMainLooper() //当前主线程运行的LooperLooper.myLooper(); Looper 循环接受消息的boolean result=Looper.getMainLooper()==Looper.myLooper();//Handler 接受消息Handler handler=new Handler(){ //处理消息(被主线程执行) public void handlerMessage(Message msg){ //接受通过Message 和Handler 传递过来的值 String str=(String)msg.obj; }}
AsyncTask 异步任务,优化后的Handler,它封装了Handler的方法
简介:AsyncTask 是产生一个线程池,当你使用完一个线程后,它回到线程池
- 继承AsyncTask
class MyAsycTask extends AsyncTask { /** * 被主线程执行,在doInBackground() 函数之前执行 */ @Override protected void onPreExecute() { super.onPreExecute(); //可以用来,执行一些,提示 } /** * 被子线程执行,用来处理耗时操作 */ @Override protected Object doInBackground(Object[] params) { //推送数据,类型Object 支持任何数据类型 publishProgress(); return null; } /** * 推送的数据,是被推送到,本方法中 */ @Override protected void onProgressUpdate(Object[] values) { //super.onProgressUpdate(values); } /** * 被主线程执行,在doInBackground() 函数之后执行 */ @Override protected void onPostExecute(Object o) { //super.onPostExecute(o); //更新UI } }}
MyAsycTask myAsycTask=new MyAsycTask();
myAsycTask.execute(); 调用
阅读全文
0 0
- Thread AsyncTask(异步任务)、Handler 更新UI
- Android 异步更新UI----handler+thread
- Android 异步更新UI----handler+thread
- Android 异步更新UI----handler+thread
- Android 异步更新UI----handler+thread
- Android异步加载数据更新UI(Thread+Handler)
- Thread+Handler异步执行耗时操作更新UI线程界面
- handler异步更新UI
- Android AsyncTask(异步耗时 更新UI)
- Thread异步更新UI
- Android 异步更新UI----AsyncTask
- Android 异步更新UI----AsyncTask
- Android 异步更新UI----AsyncTask
- Android的异步(Thread、Handler、AsyncTask)
- Android的异步(Thread、Handler、AsyncTask)
- Android的异步(Thread、Handler、AsyncTask)
- Android异步更新UI的方式之使用AsyncTask异步任务
- Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面
- UnityShader入门精要学习笔记(十三):光照衰减与Unity阴影
- 根据数据库自动生成java代码
- HTML中的列表标签和表单标签
- android 自定义布局之侧拉布局
- django 升级到1.13之后以前的项目报错
- Thread AsyncTask(异步任务)、Handler 更新UI
- form.js
- 170708 How to read csv file with pandas and select specified rows
- 170708 逆向-南邮CTF逆向(maze)
- 特征工程(三) 数据标准化和归一化
- messager.js
- jzoj 1278_排队_线段树
- bzoj1231: [Usaco2008 Nov]mixup2 混乱的奶牛
- validatebox.js