【发布时间】:2015-06-30 18:43:29
【问题描述】:
我正在开发一个天气应用程序,所以我必须从一些 API 获取图标(如云)和其他信息。在这里,我使用 OpenWeatherMap API。 (这部分很简单)
但问题是,如果没有网络,那么如何显示之前的数据呢?
它可能会从手机中的某个来源检索图标和数据,可能是 sqlite 数据库,或JsonStore or DictStore 或任何其他可能的有效方式。
在 sqlite 中存储图像/图标真的很痛苦,而且每次刷新应用程序时我都必须不断更改图标。(因此从数据库中存储和检索并不是一个好主意。)
我不知道如何在 JsonStore/DictStore 中保存图标/图像。 (也许是base64)
还找到了this 链接,但没有太大帮助。
欢迎任何建议或示例。
【问题讨论】:
-
图标不是来自某个已知集合吗?为什么每次都需要得到它们?
-
您可以在 sqlite 中使用 blob 存储类型并存储图像的字节数组。
-
@jonrsharpe 这是我获取图标
conditions_image = "http://openweathermap.org/img/w/{}.png".format(data['weather'][0]['icon'])的方式,其中data是JSON 格式。 -
@dharms 我在 Google 上搜索了很多,并问了一个与 sqlite 和图像检索相关的问题,请参见此处:stackoverflow.com/questions/30818728/… 但如果我使用 blob 或这种方法,那么它会变得非常困难。
-
如何将图标/json作为文件放在缓存目录中,并在互联网连接不可用时检索。当互联网连接可用时,只需用最新的 icon/json 覆盖文件的内容。
标签: android python json api kivy