Android 你怎么记得那个用户注册并直接进入另一个活动?

Android 你怎么记得那个用户注册并直接进入另一个活动?,android,Android,场景是,如果用户第一次下载应用程序,我会问他们一些基本问题(比如活动A)并要求他们注册(活动B) 这是安装应用程序后的一次性过程。之后,每当他们打开应用程序时,我计划直接将他们带到应用程序中(活动C) 我该怎么做?我是Android编程的新手。但我无法想象这种情况。我不想使用数据库。您需要一个持久存储机制来保存用户的状态(无论是否登录)。有多种方法可以做到这一点。最简单的是SharedReference,它将本地存储用户状态。您还可以将此信息存储在远程服务器中,并在用户每次打开应用程序时对其进行

场景是,如果用户第一次下载应用程序,我会问他们一些基本问题(比如活动A)并要求他们注册(活动B)

这是安装应用程序后的一次性过程。之后,每当他们打开应用程序时,我计划直接将他们带到应用程序中(活动C)


我该怎么做?我是Android编程的新手。但我无法想象这种情况。我不想使用数据库。

您需要一个持久存储机制来保存用户的状态(无论是否登录)。有多种方法可以做到这一点。最简单的是
SharedReference
,它将本地存储用户状态。您还可以将此信息存储在远程服务器中,并在用户每次打开应用程序时对其进行验证,尽管在大多数情况下这可能有点过火。

您需要一种持久存储机制来保存用户的状态(登录或未登录)。有多种方法可以做到这一点。最简单的是
SharedReference
,它将本地存储用户状态。您还可以将此信息存储在远程服务器中,并在用户每次打开应用程序时对其进行验证,尽管在大多数情况下这可能有点过火。

基本流程应如下所示
启动屏幕->登录屏幕(注册)->main activity
启动屏幕上
您需要检查prefs值,如果用户未注册,则调用它
isSignedUp
,该值为false。从这里开始很简单。每次启动应用程序时,您都需要检查首选项if
isSignedUp
是否正确,并根据该值相应地显示屏幕。因此,如果该值为true,则表示用户已注册并向其显示主屏幕,否则向其显示启动屏幕。

基本流程应如下所示
启动屏幕->入职屏幕(注册)->main activity
启动屏幕上
您需要检查prefs值,如果用户未注册,则调用它
isSignedUp
,该值为false。从这里开始很简单。每次启动应用程序时,您都需要检查首选项if
isSignedUp
是否正确,并根据该值相应地显示屏幕。因此,如果该值为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
都将丢失(用户也将注销),您必须重新生成它。