У меня есть RegisterPage
и LoginPage
. Когда приложение будет запущено, оно проверяет, запускается ли приложение в первый раз или нет в RegisterPage
. Если это первый раз, и сохранение button
не будет нажато, оно будет в RegisterPage
. Если он запускается второй раз, но кнопка сохранения никогда не будет нажата, она останется в RegisterPage
тоже. В противном случае он перейдет к LoginPage
.
Здесь мой обновленный код
Регистрация
appGetFirstTimeRun();
boolean clicked=false;
buttonSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
clicked=true;
int appCurrentBuildVersion = BuildConfig.VERSION_CODE;
SharedPreferences appPreferences = getSharedPreferences("MyAPP", 0);
appPreferences.edit().putInt("app_second_time",
appCurrentBuildVersion).apply();
String name = editTextName.getText().toString();
String pass = editTextPassword.getText().toString();
String confirm = editTextConfirm.getText().toString();
if ((editTextName.getText().toString().trim().length() == 0) || (editTextPassword.getText().toString().trim().length() == 0) || (editTextConfirm.getText().toString().trim().length() == 0)) {
Toast.makeText(getApplicationContext(), "Field cannot be null", Toast.LENGTH_LONG).show();
}
else
{
insertData(name, pass, imageUri); // insert to SQLite
Intent intent = new Intent(MainActivity.this, AddMonthlyExpenses.class);
intent.putExtra("name", name);
startActivity(intent);
}
}
});
private int appGetFirstTimeRun() {
//Check if App Start First Time
SharedPreferences appPreferences = getSharedPreferences("MyAPP", 0);
int appCurrentBuildVersion = BuildConfig.VERSION_CODE;
int appLastBuildVersion = appPreferences.getInt("app_first_time", 0);
if (appLastBuildVersion == appCurrentBuildVersion && clicked) {
Intent intent = new Intent(MainActivity.this,LoginPage.class);
startActivity(intent);
return 1;
} else {
appPreferences.edit().putInt("app_first_time",
appCurrentBuildVersion).apply();
if (appLastBuildVersion == 0) {
Toast.makeText(getApplicationContext(), "First time", Toast.LENGTH_SHORT).show();
return 0; //es la primera vez
} else {
return 2; //es una versión nueva
}
}
}
Проблема заключается в том, что я нажимаю кнопку сохранения и выхожу из приложения. Когда я снова запустил приложение, он все еще находится в RegisterPage, а не в LoginPage.