AsyncTask异步任务
我们都知道不能再android主线程中进行耗时操作和进行网络请求
Asynctask是执行网络请求异步线程框架,它的底层依然是用Thread+handler来实现的。
使用
//第一个string代表传入参数的类型;
// 第二个integer代表进度值类型;
// 第三个inputstream代表耗时操作的返回值类型
使用AsyncTask异步任务,类要继承AsyncTask并要重写doInBackground
class MyTask extends AsyncTask<String,Integer,InputStream> {
//访问网络前的准备工作
@Override
protected void onPreExecute() {
super.onPreExecute();
}
//耗时操作
@Override
protected InputStream doInBackground(String... strings) {
return strings[0];
}
///更新ui操作
@Override
protected void onPostExecute(InputStream s) {
super.onPostExecute(s);
}
///更新进度
@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
}
}
实例化类
调用execute()方法执行