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

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

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

程序启动时,首先从SharedPreferences中取出usernamepassword,如果不为空,则判断不是第一次登录,直接利用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);

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

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();//提交修改  

  }

}

你可能感兴趣的:(Android,功能代码)