本文参考Google官方文档http://developer.android.com/training/basics/data-storage/shared-preferences.html

在Android中最简单的数据保存方式就数——SharedPreferences。

如果你想要保存一些较小的键值对集合并且是简单的数据类型的话,使用SharedPreferences无疑是最好的选择,一个SharedPreferences对象指向的文件是一个包含键值对的XML文件,并且其本身提供了一些简单的方法供我们读写。其中SharedPreferences可以设置为私有和共享的。

第一步:获取SharedPreferences对象

1、通过getSharedPreferences(String name, int mode)方法返回一个SharedPreferences对象。如果name存在,则返回指向这个文件的SharedPreferences对象。如果name不存在,则创建新的文件,返回SharedPreferences对象。MODE是指文件的权限,常用的权限类型有三个:MODE_PRIVATE(私有--只能本程序访问)、MODE_WORLD_READABLE(公开读取权限--所有程序都可以读取)、MODE_WORLD_WRITEABLE(全局写权限--所有程序都能读写)。

2、通过getPreferences(int mode)方法返回SharedPreferences对象。这个SharedPreferences对象仅仅是当前Activity拥有,默认的name为当前Activity的类名。

第二步:获取SharedPreferences.Editor接口,实现对SharedPreferences的编辑

官方推荐:SharedPreferences文件命名推荐使用包名+名称,比如:"com.example.myapp.PREFERENCE_FILE_KEY"

SharedPreferences sp = this.getSharedPreferences("mySharedPreferences", Context.MODE_PRIVATE); SharedPreferences.Editor editor = sp.edit(); editor.putString("username", username); editor.putString("password", password); editor.commit();

第三步:读取SharedPreferences文件数据

读取数据和写数据是相对应的,通过方法getXxxx()将key-value中的数据取出。

SharedPreferences sp = MainActivity.this.getSharedPreferences("mySharedPreferences", Context.MODE_PRIVATE); String username = sp.getString("username", "moocher");
如果在SharedPreferences文件中没有找到USERNAME,默认会返回moocher值。

SharedPreferences之Android数据保存_第1张图片

MainActivity.xml是通过getPreferences(int mode)方法创建的SharedPreferences文件。

mySharedPreferences.xml是通过getSharedPreferences(String name, int mode)方法创建的。

更多相关文章

  1. Android Sqlite Failed to open database(无法打开数据库文件)
  2. Android Studio的Gradle错误解决方法
  3. Android 主动获取电量的方法
  4. android tips:从资源文件中读取文件流显示
  5. Android SDK 安装过程 与 安装失败的处理方法
  6. Android的CheckBox控件的点击效果布局文件
  7. Android程序调试时生成main.out.xml文件
  8. Android SDK 安装中组件的离线安装方法 (share)
  9. Android的绘制文本对象FontMetrics的介绍及绘制文本

随机推荐

  1. iOS to Android
  2. Kotlin for android developers
  3. TextUtils的使用
  4. Android(安卓)studio 升级3.0,butterknife
  5. Android(安卓)星星评价
  6. Ubuntu 14.05上编译KODI 17.4
  7. android中dom解析
  8. android:网络编程
  9. android Activities
  10. Exploring RxJava 2 for Android