Однократная настройка?
Исходя из моего понимания, вам нужна однократная настройка Упражнение.Ваш код в порядке, единственная проблема, которую я вижу, заключается в том, что при повторном открытии приложения оно начинается с самого начала.Это связано с тем, что в вашем коде нет логики, чтобы проверить, выполнили ли вы одноразовую настройку.Для этого вы можете использовать SharedPreference
.
. Вы можете создать Splash Activity и проверить, выполнена ли разовая настройка или нет на основе логического флага.
Итак, я предлагаю в первый раз открыть приложение
SplashActivity -> NewUserActivity ---> GameChooseActivity
в противном случае
SplashActivity -> GameChooseActivity
SplashActivity extends AppcompatActivity{
boolean hasDoneSetUp = false;
private SharedPreferences pref;
private Editor editor;
protected void onCreate(Bundle sis)
{
super.onCreate(sis);
setContentView(R.layout.splash);
pref = getApplicationContext().getSharedPreferences("MyPref", MODE_PRIVATE);
editor = pref.edit();
hasDoneSetUp = checkForSetUp();
if(!hasDoneSetUp)
startOneTimeSetUp();
else
startGameChooseActivity();
}
}
Как выполнить одноразовую настройку?
Установите hasDoneSetUp
true, когда будет выполнена одноразовая настройка, и сохраните это значение в SharedPreference
, чтобы при открытииприложение снова проверит, была ли выполнена однократная настройка.
Сохраните остальные данные в SharedPreference или SQLiteDatabase и извлеките эти данные в GameChooseActivity.
public void startOneTimeSetUp(){
if(!TextUtils.isEmpty(editUsername.getText().toString().trim())) {
uploadUserData();
Intent intent = new Intent(SplashActivity.this, GameChooseActivity.class);
SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", MODE_PRIVATE);
Editor editor = pref.edit();
editor.putBoolean("hasDoneSetup", true);
editor.commit();
finish();
}
}
public boolean checkForSetUp(){
return pref.getBoolean("hasDoneSetup", true);
}
public void startGameChooseActivity(){
Intent intent = new Intent(SplashActivity.this, GameChooseActivity.class);
startActivity(intent);
}
Соответствующие ссылки
Если вы не знаете Что такое SharedPreference?
Если вы не знаете, как использовать SharedPreference , отметьте