`

Android应用数据存储几种方式(1)

阅读更多
    在android中所有的应用软件数据为该应用软件所私有,同样它也提供了一种标准方式供应用软件将私有数据开放给其他应用软件.android中有sharedPreferences,文件存储,SQLite数据库方式,内容提供器(content provider)和网络.

1)sharedPreferences存储
    比如一些默认欢迎语,登录用户名,密码等以键值对的信息我们一般用它来存储;
step 1:首先我们可以通过
   
    //获得一个sharedPreferences对象
    getSharedPreferences(SETTING_INFOS, 0);
    public static final String SETTING_INFOS = "SETTING_Infos";
    public static final String NAME = "NAME";
    public static final String PASSWORD = "PASSWORD";
    SharedPreferences settings = getSharedPreferences(SETTING_INFOS, 0); 
    //获取一个SharedPreferences 对象
    String name = settings.getString(NAME, ""); 
    //取出保存的NAME
    String password = settings.getString(PASSWORD, ""); 
    //取出保存的PASSWORD


step 2:在程序运行onStop过程,也就是在程序退出时,首先使用getSharedPreferences得到settings,然后调用edit()方法使其处于可以编辑状态,并使用putString将两个EditText中的值保存起来,最后使用commit()方法提交即可保存;
    @Override
    protected void onStop(){
        super.onStop();
        SharedPreferences settings = getSharedPreferences(SETTING_INFOS, 0); 
        settings.edit().putString(NAME, field_name.getText().toString()).putString(PASSWORD, filed_pass.getText().toString()).commit();
     }
 //将用户名和密码保存进去

     注意:SharedPreferences 是以XML 的格式以文件的方式自动保存的,在DDMS 中的File Explorer 中展开到/data/data/<package name>/shared_prefs 下,以上面这个为例,可以看到一个叫做SETTING_Infos.xml 的文件;Preferences 只能在同一个包内使用,不能在不同的包之间使用;

2) 文件存储
    前面介绍的Shared Preferences 存储方式非常方便,但是其只适合存储比较简单的数据,如果需要存储更多的数据,可行选择的方式有好几种,这里先给读者介绍文件存储的方法和传统的Java 中实现I/O 的程序类似,在Android 中,其提供了openFileInput 和openFileOuput方法读取设备上的文件,下面看个例子代码,具体如下所示:

    String FILE_NAME = "tempfile.tmp";//确定要操作文件的文件名
 // Create a new output file stream that's private to this application
    FileOutputStream fos = openFileOutput(FILE_NAME, Context.MODE_PRIVATE); //初始化
    // Create a new file input stream.
    FileInputStream fis = openFileInput(FILE_NAME); //创建写入流

    上述代码中两个方法只支持读取该应用目录下的文件,读取非其自身目录下的文件将 会抛出异常.需要提醒的是,如果调用FileOutputStream 时指定的文件不存在,Android 会自动创建它.另外,在默认情况下,写入的时候会覆盖原文件内容,如果想把新写入的内容附加到原文件内容后,则可以指定其mode为Context.MODE_APPEND.
    注意:默认情况下,使用openFileOutput 方法创建的文件只能被其调用的应用使用,其他应用无法读取这个文件,如果需要在不同的应用中共享数据,可以使用Content Provider 实现,关于Content Provider 我们将在稍后的内容中介绍

资源文件放在哪里?
    如果你的应用需要一些额外的资源文件,例如,一些用来测试你写的音乐播放器是否可以正常工作的 MP3 文件,可以将这些文件放在应用程序的/res/raw/下,如mydata.mp3.那么就可以在你的应用中使用getResources 获取资源后,以openRawResource 方法(不带后缀的资源文件名)打开这个文件,实现代码如下所示:
    Resources myResources = getResources();
   InputStream myFile = myResources.openRawResource(R.raw.myfilename);
分享到:
评论

相关推荐

    android 数据存储的几种方式

    以下将详细介绍这几种存储方式,并针对Android平台的特定实现进行讨论。 1. SharedPreferences SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储简单的键值对数据,如int、long、boolean、...

    Android学习之数据存储.zip

    下面将详细探讨Android中的几种数据存储方式及其应用场景。 1. **Shared Preferences** Shared Preferences是Android中最简单的数据存储方式,用于保存键值对数据,通常用于存储用户的偏好设置。它提供了XML格式的...

    Android 3种数据保存(SharedPreferences存储 内部文件存储 数据库存储)

    本教程将详细介绍Android中的三种主要数据存储方式:SharedPreferences存储、内部文件存储以及数据库存储。 1. SharedPreferences存储 SharedPreferences是Android提供的一种轻量级的数据存储方式,用于保存应用...

    android的几种数据存储

    在Android系统中,为了满足应用程序在不同场景下的数据存储需求,提供了多种数据存储方式。本文将详细介绍这五种主要的数据存储方法,旨在帮助开发者更好地理解并选择合适的数据存储方案。 ### 1. Shared ...

    Android数据存储与访问

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

    Android应用源码之Android学习之数据存储.zip

    通过分析其中的源码,我们可以了解到几种主要的数据存储方式。 1. **Shared Preferences**: Shared Preferences是Android中用来存储轻量级数据的一种方式,如用户偏好设置。它提供了键值对的接口,数据类型通常为...

    Android应用程序开发

    Android应用程序主要由以下几个部分组成: - **Activity**:负责用户界面的显示和交互处理。 - **Service**:在后台执行长时间运行的操作,不提供用户界面。 - **Broadcast Receiver**:用于接收系统或其他应用程序...

    Android 数据存储方式有哪几种

    Android提供了多种数据存储方式,以适应不同的需求和场景。以下是Android系统支持的五种数据存储方法的详细解释: 1. **SharedPreferences**: SharedPreferences主要用于存储轻量级的数据,如设置、偏好等。它是一...

    android数据存储ppt课件及Demo

    在Android开发中,数据存储是不可或缺的一部分,它允许应用程序持久保存数据,以便在用户退出应用后还能恢复状态或在后续使用中访问数据。本资源"android数据存储ppt课件及Demo"提供了一个全面学习Android数据存储的...

    第8章 移动信息仓库—Android的数据存储操作.pdf

    本章将介绍几种常见的数据存储方式,包括: - SharedPreferences - 文件存储 - SQLite数据库 - Content Provider - 网络存储 这些方法适用于不同场景下的数据管理和共享需求。 #### 8.2 SharedPreferences 存储 *...

    Android 数据存储技术

    本文将深入探讨Android的数据存储技术,包括几种主要的存储方式及其应用场景。 首先,我们有共享首选项(SharedPreferences)。SharedPreferences提供了一个轻量级的存储机制,用于保存键值对数据,通常为简单的...

    Android应用源码之数据的储存与读取.zip

    在Android中,数据存储主要有以下几种方式: 1. **SharedPreferences**:这是一种轻量级的存储方式,通常用于存储用户设置和简单的键值对。SharedPreferences使用XML文件存储数据,提供方便的API供读写操作。 2. *...

    Android四种数据存储的应用方式

    Android四种数据存储的应用方式 Android系统提供了四种数据存储方式,即SharePreference、文件存储、SQLite和Content Provider。每种方式都有其特点和应用场景。 SharePreference SharePreference是一种轻量级的...

    android 的数据存储

    ### Android 数据存储详解 ...以上是对Android应用数据存储方式的详细介绍,包括了每种方式的基本概念、特点以及具体的实现步骤。希望这些内容能够帮助读者更好地理解和掌握Android应用中的数据存储技术。

    Android应用源码之24.数据存储(3).zip

    本篇将深入探讨Android中的数据存储方式,主要关注标题“Android应用源码之24.数据存储(3)”所涵盖的几个关键知识点,包括Shared Preferences、SQLite数据库、文件存储以及Content Providers。 1. Shared ...

    android 数据存储之 Network

    在这个话题中,我们将深入探讨几种常见的数据存储方法以及它们在网络数据处理中的应用场景。 1. **Shared Preferences**:对于小量的键值对数据,例如用户设置或轻量级的配置信息,Android提供了Shared Preferences...

    Android组件与数据存储安全分析及实战

    在数据存储安全方面,Android应用主要面临两种存储方式的挑战:外部存储和内部存储。 1. 外部存储安全:外部存储是设备的公共存储区域,任何应用都能访问该区域,因此存储在此的数据面临着被读取或篡改的风险。...

    Android应用源码之25.数据存储(4.zip

    1. **SharedPreferences**: 这是一种轻量级的数据存储方式,适合存储简单的键值对,如用户偏好设置。SharedPreferences使用XML格式保存数据,可以通过Editor对象进行修改,并使用apply()或commit()方法提交更改。 2...

Global site tag (gtag.js) - Google Analytics