`

android数据存储方式(二)---Shared Preferences

阅读更多
原帖地址:http://www.cnblogs.com/wenjiang/archive/2013/06/02/3114017.html

     android的数据存储有四种方式:


1.Shared Preferences


     主要用于存储key-value对格式的数据,是轻量级的存储机制,轻到只能存储基本数据类型。


2.Files


     通过FileInputStream和FileOutputStream对文件进行操作,由于在android中文件是一个应用程序私有的,所以其他应用程序无法读写。


3.SQLite


     android提供的标准数据库,支持SQL语句。有关于这部分,可以见我的另一篇文章:http://www.cnblogs.com/wenjiang/archive/2013/05/28/3100860.html


4.Network


    通过网络来存储和获得数据。


    这里介绍Shared Preferences。


    Shared Preferences主要是针对系统配置信息的保存,比如说CheckBox,我们想要在下次启动应用程序时可以保存上次用户的选择。android系统的界面采用Activity栈的形式,所以在系统资源不足时会回收一些界面,这就导致我们的界面信息可能会丢失。使用Shared Preferences可以让我们像使用ini文件一样,用来保存应用程序的属性设置,而这些属性,就是用户所做的修改或者自定义的参数值。


    我们通过一个小例子来说明Shared Preferences的使用:


   


     我们就只使用一个CheckBox来保存用户的已婚信息。


     界面非常简单:



<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools
="http://schemas.android.com/tools"
android:layout_width
="match_parent"
android:layout_height
="match_parent"
android:paddingBottom
="@dimen/activity_vertical_margin"
android:paddingLeft
="@dimen/activity_horizontal_margin"
android:paddingRight
="@dimen/activity_horizontal_margin"
android:paddingTop
="@dimen/activity_vertical_margin"
tools:context
=".MainActivity" >

<CheckBox
android:id="@+id/checkbox"
android:layout_width
="wrap_content"
android:layout_height
="wrap_content"
android:checked
="false"
android:text
="@string/choice" />

</RelativeLayout>


      接着我们来看看MainActivity:



public class MainActivity extends Activity {
private boolean isCheck;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

CheckBox checkbox
= (CheckBox) this.findViewById(R.id.checkbox);

SharedPreferences setting
= getPreferences(Activity.MODE_PRIVATE);
isCheck
= setting.getBoolean("Check", false);
checkbox.setChecked(isCheck);
checkbox.setOnCheckedChangeListener(
new OnCheckedChangeListener() {

@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
isCheck
= isChecked;
}
});
}

public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
SharedPreferences preference
= getPreferences(0);
SharedPreferences.Editor editor
= preference.edit();
editor.putBoolean(
"Check", isCheck);
editor.commit();
this.finish();
return true;
}
return super.onKeyDown(keyCode, event);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}


      我们可以通过getPreferences()方法来获得Preferences对象,一般我们的Preferences不会与其他程序共享,因为这是该程序的配置信息,如果可以被其他程序读写,那么后果很严重。对Preferences保存的信息进行操作,像是添加,需要编辑对象SharedPreferences.Editor,然后我们再将相应的键值对保存进去,最后一定要提交。
      现在我们可以退出,然后重新启动应用,就会发现,原先的选择依然保存下来。


      如果想要知道这些数据保存在哪里,可以打开DDMS然后查看File Explorer,然后在相应包中查看/data/data中的shared_prefs文件夹,里面的xml文件就是保存这些数据的文件。


    


      所有的应用所保存的数据都放在这个文件夹下。

本文链接

分享到:
评论

相关推荐

    Android 使用Shared Preferences进行数据存储-样例.rar

    Android 使用Shared Preferences进行数据存储-样例,演示如何使用 Shared Preferences 获得数据和保存数据、如何使用getPreferences方法创建文件的模式,以及如何使用getPreferences模拟用户参数设置、查看 ...

    android 数据存储之 Shared Preferences

    在Android应用开发中,数据存储是一项重要的任务,用于持久化应用程序的数据,以便在用户退出或设备重启后仍能保留信息。在多种数据存储方式中,`SharedPreferences` 是一种轻量级且易于使用的机制,主要用于存储...

    shared-preferences for flutter

    Shared Preferences是Android平台上的一个轻量级的数据存储类,用于保存和读取应用程序的一些常用配置和数据,比如用户设置的参数、游戏分数、应用程序状态等。Shared Preferences类似于Windows中的INI文件,它允许...

    利用Shared Preferences,在2个不同的Activity传递数据

    - 虽然 Shared Preferences 适合存储用户配置或状态信息,但并不适合大量或结构化的数据,这时可以考虑使用 SQLite 数据库或 ContentProvider。 6. **最佳实践** - 使用明确的键值,避免键值冲突。 - 对敏感数据...

    Android学习之数据存储-IT计算机-毕业设计.zip

    1. Shared Preferences:这是Android中最简单的数据存储方式,适用于存储轻量级、键值对的数据,如用户设置。Shared Preferences是XML格式的,且可以跨Activity共享。在代码中,我们可以通过SharedPreferences....

    Android应用源码之Android学习之数据存储-IT计算机-毕业设计.zip

    1. **Shared Preferences**:这是一种轻量级的数据存储方式,通常用于存储用户设置和偏好。在Android中,我们可以使用SharedPreferences类来读写键值对,如布尔值、整型、浮点型、字符串等。通过调用`...

    android 数据存取Preferences

    为了实现这一需求,Android提供了多种数据存储方式,其中最简单易用的方式之一就是**Preferences**。 **Preferences**是一种轻量级的数据存储方案,其主要功能是帮助开发者存储应用程序的配置信息,如用户设置的...

    老罗android视频开发源码和ppt--android存储数据和文件.rar

    1. **Shared Preferences**:这是一种轻量级的数据存储方式,适用于存储键值对形式的小型数据,如用户设置。数据以XML格式存储在文件中,易于读写。 2. **内部存储**:应用私有的存储空间,只有应用本身可以访问。...

    Android数据存储与访问

    本教程将深入探讨Android中的几种主要数据存储方式,包括Shared Preferences、SQLite数据库以及文件存储。 首先,我们来讨论**Shared Preferences**。Shared Preferences是一种轻量级的数据存储方式,适合于存储...

    Android数据存储(Shared设置)

    共享首选项(Shared Preferences)是Android提供的一种轻量级的数据存储方式,适用于保存少量的键值对数据,如用户设置、简单的配置信息等。在本文中,我们将深入探讨如何在Android中使用Shared Preferences进行数据...

    android-数据存储(保存读取密码-附源码)

    在Android中,有多种数据存储方式,包括Shared Preferences、内部存储、外部存储、SQLite数据库以及Content Providers。对于简单的键值对,如密码,通常推荐使用Shared Preferences。下面是关于Shared Preferences的...

    数据存储之shared preferences

    `SharedPreferences`是Android提供的一种轻量级的数据存储方式,常用于存储应用的配置信息或者简单的用户数据。本篇将深入探讨`SharedPreferences`的工作原理、使用方法及其相关知识点。 一、`SharedPreferences`...

    Android学习之数据存储.zip

    Shared Preferences是Android中最简单的数据存储方式,用于保存键值对数据,通常用于存储用户的偏好设置。它提供了XML格式的键值存储,可以通过getSharedPreferences()方法获取并进行读写操作。例如,你可以用它来...

    react-native-shared-group-preferences

    react-native-shared-group-preferences 太懒了,无法在本地进行测试。 确保从NPM安装,因为github版本当前正在测试中。 这个模块是做什么用的? 您有多个适用于iOS或Android的React-Native应用程序,希望它们能够...

    Android程序源码--数据存储

    Shared Preferences 是Android提供的一种轻量级的数据存储方式,适合保存简单的键值对数据,如用户设置。通过`SharedPreferences`接口,我们可以读写XML格式的配置文件。在源码中,`SharedPreferencesImpl`类负责...

    Android数据存储和数据库编程

    1. **Shared Preferences**:这是一种轻量级的存储方式,适用于存储键值对形式的简单数据,如设置偏好。数据以XML格式存储,并且可以进行同步读写操作。 2. **内部存储**:这是私有的存储空间,只有应用本身可以...

    APP开发教程 Java Android移动端开发 12、Android数据存储和共享(一) 共21页.pptx

    - Share Preferences是Android中一种轻量级的数据存储方式,常用于保存简单键值对数据,如用户设置。 - 数据以XML格式存储在`/data/data/应用程序包名/shared_prefs`目录下。 - 通过`getSharedPreferences`方法...

    Android平台的记事本软件-Android Studio含报告

    Android提供了多种数据存储方式,如Shared Preferences(键值对)、SQLite数据库、内部/外部存储等。通常,为了便于管理和检索,记事应用会选择SQLite数据库来存储条目标题和内容。 五、Kotlin语言 虽然Android ...

    第八章_Android数据存储与访问

    Shared Preferences 是一种轻量级的数据存储方案,适合存储少量的键值对数据,如用户设置和偏好。数据以XML格式存储在文件系统中,可通过SharedPreferences接口进行读写操作。使用方法包括编辑器(Editor)的apply...

Global site tag (gtag.js) - Google Analytics