首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android数据存储之SharePreferences简记

前言 之前在项目中有个资料编辑功能,寻找了好久,最终决定使用SharePreferences,可惜当初学的太差,现在只好重新补救,将相关内容整理于此。...其存储位置在/data/data//shared_prefs目录下。SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。...如上面代码中因为并无值为"NOT_EXIST"的Key,所以Log打印出的是其默认值:“none”。在访问一个不存在key值这个过程中,并无任何异常抛出。 ?...Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容 Context.MODE_APPEND:模式会检查文件是否存在...MODE_WORLD_READABLE:表示当前文件可以被其他应用读取. MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入 SP.xml中的文件 <?

2.1K11
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    10.Android-SharedPreferences使用

    采用xml文件形式存储在/data/data/包名/shared_prefs/下 优点在于: 轻量级,以键值对的方式进行存储,使用方便,易于理解 程序卸载后会也会一并被清除,不会残留信息 缺点在于: 不支持跨多个进程使用...getPreferences()方法 public SharedPreferences getPreferences(int mode); //mode: 可以填入MODE_PRIVATE(文件只能由调用应用程序访问...(文件只能由调用应用程序访问) //生成的配置文件名字会默认将包名作为文件名....Set类型的值 boolean commit(); //提交数据,写入io 4.使用3种方法生成SharedPreferences配置文件示例 写MainActivity.java的onCreate...edit3.commit(); //读取数据 Log.v("MainActivity","sp3: "+sp1.getString("name", "")); } 运行后,可以看到在

    91900

    Android SharedPreferences存储数据与读取

    介绍 SharedPreferences为Android五种数据存储的方式之一,其他四种数据存储分别为:文件存储方式、SQLite数据库存储、ContentProvider方式、网络存储。 2....SharedPreferences存储特点 2.1 存储的所有信息都以键值对“key=value”的形式保存; 2.2 SharedPreferences接口只能保存一些基本的数据类型,如字符串,整型,...= "sharedfile";//定义保存的文件的名称 @Override protected void onCreate(Bundle savedInstanceState)...SharedPreferences share = super.getSharedPreferences(fileName, MODE_PRIVATE);//实例化 SharedPreferences.Editor...:表示创建的文件只能被一个应用程序调用,或者被具有相同id的应用程序访问; MODE_WORLD_READABLE:允许其他应用程序读取文件(可读); MODE_WORLD_WRITEABLE:允许其他应用程序修改文件

    71710

    android之存储篇_SharedPreferences存储方式

    SharedPreferences是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。...其存储位置在/data/data//shared_prefs目录下。SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。...,通过getXXX方法,可以方便的获得对应Key的Value值,如果key值错误或者此key无对应value值,SharedPreferences提供了一个赋予默认值的机会,以此保证程序的健壮性。...如下图运行结果中因为并无值为”NOT_EXIST”的Key,所以Log打印出的是其默认值:“none”。在访问一个不存在key值这个过程中,并无任何异常抛出。     ...所以不论SharedPreferences的数据存储操作是如何简单,它也只能是存储方式的一种补充,而无法完全替代如SQLite数据库这样的其他数据存储方式。

    1.6K30

    Google为何这样设计OnSharedPreferenceChangeListener

    之前使用OnSharedPreferenceChangeListener,遇到了点小问题,就是有些时候OnSharedPreferenceChangeListener没有被触发。...,一个OnSharedPreferenceChangeListener对象实际上是放到了一个WeakHashMap的容器中,执行完示例中的onCreate方法,这个监听器对象很快就会成为垃圾回收的目标,...如何解决 改为对象成员变量(推荐) 将监听器作为Activity的一个成员变量,在Activity的onResume进行注册,在onPause时进行注销。...正如我们示例的代码一样,将一个(隐式的)局部变量添加到监听器容器中,如果该容器只是一个普通的HashMap,这样会导致内存泄露,因为该容器还有局部变量指向的对象,该对象又隐式持有外部Activity的对象...关于非静态内部类持有隐式持有外部类引用,请参考细话Java:”失效”的private修饰符 除此之外,因为局部变量无法在其所在方法外部访问,这样就导致了我们只可以使用方法中使用局部变量就行注册,在合适的时机却无法使用局部变量进行注销

    64620

    【Android】数据存储(一) SharedPreferences详解

    SharedPreferences介绍 在Android开发中,经常需要将少量简单类型数据保存在本地,如:用户设置。...这些需要保存的数据可能一两个字符串,像这样的数据一般选择使用SharedPreferences来保存。 SharedPreferences:一个轻量级的存储类,特别适合用于保存软件配置参数。...使用SharedPreferences存储和读取数据的步骤 存储数据 保存数据一般分为四个步骤: 使用Activity类的getSharedPreferences方法获得SharedPreferences...(只能被自己的应用程序访问) MODE_WORLD_READABLE(除了自己访问外还可以被其它应该程序读取) MODE_WORLD_WRITEABLE(除了自己访问外还可以被其它应该程序读取和写入...都是在Acitivty中执行的。

    2.6K70

    android之知识点小结二

    中存取的具体内容,即采取何种排列方式,如果结果为空,则返回"name",按姓名排序 ... } 上面则完成了对SharedPreferences的一系列操作,从初始化和注册监听器,监听变化,以及变化后做出相应操作...(new Intent(this, EditPreferences.class)); } 就是在菜单里加一个prefs设置选项,点击它则启动定义的SharedPreferences设置界面,这个界面就直接继承...PreferenceActivity,可以方便高效的实现Preference的存储和管理.代码如下: public class EditPreferences extends PreferenceActivity...; addPreferencesFromResource(R.xml.preferences);//这个方法的实现就内置了SharedPreferences的存储方法,所以无需我们自己再去存储SharedPreferences...,选择了第一个By Name, Ascending,那么系统自动帮你把name ASC存储到SharedPreferences里面,即 所存储的这条SharedPreferences为(SharedPreferences

    24110

    学习|Android中SharedPreferences轻量数据存储

    SharedPreferences轻量数据存储 有时候我们做的App中不需要本地保存数据,但是有些小的配置参数需要记录,如果中Sqlite就感觉有点太重了,也比较麻烦,所以今天我们来看看Android系统中轻量数据存储...SharedPreferences SharedPreferences介绍 微卡智享 SharedPreferences内部是以XML的形式进行数据存储的,采用Key/value的方式 进行映射,最终会在手机的...获取一个SharedPreferences,两个参数为生存的文件名和创建模式,MODE_PRIVATE:默认模式,该模式下创建的文件只能被当前应用或者与该应用具有相同SharedUserID的应用访问。...定义SharedPreferences ? 在onCreate中获取SharedPreferences ? 写入数据的方法 ? ? 读取数据的方法 ?...以上就是SharedPreferences的简单使用方法,为了在别的程序中也可以方便使用,这里我们自己写了一个封装好的kotlin的SpHelper的类 SpHelper类 package dem.vac.sharedpreferencestest

    68910

    Carson带你学Android:数据存储SharePreferences学习指南

    前言 Android中常用的数据存储方式有5种:SharePreferences、SQLite数据库、文件存储、ContentProvider& 网络存储 今天,我将献上一份全面 & 详细的SharePreferences...简介 定义:一种数据存储方式 本质:以键值对的形式存储在xml中 特点:轻量级 应用场景:轻量级存储(如 应用中的配置、参数属性) 默认存储路径:/data/data//shared_prefs...对比 除了SharedPreferences,Android常见的数据存储方式主要包括: SQLite数据库 文件存储 ContentProvider 网络存储 具体介绍如下: 3....3.1 保存数据 本质:以键值对的形式存储在xml文件中 文件存放在/data/data//shared_prefs目录下 使用步骤如下: // 步骤1 SharedPreferences sharedPreferences...参数2:指定文件的操作模式,共有4种操作模式,分别是: // Context.MODE_PRIVATE = 0:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容

    45230

    锦囊篇|一文摸懂SharedPreferences和MMKV(一)

    = null) { // 将数据存储放置到具体类的一个全局变量中 // 稍微记一下这个关键点...相较于之前的那些源码,这里的就显得非常轻松了,结合上述的源码分析,可以假设SharedPreferences氛围三个要点。 mMap: 存储从文件中拉取的数据。...将数据存储到mapToWriteToDisk中 // 2. 与mModified中数据进行比较,不存在或者不一致就替换 // 3....你可能会说在sp.startReloadIfChangedUnexpectedly();这段代码出现的难道不是已经涉及了多进程的安全操作吗?yep!!...如果你想到了这点,说明你有好好看了下代码,但是没有看他的实现,如果你去看他的实现方案,就会发现MODE_MULTI_PROCESS和所可以使用的操作的运算结果均为0,所以在现在的Android版本中这是一个被抛弃的方案

    1.2K10

    Android学习笔记(十三)SharedPreference必须掌握的基础

    我们在开发中,应用程序会保存少量数据,例如一些字符串、一些标记或者一些配置文件,这时候如果去使用SQLite保存这些数据的话,难免会显得大材小用,用起来也不方便,对于这种信息,保存在SharedPreferences...中在合适不过了。...一、SharedPreferences简介。   1、SharedPreferences是一种轻型的存储方式,它的原理是基于xml文件存储key-value键值对数据,通常用来存储一些简单的配置信息。...SharedPreferences和Editor的对象,并在onCreate()方法中对它们作了初始化操作。   ...(4)最后可以可通过editor.clear()方法,对SharedPreferences进行清空操作。   注:对Editor对象的操作,操作完后需要执行commit方法。

    89350

    数据存储之SharedPreferences

    在Android系统中提供了多张存储技术,这些存储技术可以讲数据保存在各种存储介质上。...例如SharedPreferences可以将数据保存在应用软件的私有存储区,这些存储区中的数据只能被写入这些数据的软件读取。...如果我们的模式设置为Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE权限,我们其他的应用是可以访问的,下面是其他应用访问的代码(假如上面代码的包名为...---- 数据的存储位置和格式 文件存放在/data/data/ /shared_prefs目录下 存取复杂类型的数据 不建议使用,但是确实可以存储复杂类型的数据。...PreferenceActivity提供了一些常用的控件,可以满足大多数配置界面的要求, PreferenceActivity既可以从xml文件中创建,也可以通过代码的方式创建。

    91020

    Android网络与数据存储——SharedPreferences(实现是否开启引导界面)

    SharedPreferences接口主要负责读取应用程序的Preferences数据,提供了以下常用的方法访问SharedPreferences中的key-value对。...二.SharedPreferences的存储位置和格式 ---- SharedPreferences数据总是保存在/data/data//shared_prefs目录下,SharedPreferences...然后在要显示引导界面的视图中加入ViewPager标签,加入ViewPager标签之前,应该导入v4包,因为ViewPager属于v4包中,带入v4包: compile files('libs/android-support-v4...android:padding="15dp" android:src="@drawable/dot" /> 在引导页面可以加入图片...,也可以加入视图,这里加入三个视图,分别为三个xml文件,并在第三个视图中加入按钮,点击按钮可以调整到主界面。

    86380

    SharedPreferences实现记住密码的登录界面-Android

    在Android中,存储数据主要采用了3种方案,分别为文件存储, SharedPreferences存储以及数据库存储,当然,数据也可以保存在sd卡里,但相比上面这几种,可能就要麻烦点了,而且安全性也会降低...好了,我们今天就来使用它们当中的 SharedPreferences来实现一下简单的记住密码功能。 不同于文件的存储方式,SharedPreferences是使用键值对的方式来存储数据的。...将数据存储到 SharedPreferences 中 首先需要获取到SharedPreferences 对象,Android中主要提供了3种方法用于得到 SharedPreferences 的对象。...文件,得到了 SharedPreferences 对象之后,就可以向 Shared-Preferences 文件存储数据了,具体分为3步: -1.调用 SharePreferences 对象的 edit...首先在onCreate()方法中获取到了 SharedPreferences 对象,然后调用他的 getBoolean() 方法获取 remember_password 的键值。

    2K10

    Android数据存储方式之SharedPreferences

    不同于文件的存储方式,SharedPreferences提供了一种K-V键值对的数据存储方式。...而且SharedPreferences还支持多种不同的数据类型存储,如果存储的数据类型是整型,那么读取出来的数据也是整型的;如果存储的数据是一个字符串,那么读取出来的数据仍然是字符串。...实际上,SharedPreferences将保存于APP数据目录下的xml文件中,也就是以XML的格式来保存的。...,我们通过getSharedPreferences来获取一个 SharedPreferences 实例,用于读写; 在写操作中,通过调用 SharedPreferences 的 edit() 方法获取一个...Editor实例,用于编辑SharedPreferences的键值(在SharedPreference的源码注释中这样说明:allowing you to modify the values in this

    7.9K2840

    第一行代码——数据存储

    持久化技术 文件存储、SharedPreference、数据库存储 文件存储 将数据存储到文件中 Context类提供了一个openFileOutput()方法,将数据存到指定文件中。...SharedPreferences存储 SharedPreferences是使用键值对存储数据的 将数据存储到SharedPreferences中 获得SharedPreferences对象 1.Context...2.指定操作模式,目前只有默认的MODE_PRIVATE模式可选,表示只有当前的程序可以对这个SharedPreferences文件进行读写。...向SharedPreferences文件存储数据 1.调用SharedPreferences对象的edit()方法获取一个SharedPreferences.Editor对象。...中读取数据 SharedPreferences对象提供了一系列的get方法: 参数:1.键; 2.默认值:表示当传入的键找不到对应的值时会以什么样的默认值进行返回。

    78210
    领券