[功能]

大家在android开发中 一点有这样的需求 就是需要保存一下与该程序有关的属性设置的问题

比如:window xp 中 <假设系统盘为 C:/> 的位置为: C:\Program Files

那么在android中是怎样呢? 那就是:SharedPreferences

既然它是用来保存数据的 那么一点下面问题:

1. 如何创建

2. 如何加入数据

3. 如何取出数据

因为 很多程序都有这个需要 所以自己把该功能集成并列出一些接口函数 以后用的话 会方便很多 这个类名为:SharedPreferencesHelper

[代码]

1. 以指定名字来创建

  1. SharedPreferences sp;
  2. SharedPreferences.Editor editor;
  3. Context context;
  4. public SharedPreferencesHelper(Context c,String name){
  5. context = c;
  6. sp = context.getSharedPreferences(name, 0);
  7. editor = sp.edit();
  8. }

2. 以键值<String Key,String Value> 的方式加入数据

  1. public void putValue(String key, String value){
  2. editor = sp.edit();
  3. editor.putString(key, value);
  4. editor.commit();
  5. }

3. 以 String Key 为索引来取出数据

  1. public String getValue(String key){
  2. return sp.getString(key, null);
  3. }

4. 如何使用 SharedPreferencesHelper

  1. package com.android.SharedPreferences;
  1. import android.app.Activity;
  2. import android.os.Bundle;
  3. import android.widget.TextView;
  1. /*
  2. * to access from: data/data/com.android.SharedPreferences/share_prefs
  3. */
  4. public class SharedPreferencesUsage extends Activity {
  5. public final static String COLUMN_NAME ="name";
  6. public final static String COLUMN_MOBILE ="mobile";
  7. SharedPreferencesHelper sp;
  8. /** Called when the activity is first created. */
  9. @Override
  10. public void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. //setContentView(R.layout.main);
  13. sp = new SharedPreferencesHelper(this, "contacts");
  14. //1. to store some value
  15. sp.putValue(COLUMN_NAME, "Gryphone");
  16. sp.putValue(COLUMN_MOBILE, "123456789");
  17. //2. to fetch the value
  18. String name = sp.getValue(COLUMN_NAME);
  19. String mobile = sp.getValue(COLUMN_MOBILE);
  20. TextView tv = new TextView(this);
  21. tv.setText("NAME:"+ name + "\n" + "MOBILE:" + mobile);
  22. setContentView(tv);
  23. }
  24. }

5. 其他问题

* 文件存放路径: 因为我的这个例子的pack_name 为:package com.android.SharedPreferences;

所以存放路径为:data/data/com.android.SharedPreferences/share_prefs/contacts.xml

* contacts.xml 的内容为:

  1. <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
  2. <map>
  3. <string name="mobile">123456789</string>
  4. <string name="name">Gryphone</string>
  5. </map>

* 取出的数据为:

转载自: http://www.iteye.com/topic/573212

