如何创建启动画面来管理 activity 意图
How to create Splash screen to manage activity intents
我想在我的 app.First 中创建 3 个活动,第一个是 loginActivity,第二个是 formActivity(包含要由用户填写的表单),第三个是 ProfileActivity。我想按照以下方式安排这些活动-
用户在第一次启动应用程序时需要登录,之后他们将被定向到 formActivity。
如果用户已经登录,则必须在启动应用程序时出现 formActivity 而不是登录屏幕。
当用户在 formActivity 中填写表单时,他们将被定向到 profileActivity。
如果用户已经登录并填写了表单(在formActivity中),那么在启动应用程序时他们必须看到 profileActivity 。
请帮助我了解如何在启动画面中管理我的活动的这些意图行为??
我认为您可以在共享首选项中保存用户状态并在启动画面中查看 activity。
例如,“state”变量 = 1 表示用户尚未登录,2 表示已登录但未填写表单等等
共享首选项可能是检查用户是否已经登录的好方法,您可以像这样使用它:
SharedPreferences sp = this.getSharedPreferences( "login", Context.MODE_PRIVATE );
sp.edit().putString( "idt", typ.getString( "id" ) ).apply();
Intent it = new Intent( this, FormActivity.class );
startActivity( it );
finish();
然后在启动应用程序的 Your Splash 上检查共享首选项是否存在:
SharedPreferences sp = getSharedPreferences( "login", MODE_PRIVATE );
String Id = sp.getString( "idt", "" );=
assert Id != null;
if (!Id.equals( "" )) {
startActivity( new Intent( this, TeacherDash.class ) );
finish();
}
如果未登录,那么您会将用户重定向到登录 activity。
这同样适用于用户已经填写了表格然后用户将被重定向到配置文件 activity。
在我的应用程序中,用户需要先进行身份验证才能开始使用该应用程序。我在 startupActivity
中有这段代码
access_token = sharedPrefidg.getString("access_token", "");
if (!access_token.equalsIgnoreCase("")) {
Intent i = new Intent(SplashScreen.this, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(i);
finish();
} else {
Intent i = new Intent(SplashScreen.this, Login.class);
i.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(i);
finish();
}
我想在我的 app.First 中创建 3 个活动,第一个是 loginActivity,第二个是 formActivity(包含要由用户填写的表单),第三个是 ProfileActivity。我想按照以下方式安排这些活动-
用户在第一次启动应用程序时需要登录,之后他们将被定向到 formActivity。
如果用户已经登录,则必须在启动应用程序时出现 formActivity 而不是登录屏幕。
当用户在 formActivity 中填写表单时,他们将被定向到 profileActivity。
如果用户已经登录并填写了表单(在formActivity中),那么在启动应用程序时他们必须看到 profileActivity 。
请帮助我了解如何在启动画面中管理我的活动的这些意图行为??
我认为您可以在共享首选项中保存用户状态并在启动画面中查看 activity。 例如,“state”变量 = 1 表示用户尚未登录,2 表示已登录但未填写表单等等
共享首选项可能是检查用户是否已经登录的好方法,您可以像这样使用它:
SharedPreferences sp = this.getSharedPreferences( "login", Context.MODE_PRIVATE );
sp.edit().putString( "idt", typ.getString( "id" ) ).apply();
Intent it = new Intent( this, FormActivity.class );
startActivity( it );
finish();
然后在启动应用程序的 Your Splash 上检查共享首选项是否存在:
SharedPreferences sp = getSharedPreferences( "login", MODE_PRIVATE );
String Id = sp.getString( "idt", "" );=
assert Id != null;
if (!Id.equals( "" )) {
startActivity( new Intent( this, TeacherDash.class ) );
finish();
}
如果未登录,那么您会将用户重定向到登录 activity。
这同样适用于用户已经填写了表格然后用户将被重定向到配置文件 activity。
在我的应用程序中,用户需要先进行身份验证才能开始使用该应用程序。我在 startupActivity
中有这段代码access_token = sharedPrefidg.getString("access_token", "");
if (!access_token.equalsIgnoreCase("")) {
Intent i = new Intent(SplashScreen.this, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(i);
finish();
} else {
Intent i = new Intent(SplashScreen.this, Login.class);
i.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(i);
finish();
}