18.Android之SharedPreferences数据存储学习

SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来存储一些轻量级的数据。

实现SharedPreferences存储的步骤如下:

(1)获取SharedPreferences对象

(2)利用edit()方法获取Editor对象。

(3)通过Editor对象存储key-value键值对数据。

(4)通过commit()方法提交数据。

实现代码:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3               android:layout_width="match_parent"
 4               android:layout_height="match_parent"
 5               android:orientation="vertical">
 6 
 7     <Button
 8         android:id="@+id/btn1"
 9         android:layout_width="wrap_content"
10         android:layout_height="wrap_content"
11         android:text="保存SharedPreferences对象数据" />
12 
13     <Button
14         android:id="@+id/btn2"
15         android:layout_width="wrap_content"
16         android:layout_height="wrap_content"
17         android:text="读取SharedPreferences对象数据" />
18     
19 </LinearLayout>
 1 package com.example.sharedpreferencesdemo;
 2 
 3 import android.app.Activity;
 4 import android.content.SharedPreferences;
 5 import android.os.Bundle;
 6 import android.view.View;
 7 import android.widget.Button;
 8 import android.widget.Toast;
 9 
10 public class MainActivity extends Activity {
11 
12     private Button btnsava;
13     private Button btnread;
14 
15     @Override
16     protected void onCreate(Bundle savedInstanceState) {
17         super.onCreate(savedInstanceState);
18         setContentView(R.layout.activity_main);
19 
20         btnsava = (Button) findViewById(R.id.btn1);
21         btnread = (Button) findViewById(R.id.btn2);
22 
23         btnsava.setOnClickListener(new View.OnClickListener() {
24 
25             @Override
26             public void onClick(View v) {
27                 // 实例化SharedPreferences对象(第一步)
28                 SharedPreferences mySharedPreferences = getSharedPreferences(
29                         "test", Activity.MODE_PRIVATE);
30 
31                 // 实例化SharedPreferences.Editor对象(第二步)
32                 SharedPreferences.Editor editor = mySharedPreferences.edit();
33 
34                 // 用putString的方法保存数据
35                 editor.putString("name", "pig");
36                 editor.putString("habit", "sleep");
37 
38                 // 提交当前数据
39                 editor.commit();
40                 // 使用toast信息提示框提示成功写入数据
41                 Toast.makeText(getApplicationContext(),
42                         "数据成功写入SharedPreferences!", Toast.LENGTH_LONG).show();
43 
44             }
45         });
46 
47         btnread.setOnClickListener(new View.OnClickListener() {
48 
49             @Override
50             public void onClick(View v) {
51                 SharedPreferences sharedPreferences = getSharedPreferences(
52                         "test", Activity.MODE_PRIVATE);
53                 
54                 // 使用getString方法获得value,注意第2个参数是value的默认值
55                 String name = sharedPreferences.getString("name", "");
56                 String habit = sharedPreferences.getString("habit", "");
57                 
58                 // 使用toast信息提示框显示信息
59                 Toast.makeText(
60                         getApplicationContext(),
61                         "读取数据如下:" + "
" + "name:" + name + "
" + "habit:"
62                                 + habit, Toast.LENGTH_LONG).show();
63 
64             }
65         });
66     }
67 }

SharedPreferences将会把这些数据保存在test.xml文件中,可以在手机内存(部分手机要root)/data/data/<package name>/shared_prefs目录下看到.

运行效果:

    

原文地址:https://www.cnblogs.com/benchao/p/5085291.html