我正在处理从后端使用JSON Feed的应用程序。默认情况下,每次用户在连接到Internet时访问应用程序时都会触发HTTP请求,如果没有网络,则应从缓存加载数据。我使用Retrofit进行网络连接,我看到了两种实现缓存的方法:使用配置为支持缓存的OkHttp客户端,或创建SQLite数据库来存储数据。第二种选择对我来说很熟悉,因此看起来更可靠,但是这种方法有很多开销。我从来没有真正使用过HTTP缓存,而且我想知道仅仅依靠它进行离线数据查看是否足够?
答案 0 :(得分:4)
你对SQLite是正确的,更好的方法是分离HTTP请求和访问实际数据。由于它是feed,它是结构化数据。您可以采取以下方法:
这样,即使没有互联网,您也始终可以访问数据。您可以随时触发HTTP轮询并更新数据库。在更新/更改时,内容数据的观察者将触发加载器并更新UI,如果它当前显示给用户。