在这种情况下,我需要共享偏好吗?

时间:2012-04-23 21:51:19

标签: android login

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

2 个答案:

答案 0 :(得分:1)

这个程序有一些互联网组件吗?注册后,将用户信息存储在私有SharedPreference中。当您尝试从SharedPreference中检索信息时,您将知道用户是否已注册。

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中,或者静态存储,这样就不会有魔术字符串。

答案 1 :(得分:0)

  

在这种情况下我是否必须使用共享优先权?

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

  

如何在创建配置文件之后隐藏第一页以供进一步使用?

应用程序通常有另一个起始页面,可以从中启动登录或直接启动主要部分。如果您检测到您拥有所需的数据(因此您没有真正看到该活动),也可以直接在startActivity的开始屏幕中onCreate