在Kotlin中使用GsonTypeAdapter进行AutoValue

时间:2017-11-07 13:35:32

标签: android kotlin gson

我正在尝试将Kotlin集成到现有的Android Java项目中。在构建中进行更改并将Kotlin添加到项目后,我无法找到AutoValueGsonTypeAdapter类的解决方案,但似乎没有支持这一点。

    @AutoValue
    public abstract class MediaObject implements Parcelable {

    public static TypeAdapter<MediaObject> typeAdapter(Gson gson) {
        return new AutoValue_MediaObject.GsonTypeAdapter(gson);
    }

    @SerializedName("mimetype")
    public abstract String getMimeType();

    @SerializedName("url")
    public abstract String getUri();
}

My Gson builder:

GsonBuilder().registerTypeAdapterFactory(new AutoValueGsonTypeAdapterFactory())

有关如何解决此问题或使用内容的任何建议吗?

1 个答案:

答案 0 :(得分:0)

不要使用它。如果是Retrofit,你可以使用.addConverterFactory(GsonConverterFactory.create())和kotlin数据类。在你的情况下,你需要删除MediaObject java类,并创建数据类:

data class MediaObject(
    @SerializedName("mimetype")
    val mimetypeString:String,

    @SerializedName("url")
    val uri:String)