sharePreferences特点
1.xml格式存储于data目录下的对应项目文件
2.
final SharedPreferences sp =getSharedPreferences("test1",MODE_PRIVATE);
/*
getShaaredPreferences两个形参
*/
**@Override
public SharedPreferences getSharedPreferences(String name, int mode) {
return mBase.getSharedPreferences(name, mode);
}**
name——xml文件名,int mode为读写方式{
MODE_PRIVATE:指定该SharedPreferences数据只能被本应用程序读、写
MODE_WORLD_READABLE:指定该SharedPreferences数据能被其他应用程序读,但不能写
MODE_WORLD_WRITEABLE:指定该SharedPreferences数据能被其他应用程序读写。
}
3.getSharedPreferences接口使用的一些抽象方法
(1)Editor 子接口的一些抽象方法
putString(String key, @Nullable String value);//添加key-value
putStringSet(String key, @Nullable Set<String> values);
putInt(String key, int value);
.......
(2)getString
final SharedPreferences sp =getSharedPreferences("test1",MODE_PRIVATE);
String username = sp.getString("name","");
获取test1.xml文件里面key为name的value值,如果没有给默认值
存储例子
public class MainActivity extends AppCompatActivity {
private String name ="bwh",password="123456";
private static final String TAG = "bwh";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageButton btn1 = findViewById(R.id.btn1);
EditText usernameGet = findViewById(R.id.tx1);
EditText passwordGet = findViewById(R.id.tx2);
final SharedPreferences sp =getSharedPreferences("test1",MODE_PRIVATE);
String username = sp.getString("name","");//获取用户账号
String user_password = sp.getString("password","");//获取用户密码
if(username!=null && password!=null){
if(username.equals(name) && user_password.equals(password)){
Intent intent = new Intent(MainActivity.this, spActivity.class);
startActivity(intent);
}else{
Log.e(TAG, " 111");
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String in_username = usernameGet.getText().toString();
String in_password = passwordGet.getText().toString();
SharedPreferences.Editor editor= sp.edit();
Log.e(TAG, " 222");
if(in_username.equals(name) && in_password.equals(password)){
editor.putString("name",in_username);
editor.putString("password",in_password);
editor.commit();
Log.e(TAG, " 111");
Intent intent = new Intent(MainActivity.this, spActivity.class);
startActivity(intent);
}
}
});
}
}
}
}