android文件存储方式(基于android的app开发)

我们平常在QQ或微信上登录账号时会发现,如果之前登录过账号,则在用户名的输入框中会存在之前输入过的账号信息,这些用户名信息是如何自动显示在界面输入框中的呢?其实自动在QQ或微信的登录界面显示的用户名信

我们平常在QQ或微信上登录账号时会发现,如果之前登录过账号,则在用户名的输入框中会存在之前输入过的账号信息,这些用户名信息是如何自动显示在界面输入框中的呢?

其实自动在QQ或微信的登录界面显示的用户名信息是存储在QQ或微信的本地数据。

当第一次登录账号时,程序会读取登录时的用户名信息,并将该信息存储到本地,存储数据时常用的两种方式是SharedPreferences文件存储与SQLite数据库存储。

一般少量的数据会存储在SharedPreferences文件中,大量的数据还是需要存储在SQLite数据库中的,所以用户名信息会存储在SharedPreferences文件中。

SharedPreferences是Android平台上一个轻量级的存储类,当程序中有一些少量数据需要持久化存储时,可以使用SharedPreferences类进行存储。

接下来我们就一起开启通往Android数据存储之SharedPreferences的学习旅程吧!

1、将数据存入SharedPreferences文件中

使用SharedPreferences类存储数据时,首先需要调用getSharedPreferences(String name,int mode)方法获取实例对象。

由于该对象本身只能获取数据,不能对数据进行存储和修改,所以需要调用SharedPreferences类的edit()方法获取到可编辑的Editor对象,最后通过该对象的putXxx()方法存储数据,示例代码如下面这样:

//获取sp对象,参数data表示文件名,MODE_PRIVATE表示文件操作模式
SharedPreferences sp = getSharedPreferences(\"data\",MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit(); // 获取编辑器
editor.putString(\"name\", \"传智播客\"); // 存入String类型数据
editor.putInt(\"age\", 8); // 存入int类型数据
editor.commit(); // 提交修改

由上述代码可知,Editor对象是以key/value的形式保存数据的,并且根据数据类型的不同,会调用不同的方法。需要注意的是,操作完数据后,一定要调用commit()方法进行数据提交,否则所有操作不生效。

注意:SharedPreferences中的Editor编辑器是通过key/value(键值对)的形式将数据保存在data/data/<packagename>/shared_prefs文件夹下XML文件中,其中value值只能是float、int、long、boolean、String、Set<String>类型数据。

2、读取与删除SharedPreferences文件中的数据

前面讲解了如何将数据存入到SharedPreferences文件中,当我们需要使用或删除SharedPreferences文件中的数据时,我们该如何读取或删除SharedPreferences文件中的数据呢?下面详细地介绍如何读取和删除SharedPreferences文件中的数据。

(1)读取 SharedPreferences文件中的数据

读取SharedPreferences文件中的数据非常简单,只需要获取到SharedPreferences对象,然后通过该对象的getXXX()方法获取到相应key的值即可,示例代码如下面这样:

SharedPreferences sp = getSharedPreferences(\"data\",MODE_PRIVATE);
String data = sp.getString(\"name\",\"\"); // 获取用户名

需要注意的是,getXXX()方法的第二个参数为缺省值,如果sp中不存在该key,将返回缺省值,例如getString(“name”, “”),若name不存在则key就返回空字符串。

(2)删除SharedPreferences文件中的数据

如果需要删除SharedPreferences中的数据,则只需要调用Editor对象的remove(String key)方法或者clear()方法即可,示例代码如下面这样:

editor.remove(\"name\"); // 删除一条数据
editor.clear(); // 删除所有数据

注意:

SharedPreferences使用很简单,但一定要注意以下两点:

●获取数据的key值与存入数据的key值的数据类型要一致,否则查找不到数据。

●保存SharedPreferences的key值时,可以用静态变量保存,以免存储、删除时写错了。如:private static final String key = “itcast”;

通过本篇文章,希望大家能够掌握如何存储程序中的少量数据,如何将数据存储到SharedPreferences文件中,并且可以对存储在SharedPreferences文件中的数据进行读取和删除操作。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/83588.html

(0)
nan
上一篇 2022-01-13
下一篇 2022-01-13

相关推荐

  • 全球10大免费无版权图片网站(国外图片素材网站有哪些)

    相信平时大家都遇到找图片素材难的问题,下载要收费、担心版权问题不敢用,今天小编来分享一下我平时10个免费无版权的图片素材网站,如果觉得有用的话可以添加到自己的收藏夹以防忘记哦~1.Isorepublic以自然风光为主的图片网站,高清无版

    2021-12-07 用户投稿
    0
  • 飞利浦车载净化器怎么样(飞利浦空气净化器使用测评)

    随着家中萌娃慢慢进化成神兽,小孩在车内活动的时长和频率增加,让我对于车内空气安全也越来越担忧,主要是雾霾和甲醛两个方面。秋冬雾霾天行车的感受自是不用多说,另外在夏天高温导致内饰挥发出的异味增加也让我很

    2022-01-13 用户投稿
    0
  • 抖音搬砖项目探店号矩阵玩法(每天播放10W+出100单)

    断更了几天,我这阵子主要在研究和测试短视频相关的一些玩法,这个项目也可以说是我在做其他项目中无意间测试出来的在最近这段时间热度比较高的可能就属抖音的同城探店号了,抖音也放出讯号说要给同城号一定的流量支持,在同城号里占比最高的也莫过于美食

    2021-12-07
    0
  • 90级狂战刷什么图深渊好(90级深渊刷哪个图)

    DNF深渊刷哪里好讲解这些图爆率比较高。关于深渊刷哪个图一直是玩家们都在讨论的话题,老玩家们的多多少少都有了了解,萌新们可能还不知道,所以小编就来为大家说一说在目前的版本中,刷深渊去哪个地图比较好。…

    2022-02-19
    0
  • 动态ppt怎么制作(动画ppt)

    在制作ppt时会用到各种各样的动画效果,项目就介绍在PPT中怎么设置浮入动画效果的方法,今天给大家分享的内容是:ppt创意风格的制作《浮入效果的运用》,首先看一下效果图动态图静态图第一步,插入空白幻灯片,鼠标右键,设置背景格式点击渐变填

    2021-12-16 用户投稿
    0
  • 店铺选址六大要素(店铺选址的黄金法则)

    店铺选址六大要素(店铺选址的黄金法则)。久久派带你了解更多相关信息。连锁企业的标准化中,关于服务的标准化是很难的,制定的方法有两个:1、打包。举个例子,一个健身中心有38个项目,销售人员去一个个去给客户介绍销售这38个项目,很难介绍清楚,客

    2022-01-17
    0

发表回复

登录后才能评论