在Android应用程序中存储数据(很多字符串与图像)的最佳方法

时间:2014-04-22 09:49:58

标签: android sqlite epub

我正在尝试构建一个应用程序,它将成为一种电子书(很多理论和图表)。

现在我想知道的是,因为存储数据的方法有很多,哪一种是最好的

  1. 存储在数据库中
  2. XML
  3. 或简单的文本文件
  4. 我也非常关注数据的安全性。由于这将是一个付费应用程序,我希望数据安全,也快速方便。

    另外,我想把doc文件(Data)转换成epub格式&然后使用epub api来访问数据并在Android应用程序屏幕上显示它,这将是一个很好的想法吗?与上述方式相比?

    哪一个更安全,更快速,更灵活,更安全容易!

5 个答案:

答案 0 :(得分:1)

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

简单文本文件具有与XML相同的问题(xml是文本文件)。

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

答案 1 :(得分:0)

取决于对您来说更重要的事情 - 速度或安全性。

<强>速度

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

安全

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

<强> EPUB

如果您担心安全问题,那么除非您知道如何应用DRM ......否则这不是一种诚实的方式。

答案 2 :(得分:0)

我认为存储大量数据的最佳方式是数据库。在Android中它是sqlite数据库。我建议你把所有的文本数据都放到sqlite数据库中。您可以轻松漂亮地构建它。然后将您的图像放入assets文件夹并将pathes存储到数据库中的图像。

数据库解决方案的优点:

  1. 始终结构良好的数据
  2. 使用版本控制系统更新数据的简便方法。
  3. 您可以存储并快速访问大量数据。
  4. 您可以使用加密来保护您的数据。
  5. 缺点

    1. 为数据库解决方案编写好的代码然后为XML或JSON编写代码更复杂。
    2. P.S如果您决定使用XML,我建议您将其更改为JSON。它更快更容易使用。

答案 3 :(得分:0)

  

哪一个更安全,更快速,更灵活,更安全容易!

安全:它主要依赖于加密系统。

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

灵活易用:将加密文件存储在内部存储中是一种灵活而简单的方法。我认为它足够安全。在这里,您可以获得有关存储数据http://developer.android.com/training/articles/security-tips.html#StoringData

的一些安全提示

答案 4 :(得分:0)

为了保存少量数据,您可以使用xml作为字符串,但是会丢失快速加载因子 sqlite几乎适用于所有目的,但安全性