【转】android中的数据存取-方式一:preference(配置)

    这种方式应该是用起来最简单的Android读写外部数据的方法了。他的用法基本上和J2SE(java.util.prefs.Preferences)中的用法一样,以一种简单、 透明的方式来保存一些用户个性化设置的字体、颜色、位置等参数信息。一般的应用程序都会提供“设置”或者“首选项”的这样的界面,那么这些设置最后就可以 通过Preferences来保存,而程序员不需要知道它到底以什么形式保存的,保存在了什么地方。当然,如果你愿意保存其他的东西,也没有什么限制。只是在性能上不知道会有什么问题。

在Android系统中,这些信息以XML文件的形式保存在 /data/data/PACKAGE_NAME/shared_prefs 目录下。

数据读取

 

  1. String PREFS_NAME = "Note.sample.roiding.com";  
  2. SharedPreferences settings = getSharedPreferences(PREFS_NAME,  0);  
  3.  boolean silent = settings.getBoolean("silentMode", false);  
  4. String hello = settings.getString( "hello", "Hi"); 
String PREFS_NAME = "Note.sample.roiding.com";
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
boolean silent = settings.getBoolean("silentMode", false);
String hello = settings.getString("hello", "Hi");
这段代码中:
  • SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
    通过名称,得到一个SharedPreferences,顾名思义,这个Preferences是共享的,共享的范围据现在同一个Package中,这里面说所的Package和Java里面的那个Package不同,貌似这里面的Package是指在AndroidManifest.xml文件中:

     

     

    1. <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    2.  package="com.roiding.sample.note" 
    3.  android:versionCode="1" 
    4.  android:versionName="1.0.0"> 
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.roiding.sample.note"
    android:versionCode="1"
    android:versionName="1.0.0">
    

    这里面的package。根据我目前的实验结果看,是这样的,欢迎指正。后面的那个int是用来声明读写模式,先不管那么多了,暂时就知道设为0(android.content.Context.MODE_PRIVATE)就可以了。

  • boolean silent = settings.getBoolean(”silentMode”, false);
    获得一个boolean值,这里就会看到用Preferences的好处了:可以提供一个缺省值。也就是说如果Preference中不存在这个值的话,那么就用后面的值作为返回指,这样就省去了我们的if什么什么为空的判断。

数据写入

 

  1. String PREFS_NAME = "Note.sample.roiding.com";  
  2. SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);  
  3. SharedPreferences.Editor editor = settings.edit();  
  4. editor.putBoolean("silentMode", true);  
  5. editor.putString("hello", "Hello~");  
  6. editor.commit(); 
String PREFS_NAME = "Note.sample.roiding.com";
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("silentMode", true);
editor.putString("hello", "Hello~");
editor.commit();

有了上面数据读取的代码,这里面的就容易理解了,只是别忘了最后的commit();

 

原文(含示例代码):http://www.cnblogs.com/linzheng/archive/2011/01/22/1942073.html

链接: Android系列:http://www.cnblogs.com/linzheng/tag/android/

 

 

时间: 2024-07-31 19:25:06

【转】android中的数据存取-方式一:preference(配置)的相关文章

修改按钮-Android中adapter数据传递出去与控制activity中按钮状态

问题描述 Android中adapter数据传递出去与控制activity中按钮状态 1C 求大神告知,我在adapter中获得了数据,是一个List 现在我在包适配器的这个activity中要用这个List如何将数据传递到activity中去呢?或者说我在activity中如何调用这个数据呢?还有一个问题,我在adapter中 viewHolder.imageIsCheck.setTag(position); convertView.setOnClickListener(new Content

android中ListView数据刷新时的同步方法

  本文实例讲述了android中ListView数据刷新时的同步方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

文件打开方式-android 中修改完成动作方式的 弹出方式 加上从右向左位移的动画

问题描述 android 中修改完成动作方式的 弹出方式 加上从右向左位移的动画 打开一个-mp4文件-时候系统会查找能打开的软件-我想给系统的打开方式加上位移动画怎么设置啊 解决方案 那个是系统程序吧,只能修改系统相关代码,

从 android 中传递数据到网站

问题描述 从 android 中传递数据到网站 在 android 程序中我使用一个 url 来登录,就像 .www.blah.com/api/login/username/password. private void sendAccelerationData(){ ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(7); nameValuePairs.add(new BasicNameVa

Android中以粗暴的方式替换全局字体

本文讲的是Android中以粗暴的方式替换全局字体,在 Android 下使用自定义字体已经是一个比较常见的需求了,最近也做了个比较深入的研究. 那么按照惯例我又要出个一篇有关 Android 修改字体相关的文章,但是写下来发现内容还挺多的,所以我决定将它们拆分一下,分几篇来详细的讲解(可能是五篇).主要会是一些常用的替换字体的方案,最后还会介绍一些全局替换的方案,当然也会包含最新的 『Fonts in XML』的方案. 期待你持续关注. 本篇是本系列的第二篇,之前已经发布的文章,有兴趣可以先看

Android中Json数据读取与创建的方法

首先介绍下JSON的定义,JSON是JavaScript Object Notation的缩写. 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换.JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. JSON的结构: (1) Name/Value Pairs(无序的):类似所熟知的Keyed list. Hash table.Disctiona

Android App中各种数据保存方式的使用实例总结_Android

少量数据保存之SharedPreferences接口实例SharedPreferences数据保存主要是通过键值的方式存储在xml文件中 xml文件在data/此程序的包名/XX.xml. 格式: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <map> <int name="count" value="3" /> <string name="ti

Android中Textview超链接实现方式_Android

TextView中的超链接可以通过几种方式实现:一.Html.fromHtml方式 TextView,本身就支持部分的Html格式标签.这其中包括常用的字体大小颜色设置,文本链接等.使用起来也比较方便,只需要使用Html类转换一下即可: textView.setText(Html.fromHtml(str)); 代码如下: public class Test10Activity extends Activity { TextView textView ; @Override protected

Android MMS模块数据存取以及各个表的字段说明

数据表 MMS模块总共包含17张表:addr.android_metadata.attachments.canonical_addresses.drm.part.pdu.pending_msgs.rate.raw.sms.sr_pending.threads.words.words_content.words_segdir.words_segments. 其中,pending_msgs表用于存储待发送或下载的短信与彩信(有待证实),使用pdu中的触发器进行插入和删除.raw表用于存储接收中的长短