Android中的活动设计?

时间:2010-09-18 05:18:20

标签: android android-activity

基本上,我们正在维护特定用户环境的会话。为此,我们必须维护三个基本的东西。这是登录,会话检查和注销。

在Android中,每个屏幕都由Activity设计。我们可以startActivity()finish()当前活动。但你不能做那个以前的活动。

APP的UI设计:

登录(主要活动) - >主页(儿童活动) - >它包含个人资料,添加数据,设置等(子子活动)。所有屏幕在菜单中都有一个注销选项。

问题是:

当我选择退出时。该应用程序获得注销。但我无法将应用程序导航到登录屏幕。尚未从活动堆栈中完成Previous子活动。

实现这一目标的任何想法?最感谢的。

1 个答案:

答案 0 :(得分:1)

模板模式可以很好地适应这里。 (伪代码跟随)

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
   }
}

警告:我没试过。这只是我现在想到的一个想法。

基本上你有你的基本Activity,它有onCreate(...)方法,你检查用户是否登录。如果它已登录你调用抽象方法“onLoggedIn(...)”,否则你启动登录活动并清除对象模型中的所有登录信息。