Деятельность Дизайн в Android? - PullRequest
0 голосов
/ 18 сентября 2010

По сути, мы поддерживаем сеансы для среды конкретного пользователя.Для этого, три основных вещи, которые мы должны поддерживать.Это вход в систему, проверка сеанса и выход из системы.

В Android каждый экран разработан Activity.мы можем startActivity() и finish() текущую активность.Но вы не можете сделать это Предыдущее действие.

Дизайн пользовательского интерфейса приложения:

Вход в систему (основное действие) -> Главная (дочернее действие) -> СодержитПрофиль, добавить данные, настройки и т. Д. (Sub Child Activity).Весь экран имеет опцию выхода из системы в меню.

Проблема заключается в следующем:

Когда я выбираю выход из системы.Приложение получает выход.Но я не могу переместить приложение на экран входа в систему.Предыдущее дочернее действие не завершено из стека действий.

Есть идеи для достижения этой цели?Его самое благодарное.

1 Ответ

1 голос
/ 20 сентября 2010

Шаблон может хорошо вписаться здесь. (псевдокод следующий)

public class BaseActivity extends Activity{

   protected void onCreate(savedInstance){
      if(user is logged in){
         onLoggedIn(savedInstance);
      else{
         //TODO: clear some flags in your object model which identify
         //the case when the user is logged in

         startActivity(this,LoginActivity.class);
         finish();
      }
   }

   protected abstract void onLoggedIn(savedInstance);
}

public class SomeActivity extends BaseActivity{

   protected void onLoggedIn(savedInstance){
      //normally do activity stuff
   }
}

Предупреждение: Я не пробовал это. Это просто идея, которая пришла мне в голову прямо сейчас.

Обычно у вас есть базовая активность, в которой есть метод onCreate (...), в котором вы проверяете, вошел ли пользователь в систему. В случае, если он вошел в систему, вы вызываете абстрактный метод "onLoggedIn (...)", в противном случае запустите операцию входа в систему и очистите любую информацию для входа в вашу объектную модель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...