大家好!我是程序员子固,很高兴你能点击我的文章观看
话不多说来干货!
我们要SharedPreferneces保存文件和读取文件必须声明一个成员变量
1.创建sp对象getSharedPreferences("spliu",MODE_PRIVATE);
这里两个参数分别是保存数据的文件名称,和对外访问权限一般是MODE_PRIVATE
保存:
2.获取数据的key和value值
3.获取Editor对象sp.edit()
4.存储数据Editor对象.putxxx(key,value)这里只是保存到内存里了
5.保存到文件里Editor对象.commit()
读取:
2.获取key值sp.getxxx(key,null)然后返回一个xxx类型的值
3.把xxx类型的值设置到对应控件上
package com.example.datastorage;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
/*
* sp数据存储
*
* */
public class SpActivity extends AppCompatActivity {
@BindView(R.id.sp_editText1)
EditText spEditText1;
@BindView(R.id.sp_editText2)
EditText spEditText2;
@BindView(R.id.sp_but1)
Button spBut1;
@BindView(R.id.sp_but2)
Button spBut2;
private SharedPreferences sp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sp);
ButterKnife.bind(this);
//1.获取sp对象
sp = getSharedPreferences("spliu",MODE_PRIVATE);
}
@OnClick({R.id.sp_but1, R.id.sp_but2})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.sp_but1:
//2.获取数据
String s = spEditText1.getText().toString();
String s1 = spEditText2.getText().toString();
//3.获取Editor对象
SharedPreferences.Editor edit = sp.edit();
//4.存储数据
edit.putString(s,s1);
edit.commit();
//提示
Toast.makeText(this, "保存成功", Toast.LENGTH_SHORT).show();
break;
case R.id.sp_but2:
String mm = sp.getString(spEditText1.getText().toString(), null);
spEditText2.setText(mm);
Toast.makeText(this, "读取成功", Toast.LENGTH_SHORT).show();
break;
}
}
}