Android数据存储之SharedPreferences详解

来源:互联网 发布:卧龙01武将进阶数据 编辑:程序博客网 时间:2024/04/29 11:50

安卓一共有四种数据存储方式,包括:SharedPreferences、SQLite、Content Provider、File。后三种方式会在后续博客中详细介绍。

SharedPreferences介绍

  1. 是一种轻型的数据存储方式
  2. 本质是基于XML文件存储key—value键值对数据
  3. 通常用来存储一些简单的配置信息,比如自动登录功能的实现(可以利用SharedPreferences存储用户名和密码)

SharedPreferences使用方法

  • SharedPreferences对象只能获取数据而不支持存储和修改,存储和修改是通过Editor对象实现的。
  • 实现SharedPreferences存储的步骤如下:
    1.获得Sharedpreferences对象,可以通过Context.getSharedPreferences(java.lang.String, int)或者PreferenceManager.getDefaultSharedPreferences(Context context)获得
    2.获得SharedPreferences.Editor对象。
    3.通过Editor接口的putXxx方法保存key—value键值对,其中Xxx表示不同的数据类型。
    4.通过Editor接口的commit方法保存key—value键值对。

Demo

package com.example.sharedpreferencesdemo;import android.annotation.SuppressLint;import android.app.Activity;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;import android.os.Bundle;import android.widget.TextView;@SuppressLint("CommitPrefEdits")public class MainActivity extends Activity {    private TextView tvContent;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        tvContent = (TextView) findViewById(R.id.tv_content);        //获得SharedPreferences对象        SharedPreferences sp = getSharedPreferences(getPackageName(),                MODE_PRIVATE);        //获得Editor对象        Editor editor = sp.edit();        //通过Editor接口的putXxx方法保存key—value键值对,其中Xxx表示不同的数据类型        editor.putString("name", "sjs");        editor.putInt("age", 20);        //通过Editor接口的commit方法保存key—value键值对        editor.commit();        //通过SharedPreferences的getXxx方法获得相应值        tvContent.setText("name:" + sp.getString("name", "") + "\n" + "age:"                + sp.getInt("age", 0));    }}

这里写图片描述

其中利用SharedPreferences存储数据的存储文件默认保存到了data/data/包名/shared_prefs下,可以通过ADT的DDMS工具查看。

这里写图片描述

将此文件到处到电脑上用记事本打开:
这里写图片描述

0 0
原创粉丝点击