【问题标题】:Best Possible way to Store Data (Lot of Strings with Images) in android application在 android 应用程序中存储数据(大量带有图像的字符串)的最佳方法
【发布时间】:2014-06-06 14:50:37
【问题描述】:

我正在尝试构建一个电子书类型的应用程序(很多理论和图表)。

现在我想知道的是,既然有很多方法可以存储数据,哪一种是最好的

  1. 存储在数据库中
  2. XML
  3. 或简单的文本文件

我也非常关心数据的安全性。由于这将是一个付费应用程序,我希望数据得到保护,并且快速方便。

另外,我想将 doc 文件(数据)转换为 epub 格式,然后使用 epub api 访问数据并将其显示在 android 应用程序屏幕上,这是一个很好的主意吗?与上述方式相比?

哪个更安全、更快速、更灵活、更简单!

【问题讨论】:

标签: android sqlite epub


【解决方案1】:

这取决于您将如何访问这些数据。如果您将存储在 xml 中,则必须从头开始读取整个文件才能访问章节(或加载到内存,例如)。如果您要存储大数据,这不是一个好主意。 更快地存储在 SQL 中。您可以访问任何章节。您不需要读取所有数据,例如在 xml 中。

简单的文本文件和XML有同样的问题(xml是文本文件)。

保护您的数据的唯一方法 - 加密它。如果用户将在他们的设备上获得 root 权限,他将获得对您的文件和数据库的访问权限。将数据存储在哪里没有任何意义。

【讨论】:

    【解决方案2】:

    取决于对您来说更重要的是什么 - 速度或安全性。

    速度

    绝对是 SQLite,它不是最干净的,但绝对是最快的方式。

    安全

    已加密的自定义文件 - 读取整个文件然后对其进行解密以显示它需要一段时间,但您可以确定攻击者会在不知道加密的情况下访问加密的文件 -这些数据对他来说毫无用处。

    EPUB

    如果您担心安全问题,请不要担心,除非您知道如何应用 DRM...这不是诚实的方法。

    【讨论】:

      【解决方案3】:

      我认为存储大量数据的最佳方式是数据库。在 Android 中,它是 sqlite 数据库。我建议您将所有文本数据放入 sqlite 数据库。您可以以简单而美观的方式构建它。然后将您的图像放入资产文件夹并将路径存储到数据库中的图像。

      数据库方案的优势:

      1. 结构良好的数据
      2. 使用版本控制系统轻松更新数据。
      3. 您可以存储并快速访问大量数据。
      4. 您可以使用加密来保护您的数据。

      缺点

      1. 为数据库解决方案编写好的代码比为 XML 或 JSON 编写代码更复杂。

      P.S 如果您决定使用 XML,我建议您将其更改为 JSON。它更快更容易使用。

      【讨论】:

        【解决方案4】:

        哪一个会更安全、快速、灵活和简单!

        安全:主要取决于加密系统。

        Fast:SQLite,你可以在这里阅读 SQLite 的一些优点Android Performance : Flat file vs SQLite

        灵活且简单:将加密文件存储在内部存储中是一种灵活且简单的方法。我认为它足够安全。在这里你可以得到一些关于存储数据的android安全提示http://developer.android.com/training/articles/security-tips.html#StoringData

        【讨论】:

          【解决方案5】:

          为了保存少量数据,您可以将 xml 用于字符串,但您会失去快速加载因素 sqlite 几乎适用于所有用途,但安全性

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-02-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多