フランス語と英語をサポートするアプリを開発しました。アプリは API からデータを取得しています。
次のコードを使用して、同期のために LAST UPDATED TIME を保存しています。
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
モバイル/タブレットの言語を変更しながら、サーバーから言語固有のデータを取得したいと考えています。