Я хочу иметь алгоритм для части кода моего приложения для Android, который будет снова и снова выполнять определенный сегмент кода, если он не соответствует условию с различными временными интервалами. простыми словами повторите код несколько раз через разные промежутки времени.
Например, я загружаю некоторые строковые данные, когда есть интернет-соединение, я проверяю сетевое соединение, а когда нет интернета, оно должно автоматически проверяться через 1 мин. если положительный результат, данные загружены, и если нет, он должен повторить попытку через 3 минуты, а в третий раз также, если положительный результат, данные загружены, а если нет, он должен выполнить окончательную проверку через 5 минут, а затем, если он не может получить сеть, то он должен показать тост без сети.
Как это сделать с помощью простого алгоритма?
Здесь сценарий сетевого подключения приведен в качестве примера. Я хочу алгоритм для "повторной попытки", как я объяснил там.
Заранее спасибо.
Во-первых, вы должны объявить метод, чтобы проверить, есть ли подключение к интернету.
Использование ConnectivityManager
и NetworkInfo
public static boolean hasInternetConnection(final Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
if (ni == null) {
return false;
} else
return true;
}
Затем...
try{
if(Util.hasInternetConnection(mcontext)){
//todo
@Override
public void onSuccess(String message) {
showAlertDialog("Alert",message);
}
@Override
public void onFail(String errorcode, String errormessage) {
showAlertDialog("Alert",errormessage);
}
});
}else{
showInternetRequiredDialog(getString(R.string.title_internet_require), getString(R.string.msg_no_internet_connection_setup));
return;
}
}catch (Exception ex){
ex.printStackTrace();
}
Что касается того, как ты хочешь написать свою логику проверки, я оставлю это тебе