Android的移动存储解决方案之SharedPreferences 狼人:

摘要:
我在Android上工作了一段时间,但我还没有写过关于Android的博客。今天,我想向大家介绍SharedPreferences。使用SharedPreferences界面的编辑来获取SharedPrefeences。编辑器对象。通过SharedPreferences的commit方法保存键值对。编辑器界面。1packageorg.sharedPreferences。测验23导入标准roid.app。活动4导入标准化内容。SharedPreferences;5导入标准roid.os。捆6导入标准roid.widget。编辑文本;7导入标准roid.widget。无线电组;89publiclassShaPreTestActivityextendsActivity{10/**在首次创建活动时调用。*/11privatefinalStringPREFERENCES_NAME=“调查”;12privateEditTextetName;13privateEditionTextetAge;14privateRadioGroupsex;1516@Override17publicvoidonCreate{18super.onCreate;19setContentView;20etName=findViewById;21etAge=findView ById;22sex=findViewById;2324SharedPreferencespreferences=getSharedPrefeences;25etName.setText;26etAge.setText;27sex.check;28}2930@Override31protectedvoidonStop(){32//获取SharedPreferences对象33SharedPrefeences MyPreferences=getSharedPreffeences;34//获取Shared Preferences.Editor对象35SharedPreparences.Editoreditor=MyPrefernces.edit();36//保存组件37editor.putString;38editor.poutString;39editor.putiInt;40//提交保存的结果41editor.commit();42super.onStop();43}44}编写代码后,运行程序,当你完成键入并退出后,当你再次进入程序时,你会发现你上次写的内容仍然在上面,并且完全相同。这是我的SharedPreferences示例。稍后我将介绍一些数据库示例。我希望你会继续关注他们。

搞Android有一段时间了,但是并没写过有关Android的博客,今天给大家介绍一下SharedPreferences。

使用SharedPreferences保存key-value对的步骤如下:

(1)使用Activity类的getSharedPreferences方法获得SharedPreferences对象,其中存储key-value的文件的名称由getSharedPreferences方法的第一个参数指定。

(2)使用SharedPreferences接口的edit获得SharedPreferences.Editor对象。

(3)通过SharedPreferences.Editor接口的putXxx方法保存key-value对。其中Xxx表示不同的数据类型。例如:字符串类型的value需要用putString方法。

(4)通过SharedPreferences.Editor接口的commit方法保存key-value对。commit方法相当于数据库事务中的提交(commit)操作。

具体的存入和获取操作,我已经把代码贴出来了,你们可以看一下。

1 package org.sharedPreferences.test;
2 3 import android.app.Activity;
4 import android.content.SharedPreferences;
5 import android.os.Bundle;
6 import android.widget.EditText;
7 import android.widget.RadioGroup;
8 9 publicclassShaPreTestActivity extends Activity{
10 /** Called when the activity is first created. */11 privatefinal String PREFERENCES_NAME="survey";
12 privateEditText etName;
13 privateEditText etAge;
14 privateRadioGroup sex;
15 16 @Override
17 publicvoidonCreate(Bundle savedInstanceState) {
18 super.onCreate(savedInstanceState);
19 setContentView(R.layout.main);
20 etName =(EditText)findViewById(R.id.name);
21 etAge =(EditText)findViewById(R.id.age);
22 sex =(RadioGroup)findViewById(R.id.sex);
23 24 SharedPreferences preferences =getSharedPreferences(PREFERENCES_NAME, Activity.MODE_PRIVATE);
25 etName.setText(preferences.getString("name", ""));
26 etAge.setText(preferences.getString("age", ""));
27 sex.check(preferences.getInt("sex", -1));
28 }
29 30 @Override
31 protectedvoidonStop() {
32 //获得SharedPreferences对象33 SharedPreferences MyPreferences =getSharedPreferences(PREFERENCES_NAME, Activity.MODE_PRIVATE);
34 //获得SharedPreferences.Editor对象35 SharedPreferences.Editor editor =MyPreferences.edit();
36 //保存组件中的值37 editor.putString("name", etName.getText().toString());
38 editor.putString("age", etAge.getText().toString());
39 editor.putInt("sex", sex.getCheckedRadioButtonId());
40 //提交保存的结果41 editor.commit();
42 super.onStop();
43 }
44 }

代码写好后,你运行程序,你会发现,你输入完退出后,当你再次进入该程序的时候,你就会发现,你上次写的东东还在上面,而且是一模一样。

Android的移动存储解决方案之SharedPreferences 狼人:第1张

并且你会在data目录下找到一个名字叫survey.xml文件:

Android的移动存储解决方案之SharedPreferences 狼人:第2张

然后把它导出来,打开之后的格式以及内容如下所示:

1 <?xml version='1.0'encoding='utf-8'standalone='yes'?>2 <map>3 <intname="sex"value="2131034115"/>4 <stringname="name">name</string>5 <stringname="age">10</string>6 </map>7

从上面的内容可以看出,它是把那些字段都保存到了xml文件中,当你开启这个应用的时候,它会自动的去data下面找到相应的xml并且把相应的数据显示出来。

这是我做的有关SharedPreferences例子,后面我还会介绍一些有关数据库的例子,希望大家继续关注。(本来我是想上传例子的,但是找了半天也没找到,你们如果谁知道,请告我一声,谢谢!)

免责声明:文章转载自《Android的移动存储解决方案之SharedPreferences 狼人:》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇在finally块中使用try catch,并且catch的时候抛出异常的一个问题eclipse中javadoc给项目生成api文档下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Spyder——科学的Python开发环境

刚开始接触Python的时候,网上找到的资料基本上上来就是介绍Python语言,很少有对开发环境进行讲解的,但如果在学习的过程中不断练习,这样效率会更高,所以特意将一个Python的开发环境Spyder自带的入门教程翻译出来,希望可以帮助到和我有同样困惑的你。 个人水平有限,会有翻译不到位的地方,欢迎批评指正! Spyder是使用Python编程语言进行科...

最优秀的5个Linux文本编辑器

from: http://article.yeeyan.org/view/169956/174836 作为不久前举办的比赛的一部分内容,我从那些选出他们最喜欢的Linux文本编辑器的极客读者们那获得了约200个反馈。 基于这个数据, 最最优秀的Linux文本编辑器是 Vi / Vim Editor Vim以绝对优势获胜在大家的意料之中。如果你不熟悉最好的5...

再议Unity优化

0x00 前言 在很长一段时间里,Unity项目的开发者的优化指南上基本都会有一条关于使用GetCompnent方法获取组件的条目(例如14年我的这篇博客《深入浅出聊Unity3D项目优化:从Draw Calls到GC》)。有时候还会发展为连一些Unity内部对象的属性访问器都要小心使用的注意事项,记得曾经有一段时间我们的项目组也会严格要求把例如trans...

ASP.NET MVC 文件上传和路径处理

ASP.NET MVC 文件上传和路径处理总结目录   文件的上传和路径处理必须解决下面列出的实际问题:   1.重复文件处理   2.单独文件上传   3.编辑器中文件上传   4.处理文章中的图片路径   5.处理上传地址的变化   一.上传文件和重复文件处理   文件处理的原则是:不在数据库中保存文件,只在数据库中保存文件信息(Hash值等)。采取文...

vue 富文本编辑器 项目实战用法

1.挑个富文本编辑器 首先针对自己项目的类型,确定自己要用啥编辑器。 1.1 wangeditor 如果一般类似博客这种项目不需要花里胡哨的,功能也不要求贼多的,推荐一下wangeditor(点击跳转)。能覆盖基本上所有的常见操作,轻量化,开源,有中文文档。 ▽wangeditor效果图  1.2 tinyMCE 如果需要复杂的编辑器,推荐tinyMCE...

Js 之移动端富文本插件(wangEditor)

文档:https://www.kancloud.cn/wangfupeng/wangeditor3/332599 下载:https://github.com/wangfupeng1988/wangEditor/releases 一、效果图  二、代码示例 <div id="editorContainer" style="margin-bottom...