在我的应用程序中,我想在显示第一个Activity之前访问SharedPreferences(这应该用于确定用户是否“登录”,然后显示登录屏幕或主屏幕)。这可以实现吗?或者我是否需要制作一个短暂的闪屏来掩盖杂乱?
答案 0 :(得分:0)
我会建议这样的事情:
制作SplashScreen活动并在用户登录后测试,然后决定显示哪个活动。如果你只是检查SharedPreferences你也可以只显示一个黑色的View,它会显示这么短的时间,用户不会注意到。
您也可以在setContentView
之前的第一个活动'onCreate方法中执行此操作,然后决定要显示哪个视图。
答案 1 :(得分:0)
只需在SharedPreferences
登录活动方法内访问onCreate()
。检查用户是否已登录。如果是,请转到主要活动。如果没有,那么我们已经在登录页面。在这种情况下,用户登录时,请在SharedPreferences中将“ loggenIn”设置为True
。
SharedPreferences sp = referenceManager.getDefaultSharedPreferences(getApplicationContext());
if(sp.getBoolean("loggedIn",false)){ //if the user is logged in
Intent intent = new Intent(Login.this, Main.class); // go to the Main page
Login.this.startActivity(intent);
}
答案 2 :(得分:0)
在我的应用程序中,我想在显示第一个活动之前访问SharedPreferences(应该这样做以确定用户是否“登录”,然后显示登录屏幕或主屏幕)。能做到吗?
不是,不是真的,因为用户进入应用程序的方式是通过一些“主要”活动,所以用户必须先启动某事,然后才能做任何事情。
还是我必须做一个简短的启动画面来掩盖混乱?
您有3个选择:
我个人会选择选项(3),因为无论如何,登录活动都将执行此“登录时重定向”逻辑,这意味着您无需使用启动逻辑检查即可显示启动画面或混乱的主画面。但是要随心所欲。
希望有帮助!