Android的移动存储解决方案“.NET研究”之SharedPreferences

简介:   搞Android有一段时间了,但是并没写过有关Android的博客,今天给大家介绍一下SharedPreferences。    使用SharedPreferences保存key-value对的步骤如下:  (1)使用Activity类的getSharedPreferences方法获得SharedPreferences对象,其中存储key-value的文件的名称由getSharedPreferences方法的第一个参数指定。

  搞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;
上海网站建设 style="color: #008080;"> 4 import android.content.SharedPre上海闵行企业网站制作ferences;
5 import android.os.Bundle;
6 import android.widget.EditText;
7 import android.widget.RadioGroup;
8
9   public class ShaPreTestActivity extends Activity{
10 /* * Called when the activity is first created. */
11 private final String PREFERENCES_NAME = " survey " ;
12 private EditText etName;
13 private EditText etAge;
14 private RadioGroup sex;
15
16 @Override
17 public void onCreate(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 protected void onStop() {
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 }

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

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

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

 
 
1 <? xml version = ' 1.0 ' encoding = ' utf-8 ' standalone = ' yes ' ?>
2 < map >
3 < int name = " sex " value 上海企业网站制作 = " 2131034115 " />
4 < string name = " name " > name </ string >
5 < string name = " age " > 10 </ string >
6 </ map >
7

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

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

目录
相关文章
|
3月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
189 3
|
7月前
|
存储 API 文件存储
47. 【Android教程】SharedPreferences 存储
47. 【Android教程】SharedPreferences 存储
80 2
|
3月前
|
安全 Java 网络安全
Android远程连接和登录FTPS服务代码(commons.net库)
Android远程连接和登录FTPS服务代码(commons.net库)
38 1
|
3月前
|
监控 网络安全 调度
Quartz.Net整合NetCore3.1,部署到IIS服务器上后台定时Job不被调度的解决方案
解决Quartz.NET在.NET Core 3.1应用中部署到IIS服务器上不被调度的问题,通常需要综合考虑应用配置、IIS设置、日志分析等多个方面。采用上述策略,结合细致的测试和监控,可以有效地提高定时任务的稳定性和可靠性。在实施任何更改后,务必进行充分的测试,以验证问题是否得到解决,并监控生产环境的表现,确保长期稳定性。
144 1
|
4月前
|
存储 安全 物联网
.NET 跨平台工业物联网网关解决方案
【9月更文挑战第28天】本文介绍了利用 .NET 构建跨平台工业物联网网关的解决方案。通过 .NET Core 和多种通信协议(如 MQTT 和 Modbus),实现工业设备的高效接入和数据采集。系统架构包括设备接入层、数据处理层、通信层、应用层和数据库层,确保数据的准确采集、实时处理和安全传输。此外,还详细阐述了设备身份认证、数据加密及安全审计等机制,确保系统的安全性。该方案适用于不同操作系统和工业环境,具备高度灵活性和扩展性。
106 1
|
5月前
|
存储 安全 API
Android经典实战之存储方案对比:SharedPreferences vs MMKV vs DataStore
本文介绍了 Android 开发中常用的键值对存储方案,包括 SharedPreferences、MMKV 和 DataStore,并对比了它们在性能、并发处理、易用性和稳定性上的特点。通过实际代码示例,帮助开发者根据项目需求选择最适合的存储方案,提升应用性能和用户体验。
172 1
|
5月前
|
API C#
.NET电子邮件高效处理解决方案
.NET电子邮件高效处理解决方案
|
5月前
|
安全 Java 网络安全
Android远程连接和登录FTPS服务代码(commons.net库)
很多文章都介绍了FTPClient如何连接ftp服务器,但却很少有人说如何连接一台开了SSL认证的ftp服务器,现在代码来了。
121 2
|
5月前
分享一份 .NET Core 简单的自带日志系统配置,平时做一些测试或个人代码研究,用它就可以了
分享一份 .NET Core 简单的自带日志系统配置,平时做一些测试或个人代码研究,用它就可以了
|
5月前
|
Android开发
解决Android、Flutter编译时Gradle报错:javax.net.ssl.SSLException: Connection reset
解决Android、Flutter编译时Gradle报错:javax.net.ssl.SSLException: Connection reset
567 0