【android开发数据持久化的几种方式】

一、简介

Android系统为我们提供了几种数据持久化存储的方式,以满足不同的需求。

1. 【Shared Preferences】

  1. Preferences 从其保存数据的结构来分析,这是一个相对较轻量级的存储数据 的方法。类似于我们常用的 ini 文件保存软件初始化设置,同样在 Android 平台常用于 存储较简单的参数设置。

    例如,可以通过它保存上一次用户所作的修改或者自定义参数 设定,当再次启动程序后依然保持原有的设置。通过Context.getSharedPreferences()方法 来读写数值,这个方法通过设置 name 来使得同一个程序内的其它模块共享数据。

     如果 不需要与其它模块共享数据,可以使用 Activity.getPreferences()方法保持数据私有。需要着重强调一点,无法直接在多个程序间共享 Preferences 数据(不包括使用 Content Providers)。
    
  2. 【File】

    这是第二种方法,可以在设备本身的存储设备或者外接的存储设备中 创建用于保存数据的文件。同样在默认的状态下,文件是不能在不同的程序间共享。

     【1)写文件:调用Context.openFileOutput()方法 根据指定的路径和文件名来创建文件,这个方法会返回一个 FileOutputStream 对象。】 【因此创建文件输出流时,如果指定路径下 没有指定名称的文件,则会新建一个文件 】
    
     2)读取文件:调用 Context.openFileInput()方法通过制定的路径和文件名来返回一个标准的 Java FileInputStream 对象。
    
    • [按位置分为 内存,与 外存]
      • [Internal Storage 内存]
        把数据持久化存储到手机内部存储空间。他主要用于私有数据存储。

      • [External Storage外寸]
        把数据持久化存储到手机外部SD卡中。他主要用于非隐秘数据存储。

  3. 【SQLite Databases】

    Databases在 Android API 中包括了应用 SQLite databases 的接口。

    【每个程序所创建的数据库都是私有的,换句话说,程序间无法相互访问对方的数据库】。

    在程序中创建 SQLiteDatabase 对象,其中包含了大部分与 database 交互的方法,例如:读 取数据或者管理当前数据。可以应用 SQLiteDatabase 和其 subClassSQLiteOpenHelper 的 create()方法来创建新的数据库。

  4. 【Network Connection 网络连接(存储)】

    Network 通过网络来获取和保存数据资源,这个方法需要设备保持网络连接状态,所以相对存在一些限制。下面列出了两个用于相关操作的类:Java.net.* android.net.*

猜你喜欢

转载自blog.csdn.net/UserFrank/article/details/129205805