#android #timer
Вопрос:
У меня есть функция «спин, чтобы выиграть» в моем приложении, которую пользователь может использовать для получения монет. я хотел бы сделать так, чтобы после того, как пользователь воспользуется спиннером, ему пришлось бы ждать 8 часов, прежде чем ему разрешат снова открыть вращение. как это сделать ?
Ответ №1:
одним из способов будет:
- определите эти 8 часов с момента, когда он закрутился ->
long duration = System.currentTimeMillis() your8hours;
- сохраните эти данные (sharedpreference) ->
SharedPreferences sharedPreferences = new SharedPreferences();
sharedPreferences = getSharedPreferences("MYDURATIONSAVED", Context.MODE_PRIVATE)
Editor editor = sharedPreferences.edit();
editor.putInt("durationSaved", duration);
editor.apply();
- в новом сеансе вы извлекаете данные ->
long alreadyExistingDuration = sharedPreferences.getLong("durationSaved", -1);
- и просто сравните его, чтобы проверить, разрешено ли пользователю вращаться снова или нет ->
long check = System.currentTimeMillis();
if(check >= alreadyExistingDuration){
allow...
}
если бы вы поместили образец своего кода, я бы использовал его
, например, если вы используете sqlite, firebase или файлы для хранения ваших данных, возможно, это был бы другой ответ
Но данные, которые вам нужно хранить, примитивны, поэтому sharedpreference должно быть достаточно
Комментарии:
1. Все ли коды должны быть помещены в SpinnerActivity?, или MainActivity, у которых есть кнопка, открывающая spinnerActivity