SharedPreferences(转)的更多相关文章

  1. Android之SharedPreferences数据存储

    一.SharedPreferences保存数据介绍 如果有想要保存的相对较小键值集合,应使用SharedPreferences API.SharedPreferences对象指向包含键值对的文件并提供 ...

  2. SharedPreferences 的另一种场景的用法

    SharedPreferences 的另一种场景的用法 昨天,下班在家想做什么来着,然后想用SharedPreferences存点数据,但是不知道咋地突然想到,SharedPreferences是应用 ...

  3. 取代SharedPreferences的多进程解决方案

    Android的SharedPreferences用来存储一些键值对, 但是却不支持跨进程使用. 跨进程来用的话, 当然是放在数据库更可靠啦, 本文主要是给作者的新库PreferencesProvid ...

  4. 简单的学习心得:网易云课堂Android开发第五章SharedPreferences与文件管理

    一.SharedPreferences (1)SharedPreferences能够用来保存一些属于基本数据类型的数据. (2)保存数据,删除数据都是由SharedPreferences的内部接口Ed ...

  5. android SharedPreferences 存储对象

    我们知道SharedPreferences只能保存简单类型的数据,例如,String.int等. 如果想用SharedPreferences存取更复杂的数据类型(类.图像等),就需要对这些数据进行编码 ...

  6. Android SharedPreferences公共类sharedhelper

    SimpAndroidFarme是近期脑子突然发热想做的android快速开发的框架,目标是模块化 常用的控件,方便新手学习和使用.也欢迎老鸟来一起充实项目:项目地址 sharedpreference ...

  7. Android SharedPreferences存储

    原创文章,转载请注明出处:http://www.cnblogs.com/baipengzhan/p/Android_SharedPreferences.html 一 概念 SharedPreferen ...

  8. Android——SharedPreferences

    SharedPreferences是一种轻型的Android数据存储方式,用来保存应用的一些常用配置. 实现SharedPreferences存储的步骤如下: 1.根据Context获取SharedP ...

  9. SharedPreferences 详解

    获取SharedPreferences的两种方式: 1 调用Context对象的getSharedPreferences()方法 2 调用Activity对象的getPreferences()方法 两 ...

  10. Tray - a SharedPreferences replacement for Android

    一个代替SharedPreferences的开源库, no Editor, no commit() no apply(),因此不存在UI卡顿现象,并且支持多线程,在一个线程中存另一个线程中取数据. h ...

随机推荐

  1. android-android各大手机系统打开权限管理页面

    android系统五花八门,当我们去请求用户的权限的时候,总是会弹出是否允许的对话框. 而且用户一旦不小心点了拒绝,下次就不再询问了,而很多小白用户也不知道怎么去设置.这就导致了很不好的用户体验. 经 ...

  2. Ubuntu 中软件的安装、卸载以及查看的方法总结

    Ubuntu 中软件的安装.卸载以及查看的方法总结 博客分类: Linux UbuntuDebian配置管理CacheF#  说明:由于图形化界面方法(如Add/Remove... 和Synaptic ...

  3. Lamp学习笔记

    1,php.ini 文件在哪里  /opt/app/php-5.3/etc/php.ini  --------------------------------------------   2014-0 ...

  4. 习惯mac . OS X 安装MacPorts

    1. 安装必要的软件 安装MacPorts需要先安装X11和Xcode,Lion系统已经默认安装好了X11,在Appstore里安装Xcode即可. 下载完Xcode之后,一般路径在/Applicat ...

  5. cocos基础教程(4)基础概念介绍

    在Cocos2d-x-3.x引擎中,采用节点树形结构来管理游戏对象,一个游戏可以划分为不同的场景,一个场景又可以分为不同的层,一个层又可以拥有任意个可见的游戏节点(即对象,游戏中基本上所有的类都派生于 ...

  6. MSSQL复习

    1.用户角色: 登录名就相当于一个用户 角色相当于把你的操作权限分组了 2.数据系统结构(略) 网络连接接口 关系引擎 存储引擎 内存 3.数据库的结构 数据库 架构 对象(在Sql server中将 ...

  7. 为nginx增加nginx_http_concat模块

    为nginx增加nginx_http_concat模块 时间 2013-06-05 22:14:56  我行我思 原文  http://www.fanjun.me/?p=562 主题 Nginx 缘由 ...

  8. Verify Preorder Serialization of a Binary Tree

    One way to serialize a binary tree is to use pre-order traversal. When we encounter a non-null node, ...

  9. Selenium webdriver 学习总结-元素定位

    Selenium webdriver 学习总结-元素定位 webdriver提供了丰富的API,有多种定位策略:id,name,css选择器,xpath等,其中css选择器定位元素效率相比xpath要 ...

  10. Greedy:三角形问题

    题目大意:有n根长度的为a1,a2....an的棒子,如果棒子可以组成三角形,求这些棒子能组成的三角形的最大周长? 这一题,一般人只能想到三重循环,当然我们是CS专业的,不能这样想,其实这题可以用DP ...