尝试使用Vault在Android上获取Contentful CMS数据时的类视图例外

时间:2016-09-28 11:02:04

标签: android contentful

我正在尝试将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

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

谢谢!

1 个答案:

答案 0 :(得分:0)

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

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

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

问候,马里奥