为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

鸿蒙传说 2023-03-17 16:41:26
我有一个活动发送网络请求以从 API 获取一些数据并将其保存在数据库中,但是每次用户打开活动时它都会发送请求,有没有办法仅在 24 小时过去后才发出请求自上次请求以来?
查看完整描述

1 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

您可以将上次点击时间存储在共享首选项中,当用户打开该活动时,获取上次保存时间并与当前时间进行比较,如果它大于 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 命中时间现在得到当前时间并比较两个时间并执行你的代码。


查看完整回答
反对 回复 2023-03-17
  • 1 回答
  • 0 关注
  • 53 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信