如何在用户打开活动时发出网络请求,但前提是自上次请求以来已过去 24 小时?

我有一个活动发送网络请求以从 API 获取一些数据并将其保存在数据库中,但是每次用户打开活动时它都会发送请求,有没有办法仅在 24 小时过去后才发出请求自上次请求以来?



鸿蒙传说
浏览 55回答 1
1回答

慕容708150

您可以将上次点击时间存储在共享首选项中,当用户打开该活动时,获取上次保存时间并与当前时间进行比较,如果它大于 24 小时,则点击您的 API,否则不执行任何操作。要像这样创建共享引用类:-public class AppPrefrences {            private static SharedPreferences mPrefs;            private static SharedPreferences.Editor mPrefsEditor;    public static String getLastTime(Context ctx) {            mPrefs = PreferenceManager.getDefaultSharedPreferences(ctx);            return mPrefs.getString("lstTime", "");        }        public static void setLastTime(Context ctx, String value) {            mPrefs = PreferenceManager.getDefaultSharedPreferences(ctx);            mPrefsEditor = mPrefs.edit();            mPrefsEditor.putString("lastTime", value);            mPrefsEditor.commit();        }public static void clearAllData(Context ctx) {        mPrefs = PreferenceManager.getDefaultSharedPreferences(ctx);        mPrefsEditor = mPrefs.edit();        mPrefsEditor.clear();        mPrefsEditor.commit();    }        } 设置你的时间这样做: -setLastTime(this, "current time");最后一次:-String lastTime = getLastTime(this);现在在 lastTime 你得到了你最后一次 api 命中时间现在得到当前时间并比较两个时间并执行你的代码。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java