- 浏览: 411647 次
文章分类
- 全部博客 (327)
- Android (114)
- Java (13)
- Java基础 (14)
- Glib (2)
- linux (15)
- extjs (5)
- eclipse (2)
- Asterisk (56)
- MYSQL (6)
- 数据库 (9)
- PHP (7)
- C# (18)
- 杂谈~~ (1)
- web开发前端 (3)
- 网络编程 (2)
- Opensips (2)
- voip (3)
- debian (7)
- openfire (15)
- wordpress (1)
- 版本控制 (1)
- Android 线程服务广播 (1)
- SRTP (2)
- 单片机及ARM等 (3)
- 基础知识 (5)
- asp.net (2)
- 单片机 (1)
- 设计模式及架构 (1)
- 安全 (1)
- Cubieboard 草莓树莓各类派 Android开发板 (1)
- J2EE (2)
- BootStrap (3)
- BootStrap web前端开发 (1)
- web前端开发 (4)
- object-c (1)
- openwrt (8)
- 智能家居 (4)
- Node.js (4)
最新评论
-
xiaoxiecomeon:
你这个程序一存在线程的时间片相互抢占的问题,运行时间长了很可能 ...
Runnable 和 Thread -
dotjar:
我觉得话应该这么说:引用TestThread tt = new ...
Runnable 和 Thread -
dagf113225:
调用TelephonyManager的隐藏API是先参考Fra ...
Android提高第十四篇之探秘TelephonyManager
SharedPreferences存储类效率分析
SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长 整形、Int整形、String字符串型的保存,它是什么样的处理方式呢?
SharedPreferences类似过去Windows系统上的ini配置文件,但是它分为多种权限,可以全局共享访问,android123提示最 终是以xml方式来保存,整体效率来看不是特别的高,对于常规的轻量级而言比SQLite要好不少,如果真的存储量不大可以考虑自己定义文件格式。xml 处理时Dalvik会通过自带底层的本地XML Parser解析,比如XMLpull方式,这样对于内存资源占用比较好。
--------------------------------------------------------------------------------------------------------------------------
SharedPreferences 的用法
2个activity 之间的数据传递除了可以他通过intent来传递,还可以使用SharedPreferences来共享数据的方式
SharedPreferences 用法很简单.
在A中
设置
B中获取
- SharedPreferences sharedata = getSharedPreferences("data", 0);
- String data = sharedata.getString("item", null);
- Log.v("cola","data="+data);
Android数据存取之Preferences
这种方式应该是用起来最简单的Android读写外部数据的方法了。他的用法基本上和 J2SE(java.util.prefs.Preferences)中的用法一样,以一种简单、 透明的方式来保存一些用户个性化设置的字体、颜色、位置等参数信息。一般的应用程序都会提供“设置”或者“首选项”的这样的界面,那么这些设置最后就可以 通过Preferences来保存,而程序员不需要知道它到底以什么形式保存的,保存在了什么地方。当然,如果你愿意保存其他的东西,也没有什么限制。只 是在性能上不知道会有什么问题。
在Android系统中,这些信息以XML文件的形式保存在 /data/data/PACKAGE_NAME /shared_prefs 目录下。
数据读取
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文件中:<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什么什么为空的判断。
数据写入
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();
注意:
目前此类不支持多线程,
发表评论
-
直接拿来用!最火的Android开源项目整理
2015-09-16 10:13 601一、代码库 1、from 代码家 整理比较好的源 ... -
探讨android更新UI的几种方法
2014-06-09 23:27 616今天讲的内容非常简单,只是讲讲有关于android界面更新的 ... -
Android 滑动切换页面 以及屏幕手势
2014-05-08 17:49 526手机进入智能机时代,触摸屏也已成为主流之势,原来的手机按键也 ... -
android 用Achartengine 作图
2014-05-08 16:55 761Achartengine 是google的一 ... -
Android中使用Animation实现控件的动画效果以及Interpolator和AnimationListener的使用
2014-05-08 16:28 769Animation的4个基本动画效果 What is An ... -
java.lang.ClassNotFoundException: Didn't find class "android.support.v4.view.Vie
2014-05-06 14:43 2933Android错误:Caused by: java.lang ... -
Android Socket通信如何设置超时时间
2014-05-06 14:14 1079其实关于这个问题可能用到的人不会很多,不过我在这里还是说说。 ... -
【转】Android本地语音识别引擎PocketSphinx-语言建模
2014-02-13 10:35 1829Android本地语音识别引擎PocketSphinx- ... -
关于build.prop原始Dalvik虚拟机设定与调整
2013-09-05 10:40 1260原厂S3 台版 1GB Ramsystem/build.pro ... -
Android中Service与IntentService的使用比较
2013-09-04 15:24 1202该博客来自网络——— ... -
android 应用程序Activity之间数据传递与共享的几种途径
2013-08-01 17:24 9061.基于消息的通信机制 Intent ---boud ... -
android数据通信方式
2013-08-01 17:15 911http://www.itkee.com/develope ... -
“android.intent.category.DEFAULT”的目的是什么?
2013-07-31 16:43 5381、要弄清楚这个问题,首先需要弄明白什么是implicit( ... -
集成拨号盘,2句话的事情
2013-07-30 15:45 602<intent-filter> < ... -
Android TabHost动态加载内容总结
2013-07-25 17:49 954前面用继承TabActivity的方法很好的完成了,TabHo ... -
[Android实例] android json
2013-07-17 15:20 654import java.io.ByteArrayOutput ... -
android json解析及简单例子
2013-07-17 15:19 932JSON的定义: 一种轻量级的数据交换 ... -
AsyncTask的用法-UI刷新发放
2013-07-15 14:50 666在开发Android应用时必须遵守单线程模型的原则: A ... -
java.lang.OutOfMemoryError处理错误
2013-07-15 14:41 671java.lang.OutOfMemoryError异常解决 ... -
关于android.view.WindowLeaked异常的解决方案
2013-07-15 10:34 614Android.view.WindowLeaked按字面了解, ...
相关推荐
在Android开发中,...总之,SharedPreferences是Android开发中不可或缺的一部分,掌握其使用方法对于提升应用的用户体验和功能完善至关重要。通过实践和探索,你可以更熟练地运用这一工具来满足各种数据存储需求。
2. **创建SharedPreferences.Editor**:使用SharedPreferences的edit()方法获取Editor对象,用于编辑SharedPreferences中的数据。 ```java SharedPreferences.Editor editor = sharedPreferences.edit(); ``` 3. *...
以下是对SharedPreferences使用方法的详细介绍: 1. 获取SharedPreferences对象: 要使用SharedPreferences,首先需要获取到它的实例。通常有两种方式: - `getSharedPreferences(String name, int mode)`:通过...
要保存或修改数据,我们需要创建一个`SharedPreferences.Editor`对象,然后调用其`put()`方法。例如,保存一个字符串键值对: ```java SharedPreferences.Editor editor = sharedPreferences.edit(); editor....
- 创建Editor:调用SharedPreferences对象的`edit()`方法,返回一个SharedPreferences.Editor对象,用于编辑SharedPreferences中的数据。 - 添加或修改数据:使用Editor对象的`putXXX()`方法(XXX代表数据类型,如...
首先,了解SharedPreferences的基本用法。SharedPreferences是Android提供的一个接口,用于存储和读取简单的数据类型,如布尔型、整型、浮点型、字符串型以及它们的数组。它不支持直接存储自定义对象,包括集合类如...
如果程序中需要保存用户设置的信息,我们可以选择保存到数据库或文件中,但如果是少量的配置信息,Android为我们提供了更加方便的保存方法:SharedPreferences,使用SharedPreferences保存的文件在对应的的应用程序...
本篇文章将深入探讨如何使用SharedPreferences进行第一次运行判断,并讲解其基本用法和注意事项。 **1. SharedPreferences的基本概念** SharedPreferences是一个接口,它提供了读写键值对(key-value pairs)的方法...
使用`SharedPreferences.Editor`接口对数据进行修改,例如`edit()`方法返回一个Editor实例。 3. **添加或修改数据**: 在Editor对象上可以使用`putString()`, `putInt()`, `putBoolean()`等方法添加或修改数据。 ...
**Android中的SharedPreferences** SharedPreferences是Android系统提供的一种轻量级的数据存储机制,主要用于应用程序保存简单的配置信息,如用户...通过熟练掌握其使用方法,开发者能够更好地管理应用的配置信息。
在Android中,通常我们会在需要使用SharedPreferences的地方创建一个SharedPreferences实例。这可以通过以下代码实现: ```java SharedPreferences sharedPreferences = getSharedPreferences("MyPreferences", ...
在Android开发中,SharedPreferences是用于存储轻量级数据的一个实用工具类,主要用来保存应用程序的配置设置或用户偏好。它提供了简单的键值对存储方式,适用于保存非敏感性的个人数据,如用户设置、应用状态等。这...
2. 创建SharedPreferences.Editor:使用`edit()`方法创建一个Editor对象,用于编辑SharedPreferences中的数据。 ```java SharedPreferences.Editor editor = sharedPreferences.edit(); ``` 3. 存储数据:通过...
Android的基础知识,总结的很细,值得学习
使用`SharedPreferences`对象的`getString()`, `getInt()`, `getBoolean()`等方法读取数据。例如,读取一个字符串: ```java String myValue = sharedPreferences.getString("myKey", "defaultValue"); ``` 3. **...
读取SharedPreferences中的数据则通过SharedPreferences对象的getString()、getInt()、getBoolean()等方法完成,同时需要提供一个默认值,以防键不存在: ```java String value1 = sharedPreferences.getString(...
而使用Kotlin和RxJava(一种响应式编程库)来增强SharedPreferences的管理,可以提供更流畅、异步友好的方式来读写数据。"Android-Kotlin的一个小型Rx驱动sharedpreferences库"就是这样一个库,它将 RxJava2 的功能...