第一行代码 第六章 数据储存方案

来源:互联网 发布:深圳 户外 知乎 编辑:程序博客网 时间:2024/06/05 18:21

SharedPreferences存储
它是采用键值对的方式来存储数据的。SharedPreferences文件是使用XML格式对数据进行管理的。

将数据存储到SharePreferences中
1.获取SharedPreferences对象
获取方式有3种
1)Context类中的getSharedPreferences()方法;
该方法接收两个参数
a.指定SharedPreferences文件的名称。默认该文件存放在/data/data//shared_prefs目录下。
b.文件的操作模式。目前只有MODE_PRIVATE模式可以选择。

2)Activity类中的getPreferences()方法:
该方法只接收一个参数,即文件的操作模式。因为使用这个方法会默认将当前活动的类名作为SharedPreferences的文件名。

3)PreferenceManager类中的getDefaultSharedPreferences()方法。
该方法只接收一个参数,即Context参数。使用这个方法会默认以该应用程序的包名作为前缀来命名SharedPreferences文件。

2.向SharedPreferences文件中存储数据,分3步实现
1)调用SharedPreferences对象的edit()方法来获取一个SharedPreferences.Editor对象。
2)向SharedPreferences.Editor对象中添加数据
3)调用apply()方法将数据提交

从SharedPreferences文件中读取数据
1.获取SharedPreferences对象
2.通过调用SharedPreferences对象的getInt()、getString()等方法来获取数据

实例:SharedPreferences读写数据
MainActivity.java

public class MainActivity extends AppCompatActivity {    private Button btnWriteToSh;    private Button btnReadFromSh;    private TextView tvShow;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        btnWriteToSh = (Button)findViewById(R.id.btnWriteToSh);        btnReadFromSh = (Button)findViewById(R.id.btnReadFromSh);        tvShow = (TextView)findViewById(R.id.tvShow);        btnWriteToSh.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                SharedPreferences sh = getSharedPreferences("data", MODE_PRIVATE);                SharedPreferences.Editor editor = sh.edit();                editor.putString("name", "asi");                editor.putInt("age", 18);                editor.apply();            }        });        btnReadFromSh.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                SharedPreferences sh = getSharedPreferences("data", MODE_PRIVATE);                String name = sh.getString("name", "");                int age = sh.getInt("age", 0);                tvShow.setText("name is :" + name + " age is: " + age);            }        });    }}
阅读全文
0 0
原创粉丝点击