今天翻舊代碼的時候,發現了這個東西,雖然年代久遠,但也算一種耗時操作的解決方案,
使用 和 注意事項 請看 注釋,
如果還有不明白的地方,歡迎評論區留言,
//初始化InnerTask 務必在主執行緒
new InnerTask().execute(queryParam);
private class InnerTask extends AsyncTask<QueryParam, Void, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
//顯示加載框或者進度框 當前在: UI執行緒
}
@Override
protected String doInBackground(QueryParam... params) {
//執行耗時操作 當前在: IO執行緒
String result = "耗時操作后需要操作的資料"
return result;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
//隱藏加載框或者進度框 當前在: UI執行緒
Toast.makeText(MainActivity.this, s, Toast.LENGTH_SHORT).show();
}
}
AsyncTask 內部方法的運轉順序:
onPreExecute() →
oInBackground(引數:型別取決于泛型) →
onPostExecute(引數:型別取決于泛型);
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/374822.html
標籤:其他
