2015-11-16 3 views
-3

Сейчас у меня есть три activies:Лучший способ для обработки Вход на Android

  • HandleActivity
  • LoginActivity
  • MainActivity

Когда пользователь открывает приложение, то HandleActivity проверяет, является ли пользователи уже вошли в систему, если это откроет MainActivity, если пользователь не зашел в систему, он открывает LoginActivity.

Есть ли лучший способ реализовать вход на Android?

+0

Я не знаю, что ваш вопрос достаточно ясен и собирает ответы на все мнения. Взгляните на это: http://stackoverflow.com/help/how-to-ask За что вы просите, я бы порекомендовал взглянуть на: http://codereview.stackexchange.com/ для вашего кода обзоры. – basic

ответ

1

Вам не обязательно иметь HandleActivity. Когда пользователь открывает приложение, всегда показывайте MainActivity. Если пользователь не выполнил вход в систему, перенаправите его на LoginActivity.

MainActivity onCreate() { 
    if(isLoggedIn) 
     loadContent() 
    else 
     redirectToLoginActivity() 
} 
+0

Привет, я понял, что мне не нужна HandleActivity, вместо этого я начал использовать активность входа в качестве активности запуска. Если пользователь вошел в систему, он переходит к основному действию. Что вы думаете об этом решении? Как вы думаете, лучше ли иметь MainActivity в качестве активности запуска? – gnobre

+0

Лучше иметь «MainActivity» в качестве пусковой установки. Поскольку ваш пользователь, вероятно, понадобится «login» только один раз. Но они захотят увидеть основной контент при открытии приложения. Поэтому, если вы сначала загрузите логин, будет не менее 1-2 секундной задержки. – Ozgur

+0

спасибо ozgur gul! Уже реализовано ваше решение, работало как шарм! – gnobre

1

Если вы используете акции предпочтений, то проверьте настройки акций, если имеются данные затем перейти к главной деятельности еще войти активность .. Если Использование базы данных для хранения данных, а затем проверить размер данных таблицы

try { 
     if (UserdataController.getSingletonInstance().getUserdata(this).size() > 0) { 
      Fragment dashboardFragment = new DashboardFragment(); 
      android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager(); 
      FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
      fragmentTransaction.add(R.id.framlayout, dashboardFragment); 
      // fragmentTransaction.addToBackStack("dashboard"); 
      fragmentTransaction.commit(); 
     } else { 
      Fragment loginFragment = new LoginFragment(); 
      android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager(); 
      FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
      fragmentTransaction.add(R.id.framlayout, loginFragment); 
      fragmentTransaction.commit(); 
     } 
    } 
    catch (SQLException e){ 

    } 
Смежные вопросы