java如何在用户打开活动时发出网络请求,但前提是自上次请求已过24小时? 1 周,1 日 Questions & Answers 45 我有一个活动,它发送一个网络请求,从API获取一些数据,并将其保存在数据库中,但它在用户每次打开活动时发送请求,是否有方法仅在上次请求后24小时后发出请求
# 1 楼答案 您可以将上次点击时间存储在共享首选项中,当用户打开该活动时,将获取上次保存的时间,并与当前时间进行比较,如果大于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命中时间,现在获得当前时间,并比较这两个时间,然后执行代码
# 1 楼答案
您可以将上次点击时间存储在共享首选项中,当用户打开该活动时,将获取上次保存的时间,并与当前时间进行比较,如果大于24小时,则点击API,否则不执行任何操作。要创建这样的共享引用类:
要设置时间,请执行以下操作:-
要获得最后一次:
现在,在lastTime中,您获得了上次api命中时间,现在获得当前时间,并比较这两个时间,然后执行代码