SharedPreferences 数据存储功能

这个是一个轻量级的存储类。实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences经常使用来存储一些轻量级的数据。我们今天来讲讲它怎样进行操作的。我们知道这个存储类仅仅能在同一个包类使用(类似于一个应用的全局变量)。

其存储位置在/data/data/<包名>/shared_prefs文件夹下。

SharedPreferences对象本身仅仅能获取数据而不支持存储和改动,存储改动是通过Editor对象实现。过程例如以下:

1. 依据Context获取SharedPreferences对象(一般在能够在onCreate方法中直接调用getSharedPreferences()、或者採用Context ctx = 类名称.this; )

2.利用edit()方法获取Editor对象(普通情况下,SharedPreferences对象获取数据,可是如存储数据则须要获取到它的Editor对象)。

3.通过Editor对象存储key-value键值对数据。採用PutXXX(key。value)的方式进行存储。

4.通过commit()方法提交数据。若没有运行此项步骤。则数据将不正确保存到xml文件里。

样例:

publicclass MainActivity extends Activity {

@Override

publicvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

//获取SharedPreferences对象

Context ctx = MainActivity.this;

SharedPreferences sp = ctx.getSharedPreferences("test", MODE_PRIVATE);

//存入数据

Editor editor = sp.edit();

editor.putString("name", "zhangsan");

editor.putInt("id", 1);

editor.commit();

}

}

数据保存后怎样获取呢?步骤和上面几乎相同,可是少了获取Editor对象。

样例例如以下:

//获取SharedPreferences对象

Context ctx = MainActivity.this;

SharedPreferences sp = ctx.getSharedPreferences("test", MODE_PRIVATE);

//返回STRING_KEY的值

//假设NOT_EXIST不存在,则返回值为"none"

Log.d("test", sp.getString("name", "none"));

Log.d("test", sp.getInt("id", 0));

时间: 2024-10-15 19:05:14

SharedPreferences 数据存储功能的相关文章

18.Android之SharedPreferences数据存储学习

SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来存储一些轻量级的数据. 实现SharedPreferences存储的步骤如下: (1)获取SharedPreferences对象 (2)利用edit()方法获取Editor对象. (3)通过Editor对象存储key-value键值对数据. (4)通过commit()方法提交数据. 实现代码: 1

Android之探索SharedPreferences数据存储的背后

前言: 最近一直在学习ios的数据存储,当学习到NSUserDefaults的时候让我回想起了SharedPreferences,今天闲来无事,想着总结一下SharedPreferences的使用. 什么是SharedPreferences存储? SharedPreferences是基础key-value(键值对)来存储一些轻量数据的存储方式,特别适用于保存软件配置参数.使用SharedPreferences 保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<packag

Android 使用SharedPreferences数据存储

自己写了个SP辅助类 虽然写的有点啰嗦,也是自己的成果.如下: package com.yqy.yqy_testsputil; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; /** * SP辅助类 * @author YQY * * */ @SuppressL

PL/SQL存储过程-中国电力负荷数据存储功能-仅供参考

CREATE OR REPLACE PACKAGE BODY ssl AS PROCEDURE insert_ssl(s In ssl_array) AS v_month varchar2(20); v_sql varchar2(5000); v_result number; v_status number; BEGIN delete from E_TMP_MP_SSL_CURVE; select to_char(s(s.FIRST).data_time,'yyyymm') into v_mon

MySQL 5.7:非结构化数据存储的新选择

本文转载自:http://www.innomysql.net/article/23959.html (只作转载, 不代表本站和博主同意文中观点或证实文中信息) 工作10余年,没有一个版本能像MySQL 5.7那样令我激动与期盼,10月MySQL 5.7 GA版本的发布,意味着MySQL数据库终于有能力在传统企业中向商业数据库发起挑战,开源的Linux操作系统干掉了封闭的Unix系统,MySQL会不会再一次逆袭商业产品?目前来看,或许很难,但是机会已经掌握在自己上手,后面的发展就看MySQL团队能

数据存储与读取——02JSON

学习笔记适合新手,如有错误请指正.?号处也请各位指点下,谢谢. JSON是一种轻量级的数据交换和存储格式. 可用于对数据的设备(如手机的本地存储)和向Web服务器上传 并且符合面向对象编程思想 JSON数据格式 书写格式是:名称/值,如“name”,“张三” JSON基本结构: 1.对象:用{}包裹,用名称/值来表示对象中的一个属性 public class Person { public string name; public int age; public Person(string _na

Leancloud-数据存储功能入门

最近在做一个简单的手机工作计划程序,其中的数据部分使用了Leancloud提供的数据存储功能.整理下其中的一些代码,同大家分享一下. AVObject 增加一条记录 部分代码如下所示: private static final String TABLENAME = "Project"; //新建一条记录,数据库表名为Project public static void createProject(String name) { final AVObject object = new AV

React通过redux-persist持久化数据存储

在React项目中,我们经常会通过redux以及react-redux来存储和管理全局数据.但是通过redux存储全局数据时,会有这么一个问题,如果用户刷新了网页,那么我们通过redux存储的全局数据就会被全部清空,比如登录信息等. 这个时候,我们就会有全局数据持久化存储的需求.首先我们想到的就是localStorage,localStorage是没有时间限制的数据存储,我们可以通过它来实现数据的持久化存储. 但是在我们已经使用redux来管理和存储全局数据的基础上,再去使用localStora

处女男学Android(十三)---Android 轻量级数据存储之SharedPreferences

一.前言 转载请标明出处:http://blog.csdn.net/wlwlwlwl015/article/details/42437007 初学Android的时候在Activity之间传值我都是用Intent+Bundle这种模式去实现的,刚开始觉得没什么,后来渐渐发现了弊端,就是说只能逐层传递,当我的好几个Activity都需要从一个Activity中取数据的时候,这样就显得相当局限了,传来传去的即麻烦,又不合理,后来就想在Android中有没有web开发中类似于Session的东西,只要