猿问

以不同的间隔多次重试代码段

我想为我的 android 应用程序代码的一部分使用一个算法,如果它不满足不同时间间隔的条件,它将一次又一次地执行特定的代码段。简而言之,在不同的时间间隔后多次重试代码。

例如,我正在上传一些字符串数据,当有互联网连接时我进行网络连接检查,当没有互联网时,它应该在1分钟后自动再次检查。如果是肯定的,数据被上传,如果不是,它应该在接下来的 3 分钟后重试,第三次也是如果是肯定的,数据被上传,如果不是,它应该在接下来的 5 分钟后做最后的检查,如果它不能得到network 那么它应该显示 toast 没有网络。

如何用一个简单的算法做到这一点?

这里以网络连接场景为例。我想要“重试”的算法,正如我在那里解释的那样。

提前致谢。


开满天机
浏览 148回答 2
2回答

犯罪嫌疑人X

首先,您必须声明一种方法来检查是否有互联网连接。使用ConnectivityManager和NetworkInfopublic 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();}至于你想怎么写你的检查逻辑,我会留给你

吃鸡游戏

使用 Handler,Timer 可以提供帮助。
随时随地看视频慕课网APP

相关分类

Java
我要回答