首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >延迟同步达美从android中的内容变化

延迟同步达美从android中的内容变化
EN

Stack Overflow用户
提问于 2017-09-22 05:55:57
回答 2查看 276关注 0票数 0

我是知足的新手,我编写了一个android应用程序,它使用内容交付API从我的空间中获取内容。

我使用了Vault和普通API (没有保险库)来获取内容。

我观察到,在获取增量更改(新的和更新的内容)时总是有3-5秒的延迟。

我的要求是提供一个实时数据同步。

这是我的实施中的一个问题,还是一种预期的行为。

示例代码: 1.使用Vault

代码语言:javascript
复制
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();
  1. 正常API 私有最终CDAClient client =CDAClient client.observe(CDAEntry.class).all() .observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) .subscribe(新Action1() {@覆盖公共无效调用(CDAArray条目){//业务逻辑}});

谢谢你的时间和帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-22 09:13:17

我是Java和Android的维护者,内容丰富。

经济放缓可能有一些原因:

1)您是syncing ,有很多数据

这意味着,许多数据,甚至可能不同的页面,都必须从内容丰富的、分析的、序列化的页面中获取,并放入Vault案例中的数据库中。

在本例中,查看按id获取条目而不使用同步可能是一个想法。可悲的是,您会失去Vault模型类的良好特性,并且需要自己实现从内容丰富的模型到自定义模型的映射。

2) ClassLoader.getResources

在您的代码片段中,您将使用每个同步调用重新创建一个CDAClientVault。这在安卓系统上有一个已知问题,我们目前正在修复它。

目前,在更新结束之前,建议尝试在字段中存储Vault和/或CDAClient是否有助于后续调用。

3)网络速度慢,

可悲的是,这将意味着,我们无法从我们身边做任何事情.)

我希望这能给你一些建议,在一个解决方案上,请随时报告你遇到的任何进展。

票数 1
EN

Stack Overflow用户

发布于 2018-02-02 18:03:45

我为这个问题找到的唯一解决方案是使用内容预览API。因此,当某个对象被修改/删除/创建时,响应速度将是相同的。也就是说,用户可以在一秒钟或更短的时间内在应用程序/web上获得每一个更新。

问题是,应用程序将显示已发布或未发布的条目(草稿),因此取决于项目需求。

如果用户需要使用此解决方案,他必须使用 Contentful access令牌,它位于内容中的API顶部面板部分。希望能帮上忙!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46357741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档