0

我正在尝试将 Contentful CMS 中的条目提取到我的 Android 应用程序中。为此,我正在使用 Vault。我在我的应用程序中定义了以下模型 -

@ContentType("transportInfo")
public class TransportModel extends Resource {
    @Field String title;
    @Field List<Asset> gallery;
    @Field String description;
    @Field List<Asset> mapImage;
    @Field String phoneNumber;
    @Field String type;
    @Field Asset dayListImage;
    @Field Asset nightListImage;
    @Field String listSubtitle;
    @Field Integer sortIndex;
    @Field String dayHighlightColor;
    @Field String nightHighlightColor;
    @Field Integer numberOfZones;
    @Field Integer numberOfStations;
    @Field Integer totalKilometers;
    @Field String webSite;
}

以下是我的同步代码-

CDAClient cdaClient = CDAClient.builder()
        .setSpace(getResources().getString(R.string.space_id))
        .setToken(getResources().getString(R.string.cms_token))
        .build();

mClient.appCDAClient = cdaClient;
SyncConfig config = SyncConfig.builder()
        .setClient(cdaClient)
        .build();

//sync
Vault.with(getActivity(), TransportSpace.class).requestSync(config, new SyncCallback() {
    @Override
    public void onResult(SyncResult result) {
        result.error();
        Vault vault = Vault.with(getActivity(), TransportSpace.class);
        List<TransportModel> response =  vault.fetch(TransportModel.class)
                .all();
        response.size();
    }

});

上述同步请求的结果给了我以下错误 -

java.lang.ClassCastException:com.google.gson.internal.LinkedTreeMap 无法转换为 java.util.List

我假设这是由于画廊领域。但是有人可以在这里帮助我吗?

谢谢!

4

1 回答 1

0

我叫 Mario Bodemann,是 Contentful 的开发人员。

请确保使用最新版本的 Contentful 库:contentful.java:7.0.2,Vault:2.0.0

这应该可以解决问题,如果没有,让我们一起看看......

问候,马里奥

于 2016-10-10T19:39:53.337 回答