Android - два основных вида деятельности - PullRequest
0 голосов
/ 26 апреля 2020

Я создаю приложение, в котором пользователи должны войти в систему, прежде чем войти в мое приложение. Когда они снова откроют приложение, я хочу, чтобы они получили основное действие (а не вход в активность). Теперь каждый входящий пользователь сначала видит вход в систему в течение одной секунды, а затем перемещается к основному действию. Есть ли способ, которым пользователь может сначала войти в основную деятельность? Спасибо!

Ответы [ 2 ]

1 голос
/ 26 апреля 2020

В этом случае используйте SharedPreferences .

Шаг 1:

Добавить заставку, которая выступает в качестве экрана приветствия для пользователя.

Шаг 2:

В вашем заставке:

private SharedPreferences pref;
.....
@Override
protected void onCreate(Bundle savedInstanceState) {
pref = getSharedPreferences("your package name", MODE_PRIVATE);
if (pref.getBoolean("firstrun", true)) {


 //edit your shared preference in order not be true all the time
 pref.edit().putBoolean("firstrun", false).apply();
 //check if this is the first run 
 // start Sign in activity
 }
 else{
 //if not the first run, navigate to your mainactivity not sign in activity.
 }
}

Надеюсь, это поможет.

Счастливое кодирование ?

0 голосов
/ 27 апреля 2020

Предположим, у вас есть MainActivity и LoginActivity

В LoginActivity:

В onCreate() проверьте, вошел ли пользователь в систему

SharedPreferences prefs = getSharedPreferences("LogIn", MODE_PRIVATE); 
String state = prefs.getString("state", "default");

if(state.equals("logged_in")){

//take directly to MainActivity because the user is logged in
startActivity(new Intent(LoginActivity.this,MainActivity.class));

}else{

//do nothing the user didn't log in yet

}

при входе в систему пользователя, как после нажатия кнопки:

//set a flag in shared prefrences that the user logged in before going to MainActivity

SharedPreferences.Editor editor = getSharedPreferences("LogIn", MODE_PRIVATE).edit();
editor.putString("state", "logged_in");
editor.apply();

//take the user to the MainActivity

startActivity(new Intent(LoginActivity.this,MainActivity.class));



}
...