基于android的app开发(android文件存储方式)
我们平常在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文件中的数据进行读取和删除操作。
推荐阅读
-
家用保险柜什么牌子好(选择家用保险箱看这四个方面)
很多人认为家用保险柜有点多此一举,其实它大有用途。在居家环境下保险柜除了可以放置一些贵重物品以及各种证件以外,其实还可以将一些药物...
-
香蕉与芭蕉差别在哪里(香蕉和芭蕉的三个差异)
香蕉的种类有很多,有大的也有小的,有黄的也有青的,但是最让人容易搞混的,就是芭蕉和香蕉这种水果了。很多人分不清芭蕉和香蕉,但它们到...
-
防晒霜哪个牌子最好用(21款热门防晒霜测评结果)
-
香奈儿和lv谁的档次高(一文带你了解奢侈品品牌段位)
-
草原之王是什么动物(草原之王是否也有劲敌呢)
狮子是有名的“草原之王”,它们凶猛有力,可以击倒一头半吨重的非洲野水牛,能够一次性吞下30千克的肉。那么,“草原之王”是否也有劲敌...
-
中国最好的牙膏是什么(2023牙膏十大国民品牌排行榜)
-
世界经典科幻小说全集精选(强推5本世界顶级科幻小说)
-
正确洗脸用冷水还是温热水(有效洗脸方法和洗脸后保养)
不管属于哪种皮肤,只有正确地使用一些清洁皮肤的方法,才能有效地深层清理。而且对于不同的肤质,要采用不同的护肤品进行清洁,当清洁皮肤...
-
怎样判断脸上有角质(判断角质方法及去角质的注意事项)
角质层是我们人体必须的保护层。但过厚的角质层会阻碍营养物质的吸收,导致皮肤状况恶化。那么我们如何判断是否需要去角质呢?怎样判断脸上...
-
台湾经典偶像剧排行榜(公认最好看的台偶收视率top10)