Прежде всего, рассчитайте возраст в классе приложения и сохраните его в общих настройках и используйте его в любом месте из общих настроек.
Также проверьте в классе приложения, является ли рассчитанный возраст и возраст в общих предпочтениях одинаковыми или нет, если они одинаковы, нет необходимости обновлять предпочтения, иначе обновите общие предпочтения.
Предположим, что имя вашего метода расчета возраста - figureAge (),
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
int age = calculateAge();
if (a != getAge()) {
saveAge(this, a);
}
}
int calculateAge() {
return age;
}
public static void saveAge(Context context, String lang, int age) {
SharedPreferences sharedPref = context.getSharedPreferences(quesID, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt("age", age);
editor.apply();
}
public static int getAge(Context context) {
SharedPreferences sharedPref =
context.getSharedPreferences(context.getString(R.string.filename),
Context.MODE_PRIVATE);
return sharedPref.getInt("age", 0);
}
}
и для использования возраста в любом месте приложения используйте App.getAge ();