Android 你怎么记得那个用户注册并直接进入另一个活动?
场景是,如果用户第一次下载应用程序,我会问他们一些基本问题(比如活动A)并要求他们注册(活动B) 这是安装应用程序后的一次性过程。之后,每当他们打开应用程序时,我计划直接将他们带到应用程序中(活动C)Android 你怎么记得那个用户注册并直接进入另一个活动?,android,Android,场景是,如果用户第一次下载应用程序,我会问他们一些基本问题(比如活动A)并要求他们注册(活动B) 这是安装应用程序后的一次性过程。之后,每当他们打开应用程序时,我计划直接将他们带到应用程序中(活动C) 我该怎么做?我是Android编程的新手。但我无法想象这种情况。我不想使用数据库。您需要一个持久存储机制来保存用户的状态(无论是否登录)。有多种方法可以做到这一点。最简单的是SharedReference,它将本地存储用户状态。您还可以将此信息存储在远程服务器中,并在用户每次打开应用程序时对其进行
我该怎么做?我是Android编程的新手。但我无法想象这种情况。我不想使用数据库。您需要一个持久存储机制来保存用户的状态(无论是否登录)。有多种方法可以做到这一点。最简单的是
SharedReference
,它将本地存储用户状态。您还可以将此信息存储在远程服务器中,并在用户每次打开应用程序时对其进行验证,尽管在大多数情况下这可能有点过火。您需要一种持久存储机制来保存用户的状态(登录或未登录)。有多种方法可以做到这一点。最简单的是SharedReference
,它将本地存储用户状态。您还可以将此信息存储在远程服务器中,并在用户每次打开应用程序时对其进行验证,尽管在大多数情况下这可能有点过火。基本流程应如下所示启动屏幕->登录屏幕(注册)->main activity
在启动屏幕上
您需要检查prefs值,如果用户未注册,则调用它isSignedUp
,该值为false。从这里开始很简单。每次启动应用程序时,您都需要检查首选项ifisSignedUp
是否正确,并根据该值相应地显示屏幕。因此,如果该值为true,则表示用户已注册并向其显示主屏幕,否则向其显示启动屏幕。基本流程应如下所示启动屏幕->入职屏幕(注册)->main activity
在启动屏幕上
您需要检查prefs值,如果用户未注册,则调用它isSignedUp
,该值为false。从这里开始很简单。每次启动应用程序时,您都需要检查首选项ifisSignedUp
是否正确,并根据该值相应地显示屏幕。因此,如果该值为true,则表示用户已注册并向其显示主屏幕,否则向其显示启动屏幕。使用Android SharedReferences,它可用于存储数据,用于将答案保存在缓存中。使用Android SharedReferences,它可用于存储可用于将答案保存在缓存中的数据。尝试使用SharedReferences
。在活动中a
在创建时检查SharedReferences是否包含决定用户是否已注册的特定值。如果未设置或没有所需值,请将用户重定向到ActivityB
或ActivityC
代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SharedPreferences pref = this.getSharedPreferences("my_prefs", Context.MODE_PRIVATE);
if(pref.contains("MY_KEY") && pref.getBoolean("MY_KEY", false)){ //first stratup or user has not signed in yet
Intent intent = new Intent(this, ActivityC.class);
startActivity(intent);
} else { //already signed up
Intent intent = new Intent(this, ActivityB.class);
startActivity(intent);
}
setContentView(R.layout.activity_main);
}
SharedPreferences pref = this.getSharedPreferences("my_prefs", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
if(sign_up_success){
editor.putBoolean("MY_KEY", true);
editor.commit();
}
用户注册后,不要忘记在
SharedReferences
中保存/插入值
代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SharedPreferences pref = this.getSharedPreferences("my_prefs", Context.MODE_PRIVATE);
if(pref.contains("MY_KEY") && pref.getBoolean("MY_KEY", false)){ //first stratup or user has not signed in yet
Intent intent = new Intent(this, ActivityC.class);
startActivity(intent);
} else { //already signed up
Intent intent = new Intent(this, ActivityB.class);
startActivity(intent);
}
setContentView(R.layout.activity_main);
}
SharedPreferences pref = this.getSharedPreferences("my_prefs", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
if(sign_up_success){
editor.putBoolean("MY_KEY", true);
editor.commit();
}
尝试使用
SharedReferences
。在活动中a
在创建时检查SharedReferences是否包含决定用户是否已注册的特定值。如果未设置或没有所需值,请将用户重定向到ActivityB
或ActivityC
代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SharedPreferences pref = this.getSharedPreferences("my_prefs", Context.MODE_PRIVATE);
if(pref.contains("MY_KEY") && pref.getBoolean("MY_KEY", false)){ //first stratup or user has not signed in yet
Intent intent = new Intent(this, ActivityC.class);
startActivity(intent);
} else { //already signed up
Intent intent = new Intent(this, ActivityB.class);
startActivity(intent);
}
setContentView(R.layout.activity_main);
}
SharedPreferences pref = this.getSharedPreferences("my_prefs", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
if(sign_up_success){
editor.putBoolean("MY_KEY", true);
editor.commit();
}
用户注册后,不要忘记在
SharedReferences
中保存/插入值
代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SharedPreferences pref = this.getSharedPreferences("my_prefs", Context.MODE_PRIVATE);
if(pref.contains("MY_KEY") && pref.getBoolean("MY_KEY", false)){ //first stratup or user has not signed in yet
Intent intent = new Intent(this, ActivityC.class);
startActivity(intent);
} else { //already signed up
Intent intent = new Intent(this, ActivityB.class);
startActivity(intent);
}
setContentView(R.layout.activity_main);
}
SharedPreferences pref = this.getSharedPreferences("my_prefs", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
if(sign_up_success){
editor.putBoolean("MY_KEY", true);
editor.commit();
}
在活动中使用首选项。如果设置了首选项,请尝试重定向到其他活动使用SharedReference存储用户活动..可能重复的请不要使用StackOverflow作为听取意见的手段。您可以为此目的使用。此外,由于您正开始学习Android,您必须作为推荐人进行查看。谷歌搜索也可以节省你的时间和精力很多次。我只是在谷歌上搜索了“android记住用户操作”,找到了一个相关的主题:。通过这种方式,您可以更快地找到答案。在活动中使用首选项。如果设置了首选项,请尝试重定向到其他活动使用SharedReference存储用户活动..可能重复的请不要使用StackOverflow作为听取意见的手段。您可以为此目的使用。此外,由于您正开始学习Android,您必须作为推荐人进行查看。谷歌搜索也可以节省你的时间和精力很多次。我只是在谷歌上搜索了“android记住用户操作”,找到了一个相关的主题:。通过这种方式,您可以更快地找到答案。“用户注册后不要忘记在SharedReferences中保存/插入值。”您的意思是将其保存在数据库中?在共享首选项中为否“用户注册后不要忘记在SharedReferences中保存/插入值。”你的意思是将其保存在数据库中?不在共享首选项中。假设我不想将其保存在远程数据库中,那么在重新启动或重新启动android手机后,共享首选项状态是否会丢失?因为,本地存储包括
SharedReference
属于手机所有者,所以你无法真正依赖它。用户可能会选择清除应用程序的数据
,您的所有共享参考
都会丢失(用户也会注销),您将不得不重新生成。假设我不想将其保存在远程数据库中,那么在重新启动或重新启动android手机后共享首选项状态会丢失吗,本地存储包括SharedReference
属于手机所有者,您不能真正依赖它。就像用户可能选择清除应用程序的数据一样,您的所有SharedReference
都将丢失(用户也将注销),您必须重新生成它。