我是知足的新手,我编写了一个android应用程序,它使用内容交付API从我的空间中获取内容。
我使用了Vault和普通API (没有保险库)来获取内容。
我观察到,在获取增量更改(新的和更新的内容)时总是有3-5秒的延迟。
我的要求是提供一个实时数据同步。
这是我的实施中的一个问题,还是一种预期的行为。
示例代码: 1.使用Vault
Vault.with(App.getInstance(), SampleSpace.class).requestSync(
SyncConfig.builder()
.setClient(ClientProvider.get())
.setInvalidate(false)
.build());
List<SampleTable> appointments = Vault.with(App.getInstance(), SampleSpace.class)
.fetch(SampleTable.class)
.where(SampleTable$Fields.DATE+"=?", mDateToCheck)
.all();谢谢你的时间和帮助!
发布于 2017-09-22 09:13:17
我是Java和Android的维护者,内容丰富。
经济放缓可能有一些原因:
1)您是syncing ,有很多数据
这意味着,许多数据,甚至可能不同的页面,都必须从内容丰富的、分析的、序列化的页面中获取,并放入Vault案例中的数据库中。
在本例中,查看按id获取条目而不使用同步可能是一个想法。可悲的是,您会失去Vault模型类的良好特性,并且需要自己实现从内容丰富的模型到自定义模型的映射。
2) ClassLoader.getResources
在您的代码片段中,您将使用每个同步调用重新创建一个CDAClient或Vault。这在安卓系统上有一个已知问题,我们目前正在修复它。
目前,在更新结束之前,建议尝试在字段中存储Vault和/或CDAClient是否有助于后续调用。
3)网络速度慢,
可悲的是,这将意味着,我们无法从我们身边做任何事情.)
我希望这能给你一些建议,在一个解决方案上,请随时报告你遇到的任何进展。
发布于 2018-02-02 18:03:45
我为这个问题找到的唯一解决方案是使用内容预览API。因此,当某个对象被修改/删除/创建时,响应速度将是相同的。也就是说,用户可以在一秒钟或更短的时间内在应用程序/web上获得每一个更新。
问题是,应用程序将显示已发布或未发布的条目(草稿),因此取决于项目需求。
如果用户需要使用此解决方案,他必须使用 Contentful access令牌,它位于内容中的API顶部面板部分。希望能帮上忙!
https://stackoverflow.com/questions/46357741
复制相似问题