b = { 'video':0, 'music':23,"picture":12 }
random.choice(tuple(b.items())) ('music', 23)
random.choice(tuple(b.items())) ('music', 23)
random.choice(tuple(b.items())) ('picture', 12)
random.choice(tuple(b.items())) ('video', 0)
Startup активность может быть какая-то деятельность «Всплеск». Просто показать приложение логотип, получая все вещи подготовки и принятия решения, куда идти дальше.
Одним из возможных подходов является сохранение информации о том, имеет ли пользователь пароль, с использованием Shared Preference . Когда начинается действие, просто проверьте эту информацию и решите, какую страницу загрузить
Я предлагаю вам использовать Фрагменты:
просто включите контейнер для фрагмента в свою StartActivity, например так:
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</FrameLayout>
Создайте два отдельных фрагмента для регистрации и для взаимодействия с пользователем после регистрации. , Затем добавьте поле, которое сообщит вам, зарегистрирован ли пользователь или нет:
SharedPreferences spref = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
Boolean isRegistered = spref.getString("userRegistered", false);
А теперь просто добавьте нужный фрагмент (регистрация или взаимодействие) в ваш контейнер в соответствии со значением isRegistered:
FragmentManager myFragmentManager = getFragmentManager ();
if (isRegistered) {
FragmentTransaction fragmentTransaction = myFragmentManager
.beginTransaction();
fragmentTransaction.add(R.id.container, myFragmentRegistr, TAG_1);
fragmentTransaction.commit();
} else {
FragmentTransaction fragmentTransaction = myFragmentManager
.beginTransaction();
fragmentTransaction.add(R.id.container, myFragmentInteract, TAG_1);
fragmentTransaction.commit();
}
Для этого вы можете использовать SharedPreferences
.
Когда вы регистрируете пользователя, сохраняете значение в SharedPreferences
, а затем каждый раз, когда вы открываете приложение, запрашивает это значение, если оно истинно, тогда вы переходите к LoginPage, если оно не идет к RegisterPage
пользователь регистрируется в приложении:
SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
editor.putBoolean("userRegistered", true);
editor.apply();
Затем каждый раз, когда вы запускаете свое приложение, делайте это:
SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
Boolean isUserRegistered = prefs.getString("userRegistered", false); //False is a default value
if (isUserRegistered) {
startActivity(new Intent(this,Login.class));
}
else{
startActivity(new Intent(this,Register.class));
}
//Shorter way
startActivity(isUserRegistered ? new Intent(this,Login.class) : new Intent(this,Register.class));
Вы можете сделать это в SplashActivity
, чтобы вы могли сделать что-то вроде этого guy Splash Пример активности
Начните с EditTexts для LoginId и пароля. Пароль может быть сохранен в SharedPreferences. Ниже приведен текстовый вид с вопросом «Первый пользователь?» с OnClick, перенаправляющим на новый фрагмент или действие для регистрации.
См. Эту статью, если вы хотите, чтобы пользователь не вводил учетные данные для входа при каждом запуске приложения.
https://medium.com/@prakharsrivastava_219/keep-the-user-logged-in-android-app-5fb6ce29ed65