`

Android数据的四种存储方式之SharePreferences

阅读更多

  除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value 键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。 SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。实现 SharedPreferences存储的步骤如下:

  一、根据Context获取SharedPreferences对象

  二、利用edit()方法获取Editor对象。

  三、通过Editor对象存储key-value键值对数据。

  四、通过commit()方法提交数据。

  具体实现代码如下:

 1
 public
 
class
 MainActivity 
extends

 Activity {

 2
 
    @Override

 3
     
public
 
void

 onCreate(Bundle savedInstanceState) {

 4
        
super

.onCreate(savedInstanceState);

 5
 
       setContentView(R.layout.main);

 6
 
       

 7
        
//
获取SharedPreferences对象



 8
        Context ctx 
=
 MainActivity.
this

;       

 9
        SharedPreferences sp 
=
 ctx.getSharedPreferences(
"
SP
"

, MODE_PRIVATE);

10
        
//
存入数据



11
        Editor editor 
=

 sp.edit();

12
        editor.putString(
"
STRING_KEY
"
, 
"
string
"

);

13
        editor.putInt(
"
INT_KEY
"
, 
0

);

14
        editor.putBoolean(
"
BOOLEAN_KEY
"
, 
true

);

15
 
       editor.commit();

16
 
       

17
        
//
返回STRING_KEY的值



18
        Log.d(
"
SP
"
, sp.getString(
"
STRING_KEY
"
, 
"
none
"

));

19
        
//
如果NOT_EXIST不存在,则返回值为"none"



20
        Log.d(
"
SP
"
, sp.getString(
"
NOT_EXIST
"
, 
"
none
"

));

21
 
    }

22
 }

   这段代码执行过后,即在/data/data/com.test/shared_prefs目录下生成了一个SP.xml文件,一个应用可以创建多个这样的xml文件。如图所示: 

   SP.xml文件的具体内容如下:

1
 <?
xml version='1.0' encoding='utf-8' standalone='yes' 
?>


2
 <
map
>


3
 <
string 
name
="STRING_KEY"
>
string
</
string
>


4
 <
int 
name
="INT_KEY"
 value
="0"
 
/>


5
 <
boolean 
name
="BOOLEAN_KEY"
 value
="true"
 
/>


6
 </
map
>

  在程序代码中,通过getXXX方法,可以方便的获得对应Key的Value值,如果key值错误或者此key无对应value 值,SharedPreferences提供了一个赋予默认值的机会,以此保证程序的健壮性。如下图运行结果中因为并无值为"NOT_EXIST"的 Key,所以Log打印出的是其默认值:“none”。在访问一个不存在key值这个过程中,并无任何异常抛出。  

  SharedPreferences对象与SQLite数据库相比,免去了创建数据库,创建表,写SQL语句等诸多操作,相对而言更加方便,简 洁。但是SharedPreferences也有其自身缺陷,比如其职能存储boolean,int,float,long和String五种简单的数据 类型,比如其无法进行条件查询等。所以不论SharedPreferences的数据存储操作是如何简单,它也只能是存储方式的一种补充,而无法完全替代 如SQLite数据库这样的其他数据存储方式。

分享到:
评论

相关推荐

    数据存储SharePreferences在android开发中的应用实例

    SharePreferences是Android提供的一种轻量级的数据存储方式,主要用于存储应用程序的简单配置数据,如用户偏好设置、应用程序的状态信息等。本篇文章将深入探讨SharePreferences在Android开发中的应用实例。 一、...

    SharePreferences_数据存储SharePreferences在android开发中的应用.rar

    总的来说,`SharedPreferences`在Android开发中是一种非常实用的数据存储方式,它简单易用,适用于处理小规模、非结构化的数据存储需求。不过,对于大量数据或者需要复杂查询操作的情况,应考虑使用SQLite数据库或...

    android sharepreferences 数据读取

    总结来说,SharedPreferences是Android开发中常用的一种轻量级数据存储方式,方便快捷地进行配置信息或简单数据的读写操作。在实际项目中,合理利用SharedPreferences可以极大地提高应用的用户体验和效率。

    Android学习之SharePreferences

    总之,`SharedPreferences` 是 Android 应用中常用的一种简单数据存储机制,适用于保存轻量级的配置信息和用户偏好。它的易用性和灵活性使其成为开发过程中的一个便捷工具,但不适合存储大量或敏感数据。

    Android应用开发6(数据存储).

    本篇文章将深入介绍Android中的四种主要数据存储方式:SharePreferences、文件存储、SQLite数据库以及ContentProvider。 #### 二、SharePreferences详解 **1. 什么是SharePreferences?** SharePreferences是一种...

    Android-SharePreferencesandSqlitebrowser可查看应用SharePreferences和Sqlite

    在Android开发中,数据存储是不可或缺的一部分,而`SharedPreferences`和`SQLite`数据库是两种常见的本地数据存储方式。本文将详细介绍这两种技术,并介绍如何使用工具进行查看和管理。 `SharedPreferences`是...

    android 搜索记录两种方式(包括自动匹配)

    SharePreferences是Android提供的一种轻量级的数据存储方式,用于保存和读取简单的键值对数据,如字符串、布尔值等。在搜索记录的应用场景中,每次用户执行搜索操作,可以将搜索关键字和时间戳保存为一个键值对,...

    android 利用sharepreferences自动登录

    在本场景中,我们使用的是`SharedPreferences`,它是Android提供的一种轻量级的数据存储机制,适用于存储简单的键值对数据。 `SharedPreferences`工作原理: `SharedPreferences`是Android中用于保存用户配置或应用...

    SharePreferences保存和读取

    SharedPreferences是Android系统提供的一种轻量级的数据存储方式,主要用于应用程序内部的数据持久化。它以键值对(key-value pairs)的形式存储简单的数据,如布尔值、整型、浮点型、字符串以及字符串集等,无需...

    android SharedPreference实现登录

    其中,`SharedPreference` 是一种轻量级的数据存储方式,特别适合用来存储一些简单的键值对数据,如登录状态、用户偏好设置等。本教程将详细讲解如何使用`SharedPreference`来实现登录功能。 `SharedPreference`是...

    android跨应用sharepreference数据共享

    SharedPreferences是Android提供的一种轻量级的数据存储机制,它允许我们保存和读取简单的键值对数据,如字符串、整型、布尔值等。 首先,了解SharedPreferences的工作原理。SharedPreferences是基于XML文件存储的...

    android_sharedpreferences.rar

    在Android应用开发中,SharedPreferences是Android提供的一种轻量级的数据存储机制,主要用于存储应用程序的配置信息或者用户的一些简单设置。它以键值对的形式存储数据,支持基本数据类型如布尔值、整型、浮点型、...

    一个好用的Android SharePreferences.zip

    在Android开发中,`SharedPreferences` 是一种常用的轻量级数据存储方式,用于保存应用程序的简单配置数据,如用户设置、应用状态等。它提供了一种键值对的形式来存储数据,支持基本的数据类型如字符串、整型、浮点...

    Android Sharepreferences 登录示例demo 有注释,对初学者很有帮助

    SharePreferences是Android提供的一种轻量级的数据存储机制,适用于存储简单的键值对数据,如登录凭证、用户设置等。本篇文章将深入讲解如何在Android中使用SharePreferences实现登录功能,并结合单元测试进行代码...

    SharePreferences使用

    在Android开发中,`SharedPreferences` 是一个非常重要的数据存储机制,它主要用于保存应用程序中的轻量级数据,如用户设置、应用状态等。`SharedPreferences` 提供了一种键值对(key-value pairs)的存储方式,数据...

    android4.0跨应用共享数据通过sharepreference

    SharePreferences是Android提供的一种轻量级的数据存储机制,主要用于存储一些简单的键值对数据,如布尔值、整型、浮点型、字符串等。在Android 4.0上,SharePreferences可以用来实现跨应用程序的数据共享,这在某些...

    Android review Sharepreferences

    通过以上对SharedPreferences的详细阐述,我们了解了如何在Android应用中有效地使用这个工具来存储和管理数据。在实际开发中,合理运用SharedPreferences能极大地提高用户体验,同时保持代码的简洁和高效。

    SharePreferences 实现自动登录

    SharePreferences是Android系统提供的一种轻量级的数据存储机制,用于存储应用程序中的少量数据,如用户偏好设置、登录状态等。在这个“SharePreferences 实现自动登录”的示例中,我们将详细探讨如何利用...

Global site tag (gtag.js) - Google Analytics