Android活动流程(登录或注册并回家)

Android活动流程(登录或注册并回家),android,login,android-activity,android-fragmentactivity,Android,Login,Android Activity,Android Fragmentactivity,我正在构建一个需要用户身份验证的应用程序。用户第一次打开应用程序时,应登录或注册以继续进入应用程序的主屏幕,加载一些帖子 我应该提到的是,主屏幕应该是一个零碎的活动,允许用户在2-3个选项卡之间导航。。这意味着我应该有另一个活动(用于登录屏幕或注册),以允许用户稍后继续回家 MainActivity | | --> Check If user logged in | | | |

我正在构建一个需要用户身份验证的应用程序。用户第一次打开应用程序时,应登录或注册以继续进入应用程序的主屏幕,加载一些帖子

我应该提到的是,主屏幕应该是一个零碎的活动,允许用户在2-3个选项卡之间导航。。这意味着我应该有另一个活动(用于登录屏幕或注册),以允许用户稍后继续回家

MainActivity
    |
    |
    --> Check If user logged in
              |       |
              |       |
              |       --> Start Login Activity (Or Register From Here)
              |
              --> Start Home Activity (FragmentActivity with 2-3 tabs-fragments)
现在,在主活动中,我通过共享首选项检查用户是否已登录,然后启动FragmentActivity或登录活动(如果用户尚未登录)

我不知道这是否是一个问题,但当这两个活动中的一个开始时,如果我按下后退键,它将在一个空白屏幕上显示,并且什么也没有发生。这似乎是合乎逻辑的,因为这是主要活动,实际上是空白的。我只有一个if语句可以继续进行适当的活动


这是一种很好的方法,还是我应该用另一种方法来开发它?

您可以在导航到主页/登录屏幕后完成主要活动,例如:

Intent intent=new Intent(this,Home.class);
startActivity(intent);
finish();
通过这样做,如果用户在登录或主页上按下后退按钮,空白页将不可见


您还可以将主要活动用作启动屏幕,在启动屏幕上显示一些图像,并在后台决定进入登录/主页活动。

如果您希望将登录屏幕作为对话框,这可能会对您有所帮助。要创建登录对话框,可以使用以下代码

// Create Object of Dialog class
final Dialog login = new Dialog(this);
// Set GUI of login screen
login.setContentView(R.layout.login_dialog);
login.setTitle("Login to Pulse 7");

// Init button of login GUI
Button btnLogin = (Button) login.findViewById(R.id.btnLogin);
Button btnCancel = (Button) login.findViewById(R.id.btnCancel);

 // Attached listener for login GUI button
 btnLogin.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        Toast.makeText(Pulse7LoginDialogActivity.this,
               "Login Sucessfull", Toast.LENGTH_LONG).show();
   }
});
btnCancel.setOnClickListener(new OnClickListener() {
   @Override
   public void onClick(View v) {
       login.dismiss();
   }
 });

 // Make dialog box visible.
 login.show();

此代码可用于

      Intent intent=new Intent(this,Home.class);
      intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
      startActivity(intent);
      finish();

为什么不让Fragment Activity作为您的主要活动,并显示一个对话框,让用户在尚未登录时登录?您对对话框的确切含义是什么?类似这样的-哦,我明白了。因为这应该是一种更像facebook的方式。并在登录和注册屏幕中使用自定义背景和渐变。这就是为什么。可能是重复的谢谢!但我需要一个更复杂的登录/注册屏幕(正如我在回答的评论中解释的)