Android 在这种情况下,我需要共享首选项吗?

Android 在这种情况下,我需要共享首选项吗?,android,login,Android,Login,我正在制作一个android应用程序,其中一个用户使用一些属性创建他的个人资料,稍后将使用这些属性;第一次使用应用程序时,它需要提供“注册”活动,但稍后,我希望用户无需登录或查看注册页面即可直接访问应用程序。在这种情况下,我必须使用共享优先级吗?在创建概要文件以供进一步使用之后,我将如何隐藏第一页 在这种情况下,我必须使用共享优先级吗 不,但他们让你的生活更轻松。存储这些数据的其他选项更为复杂 在创建概要文件以供进一步使用之后,我将如何隐藏第一页 应用程序通常有另一个起始页,可以从该起始页开始登

我正在制作一个android应用程序,其中一个用户使用一些属性创建他的个人资料,稍后将使用这些属性;第一次使用应用程序时,它需要提供“注册”活动,但稍后,我希望用户无需登录或查看注册页面即可直接访问应用程序。在这种情况下,我必须使用共享优先级吗?在创建概要文件以供进一步使用之后,我将如何隐藏第一页

在这种情况下,我必须使用共享优先级吗

不,但他们让你的生活更轻松。存储这些数据的其他选项更为复杂

在创建概要文件以供进一步使用之后,我将如何隐藏第一页


应用程序通常有另一个起始页,可以从该起始页开始登录,也可以直接作为主要部分。如果您检测到您拥有所需的数据(因此您实际上看不到该活动),您也可以直接在开始屏幕的“创建”部分中启动活动?注册后,将用户信息存储在私有SharedReference中。当您尝试从SharedReference检索信息时,您将知道用户是否已注册

SharedPreferences pref = getDefaultSharedPreferences();
String login = pref.getString("login", ""); // "" is default value
if(login.equals("")){
    //startActivityForResults
    //get results, store them in sharedpreferences, then COMMIT!
    //if results are invalid(user has hit back button)
    //close to home screen
else{ //user has registered
    //do what you need to show login activity/layout.
}

编辑:将键值存储在strings.xml中,或者静态存储在某个地方,这样您就不会有神奇的字符串,这也是一种很好的做法。

如何将共享首选项字段链接到我的Sqlite数据库?这是什么意思?SharedReferences将用于存储与客户端相关的本地信息。如果用户登录,您可以将与用户关联的所有数据存储在他们的SharedReferences中。我需要指出的是,用户创建了一组属性以及用户名,他可以使用用户名访问系统,但我需要这些属性(年龄、身高、体重、性别..)与他一起存储在共享首选项中,以便始终使用。我应该定义两个类:处理创建配置文件和首选项的活动定义如何读写并使用以下内容的连接器:if(name.getText().toString()!=null)PreferenceConnector.writeString(ProfileActivity.this,PreferenceConnector.name,name.getText().toString());创建PreferencesConnector类将提供方便。只是一堆get和set函数。我用一个DB来存储这个用户,有没有办法处理这两个函数?我的意思是从数据库中检索数据,然后将其连接到共享首选项。如果您已经有数据库,则可以将所有内容存储在数据库中。但您可以将它们结合起来——共享的首选项只是存储在磁盘上的变量