Android中的文件可以存储在哪里 activity的四种启动模式

我们平常在qq或微信上登录账号时会发现 。如果之前登录过账号 。则在用户名的输入框中会存在之前输入过的账号信息 。这些用户名信息是如何自动显示在界面输入框中的呢?
其实自动在QQ或微信的登录界面显示的用户名信息是存储在QQ或微信的本地数据 。
当第一次登录账号时 。程序会读取登录时的用户名信息 。并将该信息存储到本地 。存储数据时常用的两种方式是SharedPreferences文件存储与SQLite数据库存储 。
【Android中的文件可以存储在哪里 activity的四种启动模式】一般少量的数据会存储在SharedPreferences文件中 。大量的数据还是需要存储在SQLite数据库中的 。所以用户名信息会存储在SharedPreferences文件中 。
SharedPreferences是Android平台上一个轻量级的存储类 。当程序中有一些少量数据需要持久化存储时 。可以使用SharedPreferences类进行存储 。
接下来我们就一起开启通往Android数据存储之SharedPreferences的学习旅程吧!
1、将数据存入SharedPreferences文件中
使用SharedPreferences类存储数据时 。首先需要调用getSharedPreferences(String name,int mode)方法获取实例对象 。
由于该对象本身只能获取数据 。不能对数据进行存储和修改 。所以需要调用SharedPreferences类的edit()方法获取到可编辑的Editor对象 。最后通过该对象的putXxx()方法存储数据 。示例代码如下面这样:
//获取sp对象 。参数data表示文件名 。MODE_PRIVATE表示文件操作模式SharedPreferencessp=getSharedPreferences("data",MODE_PRIVATE);SharedPreferences.Editoreditor=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的值即可 。示例代码如下面这样:
SharedPreferencessp=getSharedPreferences("data",MODE_PRIVATE);Stringdata=https://www.wangchuang8.com/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文件中的数据进行读取和删除操作 。

    推荐阅读