повторить сегмент кода несколько раз с разными интервалами

1

Я хочу иметь алгоритм для части кода моего приложения для Android, который будет снова и снова выполнять определенный сегмент кода, если он не соответствует условию с различными временными интервалами. простыми словами повторите код несколько раз через разные промежутки времени.

Например, я загружаю некоторые строковые данные, когда есть интернет-соединение, я проверяю сетевое соединение, а когда нет интернета, оно должно автоматически проверяться через 1 мин. если положительный результат, данные загружены, и если нет, он должен повторить попытку через 3 минуты, а в третий раз также, если положительный результат, данные загружены, а если нет, он должен выполнить окончательную проверку через 5 минут, а затем, если он не может получить сеть, то он должен показать тост без сети.

Как это сделать с помощью простого алгоритма?

Здесь сценарий сетевого подключения приведен в качестве примера. Я хочу алгоритм для "повторной попытки", как я объяснил там.

Заранее спасибо.

Теги:
algorithm

1 ответ

1

Во-первых, вы должны объявить метод, чтобы проверить, есть ли подключение к интернету.

Использование 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();
}

Что касается того, как ты хочешь написать свою логику проверки, я оставлю это тебе

Ещё вопросы

Сообщество Overcoder
Наверх
Меню