0
私はAsyncTaskクラスを持つサーバーが利用可能かどうかチェックしていますし、そのは はどのように外
class AsyncServerOnlineCheck extends AsyncTask {
boolean isReachable;
@Override
protected Object doInBackground(Object[] objects) {
isReachable = NetworkCheck.isReachable(SplashsActivity.this);
return null;
}
@Override
protected void onPostExecute(Object o) {
super.onPostExecute(o);
if (isReachable) {
new DownloadLatestData().execute();
Toast.makeText(SplashsActivity.this, "Server is online", Toast.LENGTH_SHORT).show();
} else {
if (database.isDataBaseCreated()) {
Toast.makeText(SplashsActivity.this, "Server is offline", Toast.LENGTH_SHORT).show();
Intent i = new Intent(SplashsActivity.this, MainActivity.class);
startActivity(i);
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
finish();
} else {
connectionerror();
}
}
}
}
は、今私はconnectionerrorと呼ばれる他の方法でisReachable条件を使用するコードの下で細かい作業AsyncTaskメソッドを使用します。どちらも同じ活動です。
public void connectionerror() {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(SplashsActivity.this);
alertDialog.setTitle("Error!");
alertDialog.setMessage("Connection Lost ! Try Again");
alertDialog.setPositiveButton("Retry",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
if (downloadLatestDataStatus != null) {
downloadLatestDataStatus.clear();
}
if (NetworkCheck.isInternetAvailable(SplashsActivity.this)) {
new DownloadLatestData().execute();
} else {
connectionerror();
}
}
});
alertDialog.show();
}
の下にあなたが
if (NetworkCheck.isInternetAvailable(SplashsActivity.this)) {
new DownloadLatestData().execute();
}
以下のようなconnectionerror方法で一つの条件を見ることができるようconnectionerrorは、ネットワークチェックの代わりに、この状態で、私はどのように行うことができます.... AsyncTaskからisReachableを使いたいですそれ ?
'AsyncServerOnlineCheck'ではなく、アクティビティのクラス変数として' isReachable'を変更します。 –