数据存储之SharedPreferences存储

来源:互联网 发布:矩阵论教程 张绍飞 编辑:程序博客网 时间:2024/05/18 00:28

一、SharedPreferences存储 

                           SharedPreferences 接口的常用方法
方法类型描述public abstract SharePreferences.Editor edit()普通使其处于可编辑状态public abstract boolean contains(String key)普通判断某一个key是否存在pubic abstract Map<String ,?> getAll()普通取出全部的数据public abstract getBoolean (String key,boolean defValue)普通取出boolean型数据,并指定默认值public abstract float getFloat(String key,float defValue)普通取出float型数据,并指定默认值public abstract int getFloat(String key,int  defValue)普通取出int型数据,并指定默认值public abstract long getFloat(String key,long defValue)普通取出long型数据,并指定默认值public abstract String  getFloat(String key,String  defValue)普通取出String型数据,并指定默认值

如果项进行数据的写入,则必须首先通过SharedPreferences类所提供的edit()方法才可以让其处于可编辑的操作状态,此方法返

回的对象类型是android.content.SharedPreferences.Editor接口实例。

              SharedPreferences.Editor接口的常用方法

方法类型描述public abstract SharedPreferences.Editor clear()普通清除所有的数据public abstract boolean commit()普通提交更新的数据public abstract SharedPreferences.Editor putBoolean(String key,boolean value)普通保存一个boolean型数据public abstract SharedPreferences.Editor putFloat(String key,float value)普通保存一个float型数据public abstract SharedPreferences.Editor putInt(String key,int value)普通保存一个int型数据public abstract SharedPreferences.Editor putLong(String key,long value)普通保存一个long型数据public abstract SharedPreferences.Editor putString(String key,String value)普通保存一个String型数据public abstract SharedPreferences.Editor remove(String key)普通删除指定key的数据由于SharedPreferences和Sharedpreferences.Editor两个都是接口,所以要想取得SharePreferences接口的实例化对象,还需 要Activity类中的几个常量和方法的支持。

Activity类对SharedPreferences接口的支持

常量及方法类型描述public static final int MODE_PRIVATE常量创建的文件只能被一个应用程序调用,或者被具有相同ID的应用程序访问public static final int MODE_WORLD_READABLE常量允许其他应用程序读取文件public static final int MODE_WORLD_WRITEABLE常量允许其他应用程序修改文件public SharedPreferences getSharedPrederences(String name,int mode)常量指定保存操作的文件名称,同时指定操作的模式,设置的内容可以是0、MODE_PRIVATE、MODE_WORLD_READABLE、MODE_WORLD_WRITEABLE下面举个例子:

import android.app.Activity;import android.content.SharedPreferences;import android.os.Bundle;public class MySharedPreferencesDemo extends Activity {private static final String FILENAME = "mldn"; // 保存的文件名称@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);super.setContentView(R.layout.main);SharedPreferences share = super.getSharedPreferences(FILENAME,Activity.MODE_PRIVATE);SharedPreferences.Editor edit = share.edit();edit.putString("author", "LiXingHua");edit.putInt("age", 30);edit.commit();// 提交更新}}
数据的保存必须使用commit()方法

上面通过SharedPreferences进行了数据的保存,那么再利用SharedPreferences进行数据的读取。在进行数据读取时,可以直接利用getXxx()方法根据key进行读取,也可以getAll()方法将全部的数据按照Map集合的方式取出。

读取数据操作类:

import android.app.Activity;import android.content.SharedPreferences;import android.os.Bundle;import android.widget.TextView;public class MySharedPreferencesDemo extends Activity {private static final String FILENAME = "mldn"; // 保存的文件名称private TextView authorinfo = null ;private TextView ageinfo = null ;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);super.setContentView(R.layout.main);this.authorinfo = (TextView) super.findViewById(R.id.authorinfo) ;this.ageinfo = (TextView) super.findViewById(R.id.ageinfo) ;SharedPreferences share = super.getSharedPreferences(FILENAME,Activity.MODE_PRIVATE);this.authorinfo.setText("作者:" + share.getString("author", "没有作者信息。")) ;this.ageinfo.setText("年龄:" + share.getInt("age", 0)) ;}}

定义布局:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="fill_parent"android:layout_height="fill_parent"><TextView android:id="@+id/authorinfo"android:layout_width="fill_parent"android:layout_height="wrap_content" android:textSize="22px"android:textColor="#FFFFFF" /><TextView android:id="@+id/ageinfo"android:layout_width="fill_parent"android:layout_height="wrap_content" android:textSize="22px"android:textColor="#FFFFFF" /></LinearLayout>


最后讲一下保存的数据在哪里:

程序运行胡,所有数据保存在了mldn.xml文件中,但是该文文件保存在DDMS中,如果用户需要查看文件,可以选择Window->Open Perspective ->Other命令。

打开后选择File Explorer\data\data\<package name>\shared_prdfs\目录下就可以发现生成的mldn.xml文件,找到之后,可以单击DDMS工具栏中的Pull a file from the device 按钮,导出文件。

导出之后,可以直接通过记事本打开mldn.xml文件,文件内容如下:

<?xml version='1.0' encoding='utf-8' standalone='yes'?><map>    <string name="author">LiXingHua</string>    <int name="age" value="30"/></map>


原创粉丝点击