Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android将RSS提要解析数据存储在数据库中供脱机使用_Android_Database_Sqlite_Rss Reader - Fatal编程技术网

Android将RSS提要解析数据存储在数据库中供脱机使用

Android将RSS提要解析数据存储在数据库中供脱机使用,android,database,sqlite,rss-reader,Android,Database,Sqlite,Rss Reader,我正在android中使用sax解析器解析Rss提要。当网络连接时,我可以在线显示数据,但我也希望它能够脱机使用,并在再次连接到internet/wifi时进行更新。我不知道该怎么做 现在我最好的方法是什么?我应该构建Sql数据库吗?考虑到我也有照片。 或者还有其他更简单的方法。我更喜欢简单一点的方式 我需要一些关于Sql数据库方法的进一步建议,首先:我的rss提要提供图像url链接,我在运行时使用位图和insutstream显示这些链接,但现在为了脱机,我需要像whatsapp那样保存完整的图

我正在android中使用sax解析器解析Rss提要。当网络连接时,我可以在线显示数据,但我也希望它能够脱机使用,并在再次连接到internet/wifi时进行更新。我不知道该怎么做

现在我最好的方法是什么?我应该构建Sql数据库吗?考虑到我也有照片。 或者还有其他更简单的方法。我更喜欢简单一点的方式


我需要一些关于Sql数据库方法的进一步建议,首先:我的rss提要提供图像url链接,我在运行时使用位图和insutstream显示这些链接,但现在为了脱机,我需要像whatsapp那样保存完整的图像,对吗?是这样吗?如果是,如何在数据库中保存完整图像?最后,我想将完整的数据库保存在sd卡上,而不是内存中,将数据存储在sd卡上可以正常工作,还是会产生问题?因为whatsapp在内存中存储了相当多的数据!!如果存储在sd卡上不是问题,那么如何将完整数据存储在sd卡上?

这取决于您希望数据保留多长时间。问问自己:

重新启动手机或强制关闭应用程序后,用户是否可以使用这些数据?无论我上一次连接是什么时候,它都应该是可用的吗

在这种情况下,那么是的-您应该使用数据库。Android有许多用于sqlite数据库的内置助手类

这应该让你开始

这些图像非常直接,因为您只需在数据库中隐藏对图像的引用。当然,您也可以将这些图像写入磁盘(在sd卡或其他地方…)请参阅:

您的其他选择包括:

1) SharedReferences(不太适合这种情况)

2) 序列化数据并从某个文件中写入/读入

如果您仍在寻找有关数据库概念和Android的更多信息,这里有一个关于该主题的非常好的教程:

您可以使用下载RSS源并将其缓存。使用希望您使用库的,可以将以下缓存标志添加到
AjaxOptions
对象:

.cache(true).cacheTimeout(AjaxCache.TIMEOUT_NEVER)
这将使响应被缓存,直到您显式调用:

AjaxCache.sharedCache().clearCache();
连接网络后可以执行此操作(有关此操作的帮助,请查看)


请注意,使用此缓存机制可以提供一个非常简单的解决方案,该解决方案只在应用程序进程处于活动状态时才进行存储。如果您希望跨会话保存—这样,如果用户稍后打开应用程序且未联机,您将希望使用更复杂和持久的内容,例如
SharedReferences
SQLite
。您可以找到一个很好的选项列表。

您可以分享一个更好的数据库代码实现吗?它显示从我的对象列表中读取和写入数据库。我的java对象“数据”类似于:公共类数据{私有字符串折扣;私有字符串位置;私有字符串名称;私有字符串图像;私有字符串描述;}我在解析后得到这些对象的列表。我建议您阅读链接的android文档,因为它非常全面地涵盖了这个主题,并且有大量的示例代码供您使用。添加了一个指向一个好的db教程的链接,可以为您提供比文档更完整的代码图片。使用共享首选项也可以吗?我有一份大约100家餐厅的名单,上面有他们的位置名称描述和图片链接。我不推荐共享偏好,我认为这并不适合这个任务。您可以使用它,但是您的数据非常复杂,以至于键/值对并不是最好的建模技术。