【问题标题】:Does an Android SQLite database persist after switching the device off?关闭设备后,Android SQLite 数据库是否仍然存在?
【发布时间】:2013-03-13 05:23:22
【问题描述】:

我想开发一个 Android 应用。我想从用户那里获取输入并将其存储在手机的数据库中。

即使手机关机,我的数据也应该保留在手机中。这可以使用 SQLite 数据库吗?

【问题讨论】:

    标签: android sqlite


    【解决方案1】:

    Android 为您提供了多种保存持久应用程序数据的选项。您选择的解决方案取决于您的特定需求,例如数据是否应该对您的应用程序私有或可供其他应用程序(和用户)访问,以及您的数据需要多少空间

    您的数据存储选项如下:

    共享偏好 将私有原始数据存储在键值对中。

    内部存储 将私有数据存储在设备内存中。

    外部存储 将公共数据存储在共享的外部存储上。

    SQLite 数据库 将结构化数据存储在私有数据库中。

    【讨论】:

    • 我的应用程序处理结构化数据的保存和检索。但是我听说sqlite数据库中的数据不是持久的。
    • 我所回答的将是持久的
    【解决方案2】:

    我想从用户那里获取输入并将其存储在手机中 数据库(使用 sqlite)。我想知道,如果可以的话 更喜欢使用 sqlite 数据库构建我的应用程序。我的数据应该是 即使手机关机,也会保留在手机中。是吗 可以使用 sqlite 数据库吗?

    是的您可以使用 sqlite 数据库。

    但是,如果你有像一两个字符串这样的数据,那么你应该使用SharedPreferences

    希望它会有所帮助。

    【讨论】:

      【解决方案3】:

      很有可能。但也很可能矫枉过正。

      您尝试过 SharedPreferences 吗?即使您的应用程序关闭或手机关机,它们也会保留。

      一个例子:

      保存偏好:

      SharedPreferences preferences = context.getSharedPreferences("YourAppPreferences", 0);
      SharedPreferences.Editor editor = preferences.edit();
      
      editor.putInt("yourvalue", 14);
      editor.putString("name", "John");
      e.commit();
      

      这就是你检索它们的方式:

      SharedPreferences preferences = context.getSharedPreferences("YourAppPreferences", 0);
      preferences .getInt("yourvalue", 0)
      

      getInt中的第二个参数是default value,以防未设置。

      【讨论】:

      • 谢谢!!除了使用 sqlite,我不能选择 SharedPreferences。
      • 好的,如果您认为 SqlLite Db 将是您的最佳选择,请继续 :)
      【解决方案4】:

      为了你的灵感!

      最强大的 本地存储的方法是使用 SQLite 数据库。每个应用程序都配备 它自己的 SQLite 数据库,应用程序中的任何类都可以访问该数据库,但不能 通过任何外部应用程序。在继续进行复杂查询或 sn-ps 之前 代码,让我快速总结一下 SQLite 数据库是什么。 SQL(结构化查询语言)是一种专门设计的编程语言 用于管理关系数据库中的数据。关系数据库允许您提交 插入、删除、更新和获取查询,同时还允许您创建和修改 模式(更简单地认为是表)。那么 SQLite 只是一个按比例缩小的 MySQL、PostgreSQL 和其他流行的数据库系统的版本。这完全是 自包含和无服务器,同时仍然是事务性的并且仍然使用 用于执行查询的标准 SQL 语言。因为它是独立的 并且可执行,它非常高效、灵活,并且可以通过多种方式访问 跨各种平台的编程语言(包括我们非常 自己的安卓平台)。

      【讨论】:

      • 进一步阅读:link
      【解决方案5】:

      Sqlite 数据库通常用于在大多数 Android 应用程序中持久化数据。

      Sqlite 文件在你的包文件夹中创建。

      备份Sqlite文件

      1.将 Sqlite 文件复制到您的 SD 卡(无需网络连接) 2.同步你的Sqlite文件到google Drive(需要网络连接)

      示例网址: https://developers.google.com/drive/examples/android

      内容提供程序相对于 Sqlite 数据库的优势

      1.加载器的优势(加载最新数据)

      2.轻松同步数据

      3.将数据共享给其他应用程序

      Sqlite 数据会在应用关闭甚至手机关机后持久化。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-10-06
        • 1970-01-01
        • 1970-01-01
        • 2012-04-17
        • 1970-01-01
        • 2021-04-13
        • 2017-01-01
        相关资源
        最近更新 更多