android AsyncTask 被废弃替代方案
定义抽象类:package com.example.myapplication;import android.app.Activity;public abstract class BackgroundTask {private Activity activity;public BackgroundTask(Activity activity) {this.activity = activity;}
·
定义抽象类:
package com.example.myapplication; import android.app.Activity; public abstract class BackgroundTask { private Activity activity; public BackgroundTask(Activity activity) { this.activity = activity; } private void startBackground() { new Thread(new Runnable() { public void run() { doInBackground(); activity.runOnUiThread(new Runnable() { public void run() { onPostExecute(); } }); } }).start(); } public void execute(){ startBackground(); } public abstract void doInBackground(); public abstract void onPostExecute(); }
调用方式,这样就可以和以前的接口相同:
new BackgroundTask(MainActivity.this) {
@Override
public void doInBackground() {
//put you background code
//same like doingBackground
//Background Thread
}
@Override
public void onPostExecute() {
//hear is result part same
//same like post execute
//UI Thread(update your UI widget)
}
}.execute();
更多推荐
所有评论(0)