博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android数据存储——1.使用SharedPreferences存储数据
阅读量:7201 次
发布时间:2019-06-29

本文共 2837 字,大约阅读时间需要 9 分钟。

    今天开始学习Android的数据存储——使用SharedPreferences存储数据

    任何一个应用程序都要依赖数据存储,而且这种存储必须不丢失数据,并且有效、简便使用和更新这些数据。在 Android 操作系统中一共提供了4种数据存储方式,但是由于存储的这些数据都是私有的,所以如果需要共享其他应用程序的数据,就需要用到 Content Provider。4种数据存储方式分别为如下:

  • 1、Shared Preferences。
    用来存储 “键-值”格式的数据。
  • 2、Files。
    通过FileInputStream和FileOutputStream对文件进行操作。
  • 3、SQLite。
    标准数据库,支持SQL语句。
  • 4、NetWork。
    通过网络存储和获取数据。
   本篇中主要讲述4种之一的Shared Preferences,主要内容如下:
1、Shared Preferences 是什么?
 
Shared Preferences 类似于winform中做一些小型配置的ini文件,用来保存一些用户设置的参数。例如,可以通过它保存上一次用户所做的修改或者自定义参数设定,当再次启动程序后依然保持原有设置。
2、如何使用 Shared Preferences 保存数据? 
Shared Preferences提供了getPreferences方法来获得Preferences对象,取得该对象了,即可以使用Editor取得编辑对象
3、如何使用 Shared Preferences 保存数据?
上文获得Editor对象之后即可通过 Android 提供的各自操作函数进行数据提交,如:putBoolean()提交一个键值 为bool值的数据,最后通过commit方法保存这些数据。
4
、使用getPreferences方法创建文件的模式
   在 Android系统提供的API中, 获取 Preferences对象有四种类型,分别如下:
  • 文件创建模式:Activity.MODE_APPEND
    如果该文件已经存在,然后将数据写入,而不是抹掉它现有文件的末尾。
  • 文件创建模式:MODE_PRIVATE
    默认模式,在那里创建的文件只能由应用程序调用,即为私有的
  • 文件创建模式:Activity.MODE_WORLD_READABLE
    允许所有其他应用程序有读取和创建文件的权限。
  • 文件创建模式:Activity.MODE_WORLD_WRITEABLE
    允许所有其他应用程序具有写入、访问和创建的文件权限。
本例中使用到了私有的文件创建模式,来获取Preferences对象。
使用SharedPreferences向手机内存中写入数据
Java代码:

public class MySharedPreferencesDemo extends Activity {	private static final String FILENAME = "mldn"; //保存的文件名称		@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		super.setContentView(R.layout.main);					/**		 * 使用SharedPreferences写入数据(xml文件)到手机内存中		 */		SharedPreferences share = super.getSharedPreferences(FILENAME, Activity.MODE_PRIVATE);		SharedPreferences.Editor edit = share.edit();		edit.putString("author", "LiXingHua");		edit.putInt("age", 30);		edit.commit();//提交更新 }
5、查看 Preferences 产生的文件

    在每安装一个Android 应用程序时,data/data目录下都会产生一个文件夹,如果应用程序中使用了 Preferences 则会在该应用程序文件夹下产生一个shared_prefs文件夹。

查看步骤要求:
  • 必须启动模拟器,运行程序。
  • 在你使用的IDE中切换到DDMS视图,选择File Explorer标签。注意:如果你的File Explorer里面没有任何东西,请根据此步骤找回-->DDMS-在Devices标签中选择
    点击Reset adb即可将你的 File Explorer还原。
  • 找到/data/data目录中对应的项目文件夹下的shared_prefs文件夹
  

使用SharedPreferences从手机内存中读取数据

XML布局:

Java代码:

public class MySharedPreferencesDemo extends Activity {	private static final String FILENAME = "mldn"; //保存的文件名称		private TextView authorinfo = null;	private TextView ageinfo = null;		@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		super.setContentView(R.layout.main);				/**		 * 使用SharedPreferences从手机内存中读取数据(xml文件)		 */		this.authorinfo = (TextView)super.findViewById(R.id.authorinfo);		this.ageinfo = (TextView)super.findViewById(R.id.ageinfo);		SharedPreferences share = super.getSharedPreferences(FILENAME, 				Activity.MODE_PRIVATE);		this.authorinfo.setText("作者:"+share.getString("author", "没有作者信息。"));		this.ageinfo.setText("年龄:"+share.getInt("age", 0));}
读取结果:

转载于:https://www.cnblogs.com/coderookie0820/archive/2013/04/14/4367513.html

你可能感兴趣的文章
小技巧:在向导式页面设计中使用hidden型输入可以避免session的使用
查看>>
[JVM-3]Java垃圾回收(GC)机制和垃圾收集器选择
查看>>
HashMap底层结构、原理、扩容机制
查看>>
About struct in C
查看>>
Maven: Usage
查看>>
20172318 2018-2019-1 《程序设计与数据结构》实验1报告
查看>>
JDK安装、java环境配置
查看>>
php继承多态
查看>>
修改ssh远程默认端口22
查看>>
在.sln文件中设置Visual Studio默认启动项目的简单方法
查看>>
使用 plsql 时的配置信息(连远程数据库服务器 到 在本机安装 oracle )
查看>>
uva 10806 Dijkstra, Dijkstra.
查看>>
Sicily 1308. Dependencies among J
查看>>
HAST 使用笔记
查看>>
Linux之环境变量
查看>>
安装包范例
查看>>
虹软ArcFace人脸识别 与 Dlib 人脸识别对比
查看>>
EJB3.x(JBoss) 第一天
查看>>
在html页头设置不缓存
查看>>
UE正则表达式模糊替换
查看>>