利用SharedPreferences实现登录用户信息保存

曾经终败给现在 2023-10-16 18:48 126阅读 0赞

SharedPreferences 是一个轻量级存储类,经常用于保存配置参数等信息,它其实是用xml来存放数据。文件存放在/data/data//shared_prefs 目录下。

要实现用户登录信息的保存,首先在用户第一次登录时,我们将用户登录信息保存到SharedPreferences中。下次登录时,首先从SharedPreferences中取出用户名和密码,然后用该用户名和密码直接登录,不需要用户再次输入。

1 程序启动时,首先从SharedPreferences中取出username和password,如果不为空,则判断不是第一次登录,直接利用SharedPreferences的用户信息进行登录。代码如下:

SharedPreferences preferences = getSharedPreferences(“userInfo”,

Activity.MODE_PRIVATE);

String username = preferences.getString(“username”, “”);

String password = preferences.getString(“password”, “”);

//如果不是第一次登陆

if(username!=null && password!=null

&& !””.equals(username) && !””.equals(password))

login(username,password);

2 否则,判断为第一次登录,显示登录界面,获得用户输入的账号密码信息,再进行连接。代码如下:

String username = usernameEdit.getText().toString();

String password = passwordEdit.getText().toString();

login(username,password);

3 login方法使用HttpClient进行连接,在使用该用户名和密码连接成功后需要将用户登录的信息存放到SharedPreferences中。代码如下:

//如果返回状态为200,获得返回的结果if(response.getStatusLine().getStatusCode()==HttpStatus.SC_OK){

String str = EntityUtils.toString(response.getEntity());

if(str.trim().equals(“success”)){ //用户登录成功

Toast.makeText(GossipActivity.this, “登陆成功!”, Toast.LENGTH_SHORT).

show();

//保存用户登录信息

SharedPreferences sharedPreferences = getSharedPreferences(“userInfo”, Context.MODE_PRIVATE);

Editor editor = sharedPreferences.edit();//获取编辑器

editor.putString(“username”, username);

editor.putString(“password”, password);

editor.commit();//提交修改

}

}

发表评论

表情:
评论列表 (有 0 条评论,126人围观)

还没有评论,来说两句吧...

相关阅读