2012-02-27 79 views
0

在我的android应用程序中,我计划在本地存储数据以减少互联网的数据使用并允许离线访问。我当前的模式包含9列。其中2列用于存储URL,一个用于140个字符的纯文本,1个用于日期时间,2个用于100个字符的纯文本,另外3个用于整数。要插入的记录数量取决于用户,即他需要多少记录。他可以随时删除它们。多次记录要插入一次。与删除相同。 现在我的问题是,这会导致应用程序在插入,删除和维护方面超负荷?我首先想到了将这些数据存储在文件系统(xml文件)中,但是删除记录可能很困难。所以我应该去SQLite方法或XML文件作为存储。其他解决方案也受到欢迎。SQLite模式,数据库大小,访问速度,更新疑惑

回答

1

我会推荐SQLite over xml用于你想要做的事情。 SQLite将会更快,更简单恕我直言。我已经完成了从两个读取。从来没有做过插入和更新。

xml文件将不得不被打开,然后解析以获取任何数据,关闭:0)你是正确的,删除​​,更新,插入将是一个XML文件更加困难。

+0

事情是,我使用本地存储作为缓存以及从服务器下载的图像。如果SD卡可用,将使用它,如果没有使用内部存储器。没有限制多少图像下载和上面的sqlite数据库插入,因为它是用户的选择。但同时,我不希望我的应用程序不响应或花费太多时间来处理所有这些事情。 – SachinGutte 2012-02-27 19:09:25

+0

不知道你对Android开发有多熟悉,但是我使用AsyncTask来确保这些事情能够尽可能快地发生并且不会束缚你的UI线程(继续响应)。另外,您可以在SD卡或内部存储器中存储位于数据库中的图像和其他文件的位置。 – bytebender 2012-02-27 19:14:19

+0

你也可以考虑使用服务来做一些工作,当设备不使用... – bytebender 2012-02-27 19:15:22

2

是的是的,我绝对会说去SQLite。你所描述的模式实际上是非常适中的,你所描述的使用模式并不重要。

SQLite旨在能够以高效的方式将相当大量的数据保存在设备的存储中。这对于将数据存储在XML中并不是一种特别有效的格式,并且在考虑尝试获取单个记录时速度要慢一个数量级。

我自己编写的应用程序包含超过15个不同的表格,每个表格> 10列,这是Sqlite轻松处理的要求。

+0

感谢您的回应。我会坚持SQLite。 :D – SachinGutte 2012-02-27 19:25:50

+0

要考虑的好点:0)+1 – bytebender 2012-02-27 19:26:19