Android非同期およびタイムアウト処理例
1535 ワード
みんなはアプリケーションを開発する時よく非同期処理を使って、すべてAsyncTaskを継承することによって実現して、時にはタイムアウトに伴って処理をして、しばらくの間非同期実行が終わっても次のことをしなければなりません.
では、簡単な例を見てみましょう.
皆さんの助けを願って、
では、簡単な例を見てみましょう.
private static final int TIME_DELAY = 1500;
private boolean mIsLoaded;
private boolean mIsTimeOut;
private Handler mHandler;
class InitTask extends AsyncTask {
public InitTask() {
}
@Override
protected String doInBackground(String... params) {
xxx();//
return null;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
mIsLoaded = true;
if (mIsTimeOut) {
xxx();//
}
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
}
@Override
public void onBackPressed() {
}
@Override
protected void onResume() {
super.onResume();
mIsLoaded = false;
mIsTimeOut = false;
InitTask mInitTast = new InitTask();
mInitTast.execute();
mHandler = new Handler();
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
mIsTimeOut = true;
if (mIsLoaded) {
xxx();//
}
}
}, TIME_DELAY);
}
皆さんの助けを願って、