我开发了一个支持法语和英语的应用程序。应用程序正在从 API 获取数据。
我正在使用以下代码来存储同步的最后更新时间。
public static long getLastUpdatedTime(Context ctx) {
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(ctx);
return sharedPref.getLong(PREF_LAST_UPDATED_TIME, 0);
}
public static void updateLastUpdatedTime(Context ctx, Long time) {
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(ctx);
SharedPreferences.Editor ed = sharedPref.edit();
ed.putLong(PREF_LAST_UPDATED_TIME, time);
ed.commit();
}
应用程序运行良好,但如果用户更改手机/平板电脑中的语言,则上述存储值不会被清除。当用户从一种语言切换到另一种语言时,我想清除缓存。
是否可以?
我想这样做是因为我在同步时将上次更新的服务器时间附加到 URL。
timefromcache = getLastUpdatedTime(context);
synchurl = www.xyz.com/data/customers/?time=timefromcache
我想在更改手机/平板电脑语言的同时从服务器获取语言特定的数据。