Android开发之数据存储之一:haredPreferences【免费提供源码下载】
来源:互联网 发布:掌盟软件下载 编辑:程序博客网 时间:2024/06/05 17:46
Android开发之数据存储之(一)【haredPreferences】
很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,用户可以设置是否允许陌生人添加自己为好友。对于软件配置参数的保存,如果是window软件通常我们会采用ini文件进行保存,如果是j2se应用,我们会采用properties属性文件进行保存。如果是Android应用,我们最适合采用什么方式保存软件配置参数呢?
Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs目录下:
下面我们通过一个简单的小例子来学习:
我们在XML下定义两个TextView和两个EditText,代码如下:
<TextView android:id="@+id/view1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="用户名" /><EditTextandroid:id="@+id/userame"android:layout_width="fill_parent"android:layout_height="wrap_content"/><TextView android:id="@+id/view2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="密码" /><EditTextandroid:id="@+id/password"android:layout_width="fill_parent"android:layout_height="wrap_content"android:inputType="textPassword"/>
然后我们在SharedActivity.Java中的代码:
private static final String SETTING_INFOS = "SETTING_Infos";private static final String NAME = "NAME";private static final String PASSWORD = "PASSWORD";private EditText username=null;private EditText password=null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); username=(EditText) findViewById(R.id.userame); password=(EditText) findViewById(R.id.password); //获取了一个SharedPreferences对象 SharedPreferences preferences=getSharedPreferences(SETTING_INFOS, 0); //读取SharedPreferences存储文件的内容 String nameString=preferences.getString(NAME, ""); String pwd=preferences.getString(PASSWORD, ""); username.setText(nameString); password.setText(pwd); } @Overrideprotected void onPause() {super.onPause();//获取对象,第一个参数为保存xml文件的文件名,第二个参数是保存文件的操作模式SharedPreferences sharedPreferences=getSharedPreferences(SETTING_INFOS, 0);//先调用edit使其处于可编辑状态,然后写进去,再提交sharedPreferences.edit().putString(NAME,username.getText().toString()).putString(PASSWORD, password.getText().toString()).commit();}////@Override//protected void onStop() {//super.onStop();//SharedPreferences sharedPreferences=getSharedPreferences(SETTING_INFOS, 0);//sharedPreferences.edit()//.putString(NAME,username.getText().toString())//.putString(PASSWORD, password.getText().toString())//.commit();////}
注释的内容是写在onStop中的,需要在完全退出程序的时候才能执行,写在onPuse中的,只要切换到别的页面的时候就会保存。
如下图,我们输入数据
然后我们来到DDMS下面,然后找到File Explorer下面的data下找到以我们包名命名的文件夹,在里面的share_prefs文件夹下面的xml文件即为保存数据的文件,导出后用EditPlus打开来看下:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="PASSWORD">vvvvvvvghjnb</string>
<string name="NAME">dbkkk </string>
</map>
源码下载地址
- Android开发之数据存储之一:haredPreferences【免费提供源码下载】
- Android开发之数据存储之二:SQLite数据库存储方式【免费提供源码下载】
- Android开发之ListView详解(带按钮布局)【免费提供源码下载】
- 微软开发工具开始免费提供下载
- 源码交流网,提供50套商业源码免费下载
- Android自定义“图片+文字”控件四种实现方法之一--------Gallery原理(提供源码下载)
- Android开发之五大存储方式之一数据库存储
- 【拯救电源键】最详尽的android开发一键锁屏实例 提供免费源码+apk
- 免费提供下载
- Android数据存储总结 之一
- 提供android 5.0 AOSP源码下载
- Android开发之数据存储SharedPreferences
- Android开发--数据存储之数据库操作
- Android开发_数据存储之SharedPreferences
- 【iOS-Android开发对比】之 数据存储
- Android项目开发之Sqlite数据存储
- Android开发之数据持久化存储
- Android开发之数据存储全方案
- 数组名相当于&array[0]
- 有关Android线程的学习
- Android项目在非Eclipse下安装到模拟器以及导入到Eclipse
- Java类和对象的初始化顺序
- 非常简洁的div排序,使用jquery
- Android开发之数据存储之一:haredPreferences【免费提供源码下载】
- Linux C编程连载(3)-串口编程
- 判断ResultSet结果集的记录数是否为0的折衷方案
- 独孤求败-武功高强深不可测的大侠~~
- list添加删除操作
- Java类初始的特殊例子
- 解开Android应用程序组件Activity的"singleTask"之谜
- Java解析xml的主要解析器: SAX和DOM的选择(附上新方法--Pull解析)
- 在 Perl 中使用 Getopt::Long 模块来接收用户命令行参数 z