SharedPreferences轻量级数据存储

SharedPreferences轻量级数据存储

SharedPreferences是以键值对来存储应用程序的配置信息的一种方式,它只能存储基本数据类型。例如,默认欢迎语,登录用户名和密码,音乐播放的进度条保存等一个程序的配置文件仅可以在本应用程序中使用,或者说只能在同一个包内使用,不能在不同的包之间使用。 实际上SharedPreferences是采用了XML格式将数据存储到设备中,在DDMS中的File Explorer中的/data/data/<package name>/shares_prefs下,可以通过cat命令查看。

SharedPreferences 的用法

在某个地方写入数据:

SharedPreferences.Editor mEditor = msharedPreference.edit();
mEditor.putInt("counter", ++counter);
mEditor.commit();

在某个地方获得数据:

SharedPreferences msharedPreference = getSharedPreferences("testSharedPreference",MODE_PRIVATE);       
int counter = msharedPreference.getInt("counter"0);       

SharedPreferences相关函数

public abstract SharedPreferences getSharedPreferences (String name, int mode);
name:表示保存后 xml 文件的名称
mode:表示 xml 文档的操作权限模式(私有,可读,可写),使用0或者MODE_PRIVATE作为默认的操作权限模式。
 
1.数据读取:
通过SharedPreferences对象的键key可以获取到对应key的键值。对于不同类型的键值有不同的函数:getBoolean,getInt,getFloat,getLong.
public abstract String getString (String key, String defValue);
这里说明一下:如果没有key值的话,那函数将会返回defValue的值
2.数据存入:
数据的存入是通过SharedPreferences对象的编辑器对象Editor来实现的。通过编辑器函数设置键值,然后调用commit()提交设置,写入xml文件。
public abstract SharedPreferences.Editor edit ();
public abstract SharedPreferences.Editor putString (String key, String value);
public abstract boolean commit ();

SharedPreferences例子程序(1)

记录进入应用的次数:


 
import android.app.Activity;
import android.os.Bundle;
import android.content.SharedPreferences;
import android.widget.TextView;
 
public class TestSharedPerferenceActivity extends Activity {
         
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
         
        SharedPreferences msharedPreference = getSharedPreferences("testSharedPreference",MODE_PRIVATE);
         
        int counter = msharedPreference.getInt("counter"0);       
        TextView textview = (TextView)findViewById(R.id.textView1);
        textview.setText("The App has been started "+counter+" times");
         
        SharedPreferences.Editor mEditor = msharedPreference.edit();
        mEditor.putInt("counter", ++counter);
        mEditor.commit();
    }
}


说明:SharedPreferences的获取有两种方法,一是上面提到的通过 Activity自带(本质来讲是Context的)的getSharedPreferences方法,可以得到SharedPreferences对 象。这种方法的好处是可以指定保存的xml文件名。另一种是通过 PreferenceManager.getSharedPreferences(Context)获取SharedPreferences对象。这种方 法不能指定保存的xml文件名,文件名使用默认的:<package name>+"_preferences.xml"的形式,不过如果在一个包里面采用这种方式需要保存多个这样的xml文件,可能会乱掉。建议采用第一种指定xml文件名的形式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值