Android活动流程(登录或注册并回家)
我正在构建一个需要用户身份验证的应用程序。用户第一次打开应用程序时,应登录或注册以继续进入应用程序的主屏幕,加载一些帖子 我应该提到的是,主屏幕应该是一个零碎的活动,允许用户在2-3个选项卡之间导航。。这意味着我应该有另一个活动(用于登录屏幕或注册),以允许用户稍后继续回家Android活动流程(登录或注册并回家),android,login,android-activity,android-fragmentactivity,Android,Login,Android Activity,Android Fragmentactivity,我正在构建一个需要用户身份验证的应用程序。用户第一次打开应用程序时,应登录或注册以继续进入应用程序的主屏幕,加载一些帖子 我应该提到的是,主屏幕应该是一个零碎的活动,允许用户在2-3个选项卡之间导航。。这意味着我应该有另一个活动(用于登录屏幕或注册),以允许用户稍后继续回家 MainActivity | | --> Check If user logged in | | | |
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的方式。并在登录和注册屏幕中使用自定义背景和渐变。这就是为什么。可能是重复的谢谢!但我需要一个更复杂的登录/注册屏幕(正如我在回答的评论中解释的)