您的位置:首页 > 移动开发 > Android开发

Android-数据储存:用户登录界面(存储)

2017-04-07 20:55 411 查看
新学了一个Android平台的一个轻量级的储存类:SharedPreferences,主要通过键值对的方式用于储存一些应用程序的配置参数。

SharedPreferences获取对象的主要方式是Context类中的getSharedPreferences(“文件名称”,context.MODE_PRIVATE)方法

怎么使用SharedPreferences储存数据呢

···调用SharedPreferences对象的edit()方法来获取SharedPreferences.Editor对象

···向SharedPreferences.Editor对象中添加数据,put…()方法

···调用commit()方法将添加的数据提交,从而完成数据存储操作

这个任务是在之前用户登录界面基础上进行添加的储存数据的功能,当用户选中了记住密码复选框,并成功登陆一次之后,这个时候如果再重新启动登录界面,之前输入的用户名和密码就会显示在文本框中。



LoginActivity:

package cn.edu.bzu.case_login;

import android.content.Intent;
import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

public class LoginActivity extends AppCompatActivity {
private CheckBox CBPass;
private EditText Name;
private EditText Password;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
this.read();
}

//存
public void save(View view) {
Name = (EditText) findViewById(R.id.etName);
Password = (EditText) findViewById(R.id.etPassword);
CBPass = (CheckBox) findViewById(R.id.cbPass);

String name = Name.getText().toString();
String password = Password.getText().toString();
Boolean cbpass = CBPass.isChecked();

//正确的用户名和密码
if (name.equals("admin") && password.equals("123456")) {

SharedPreferences sp = getSharedPreferences("data", MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putString("etName", name);
editor.putString("etPassword", password);
editor.putBoolean("Click", cbpass);
editor.commit();
Intent intent = new Intent(LoginActivity.this, WelActivity.class);
startActivity(intent);
} else {
Toast.makeText(LoginActivity.this, "用户名或密码错误", Toast.LENGTH_SHORT).show();
}
}

//读
public void read() {
Name = (EditText) findViewById(R.id.etName);
Password = (EditText) findViewById(R.id.etPassword);
CBPass = (CheckBox) findViewById(R.id.cbPass);
SharedPreferences sp = getSharedPreferences("data", MODE_PRIVATE);
String name = sp.getString("etName", "");
String password = sp.getString("etPassword", "");
boolean cbpass = sp.getBoolean("Click", false);

//判断是否选中保存密码按钮
if (cbpass == true) {
Password.setText(password);
Name.setText(name);
CBPass.setChecked(cbpass);

} else {
Password.setText("");
Name.setText(name);
CBPass.setChecked(cbpass);
}
}

}


这样就用了SharedPreferences完成了任务。

4000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 数据