异步操作需要的实现的方法
来源:互联网 发布:淘宝翡翠a货是真的吗 编辑:程序博客网 时间:2024/05/17 07:50
package org.marsdroid.aysnc02;
import android.os.AsyncTask;
import android.widget.ProgressBar;
import android.widget.TextView;
//生成该类的对象,并调用其execute方法之后
//首先执行的的onPreExecute方法
//其次是执行doInBackground方法
public class ProgressBarAsyncTask extends AsyncTask<Integer, Integer, String>{
/*
* 1:参数1:定义Doinbackground的参数类型
private TextView textView = null;
private ProgressBar progressBar = null;
public ProgressBarAsyncTask(TextView textView,ProgressBar progressBar) {
this.textView = textView;
this.progressBar = progressBar;
}
//该方法并不运行在UI线程当中,所以在该方法当中,不能对UI当中的控件进行设置和修改
//主要用于进行异步操作。
@Override
protected String doInBackground(Integer... param) {
//可变长参数类型,类型一定,个数不定
NetOperator netOperator = new NetOperator();
int i = 0;
for(i = 10; i <= 100; i+=10){
netOperator.operate();
//用于发布更新消息
publishProgress(i);
}
return i + param[0].intValue() + "";
}
//在doInBackground方法执行结束之后再运行,并且运行在UI线程当中。
//主要用于将异步任务执行的结果展示给客户
@Override
protected void onPostExecute(String result) {
textView.setText("异步操作执行结束" + result);
}
//该方法运行在UI线程当中,主要用于进行异步操作之前的UI准备工作
@Override
protected void onPreExecute() {
textView.setText("开始执行异步操作");
}
//在doInBackground方法当中,每次调用publishProgress()方法之后,都会触发该方法
//用于在异步任务执行的过程当中,对用户进行提示,例如控制进度条等
@Override
protected void onProgressUpdate(Integer... values) {
int value = values[0];
progressBar.setProgress(value);
}
}
import android.os.AsyncTask;
import android.widget.ProgressBar;
import android.widget.TextView;
//生成该类的对象,并调用其execute方法之后
//首先执行的的onPreExecute方法
//其次是执行doInBackground方法
public class ProgressBarAsyncTask extends AsyncTask<Integer, Integer, String>{
/*
* 1:参数1:定义Doinbackground的参数类型
* 2:参数2:定义onprogressupdate的参数类型
* 3:参数3:定义doinbackground的返回值类型
*/
private TextView textView = null;
private ProgressBar progressBar = null;
public ProgressBarAsyncTask(TextView textView,ProgressBar progressBar) {
this.textView = textView;
this.progressBar = progressBar;
}
//该方法并不运行在UI线程当中,所以在该方法当中,不能对UI当中的控件进行设置和修改
//主要用于进行异步操作。
@Override
protected String doInBackground(Integer... param) {
//可变长参数类型,类型一定,个数不定
NetOperator netOperator = new NetOperator();
int i = 0;
for(i = 10; i <= 100; i+=10){
netOperator.operate();
//用于发布更新消息
publishProgress(i);
}
return i + param[0].intValue() + "";
}
//在doInBackground方法执行结束之后再运行,并且运行在UI线程当中。
//主要用于将异步任务执行的结果展示给客户
@Override
protected void onPostExecute(String result) {
textView.setText("异步操作执行结束" + result);
}
//该方法运行在UI线程当中,主要用于进行异步操作之前的UI准备工作
@Override
protected void onPreExecute() {
textView.setText("开始执行异步操作");
}
//在doInBackground方法当中,每次调用publishProgress()方法之后,都会触发该方法
//用于在异步任务执行的过程当中,对用户进行提示,例如控制进度条等
@Override
protected void onProgressUpdate(Integer... values) {
int value = values[0];
progressBar.setProgress(value);
}
}
0 0
- 异步操作需要的实现的方法
- 异步方法的实现
- android中两种实现异步操作的方法,Handler和asynctask
- 常见的异步实现方法以及ES7中如何通过async实现异步操作
- 文件异步操作的实现
- 一个好的异步消息架构需要考虑哪些操作
- 串口操作的异步实现的完善
- Android 异步操作UI的方法
- C#中各种异步操作的方法
- 实现iOS中发起异步网络请求,需要等待其返回的数据才能执行下一步操作
- 关于PHP实现异步操作的研究
- 串口操作的异步实现:仿照MIDP2.0按键事件处理方法
- DeviceIoControl实现异步的方法总结
- JavaScript实现异步的4种方法
- JavaScript实现异步的4种方法
- JavaScript实现异步的4种方法
- android 中异步线程的实现方法
- JavaScript实现异步的4种方法
- 远程登录管理工具
- uva 1380 - A Scheduling Problem 一个调度问题 好难的动态规划
- C
- 基于Lua脚本的自动化测试框架设计
- java常用的几种加密的方法
- 异步操作需要的实现的方法
- bzoj1486【HNOI2009】最小圈
- Android 主线程无法访问网络
- [LeetCode]17. Letter Combinations of a Phone Number
- 长城守卫(Beijing Guards,CERC 2004,LA3177)
- HDU 5621 KK's Point(规律)
- 17 网络编程
- Spring、Spring MVC、MyBatis等Java Web框架使用问题集锦
- Scrum团队中的自动化测试