Android 如何根据用户';在安卓系统中不同活动的角色

Android 如何根据用户';在安卓系统中不同活动的角色,android,authentication,android-activity,sharedpreferences,user-roles,Android,Authentication,Android Activity,Sharedpreferences,User Roles,我是android开发新手。我想创建一个至少有2个用户角色的应用程序。我希望用户在登录后被重定向到不同的活动。我了解到使用firebase可以做到这一点,但我不想在我的应用程序中使用它,因为我已经开始构建应用程序,并使用了改进和共享首选项。我还发现了另一个问题,她问了同样的问题,有人回答说sessionManager类也可以这样做 他们的回答是: “好吧,我想提供我自己的答案。我实际上使用了共享首选项。它非常简单,可以全局使用我们在其中输入的值。下面是代码: 1.创建一个单独的类,并根据需要命名

我是android开发新手。我想创建一个至少有2个用户角色的应用程序。我希望用户在登录后被重定向到不同的活动。我了解到使用firebase可以做到这一点,但我不想在我的应用程序中使用它,因为我已经开始构建应用程序,并使用了改进和共享首选项。我还发现了另一个问题,她问了同样的问题,有人回答说sessionManager类也可以这样做

他们的回答是:

“好吧,我想提供我自己的答案。我实际上使用了
共享首选项
。它非常简单,可以全局使用我们在其中输入的值。下面是代码:

1.创建一个单独的类,并根据需要命名(我更喜欢这里的SessionManager)

正在从会话检索数据

SessionManager session=newsessionmanager(getApplicationContext());
HashMap user=session.getUserDetails();
字符串userId=user.get(“userId”).toString();
String categoryId=user.get(“catId”).toString();
String categoryType=user.get(“catType”).toString();
字符串batchId=user.get(“batchId”).toString();
“——@sam


我对这个答案有点困惑。我理解代码,但我不知道如何使用它将用户重定向到不同的活动。任何关于如何做到这一点的帮助和解释都将不胜感激

要设置共享首选项,请使用以下代码:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("ID_NAME_EXAMPLE","STRING_TO_SAVE");
editor.apply();
要访问共享首选项,请使用以下命令:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
String name = preferences.getString("ID_NAME_EXAMPLE", "DEFAULT_VALUE_IF_NONE");
例如,您可以将
共享首选项
另存为
哪个活动

editor.putString("WHICH_ACTIVITY","one");
editor.apply();
然后在用户以身份登录时访问它

String name = preferences.getString("WHICH_ACTIVITY", "zero");
if(name.equals("zero")){
    startActivity(0);
}
else if(name.equals("one")){
    startActivity(1);
}
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
String name = preferences.getString("ID_NAME_EXAMPLE", "DEFAULT_VALUE_IF_NONE");
editor.putString("WHICH_ACTIVITY","one");
editor.apply();
String name = preferences.getString("WHICH_ACTIVITY", "zero");
if(name.equals("zero")){
    startActivity(0);
}
else if(name.equals("one")){
    startActivity(1);
}