Android数据持久化SharedPreferences浅析

本文为自己多年来在Android实战开发过程中总结归纳的一些常见问题,现在分享出来希望对初学者有所帮助。

本文出自门心叼龙的博客,转载请注明出处: https://blog.csdn.net/geduo_83/article/details/86559705

SharedPreferences 是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长 整形、Int整形、String字符串型的保存。
它是什么样的 处理方式呢? SharedPreferences类似过去Windows系统上的ini配置文件,但是它分为多种权限,可以全局共享访问,android123提示最 终是以xml方式来保存,整体效率来看不是特别的高,对于常规的轻量级而言比SQLite要好不少,如果真的存储量不大可以考虑自己定义文件格式。xml 处理时Dalvik会通过自带底层的本地XML Parser解析,比如XMLpull方式,这样对于内存资源占用比较好。
它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息,其存储位置在/data/data/<包名>/shared_prefs目录下。 SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。
实现SharedPreferences存储的步骤如下:

  • 1. 根据Context获取SharedPreferences对象
  • 2. 利用edit()方法获取Editor对象。
  • 3. 通过Editor对象存储key-value键值对数据。
  • 4. 通过commit()方法提交数据。

下面是示例代码:

public class MainActivity extends Activity {

 @Override
      public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.main);

         //获取SharedPreferences对象
         Context ctx = MainActivity.this;
         SharedPreferences sp = ctx.getSharedPreferences("SP", MODE_PRIVATE);
         //存入数据
         Editor editor = sp.edit();
         editor.putString("STRING_KEY", "string");
         editor.putInt("INT_KEY", 0);
         editor.putBoolean("BOOLEAN_KEY", true);
         editor.commit();
        } 
}
image.gif
Android数据持久化SharedPreferences浅析_第1张图片
image
image.gif

你可能感兴趣的:(Android数据持久化SharedPreferences浅析)