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 にキャストできません
これはギャラリーフィールドによるものだと思います。しかし、誰かがここで私を助けてくれませんか?
ありがとう!