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

有什么建议如何解决这个问题或改用什么?

最佳答案

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

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

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

关于android - Kotlin 中带有 GsonTypeAdapter 的 AutoValue,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47159328/

10-12 00:38
查看更多