我面临的问题有点奇怪,因为当我有一个普通的模型类,我用作改装2的响应体模型时,我会得到一些意想不到的错误,假设
open class Example : RealmObject(){
@Json(name = "token")
var token: String? = null
@Json(name = "data")
var data: RealmList<Data>? = null
}
和数据类是
open class Data : RealmObject(){
@Json(name = "info")
var info: String? = null
}
我的代码崩溃显示ClassNotFoundException(我在调试模式下运行),如果删除KotlinJsonAdapterFactory(),则崩溃不会发生,但数据值不存在,即在调试模式下它出现&#39 ; s好像它不存在,即Example的对象只显示标记值,数据不存在甚至不存在null,但我需要KotlinJsonAdapterFactory()因为我使用了annonations所以上面是只是一个实验。
我找到的唯一解决方案是将两个类转换为数据类并且它完美地工作(当然我已经删除了RealmObject扩展并使RealmList成为普通列表),但是我需要扩展RealmObject()类和数据无法打开类,Realm db需要该模型。
所以我恢复了1.4删除了KotlinJsonAdapterFactory(),一切正常,即使看起来像proguard,所以我该怎么办才能升级到Moshi 1.5。
此外,我已经在我的示例代码中更新了一些数据对象是RealmList的东西,可能是为什么它被忽略/当响应出现时可能是因为我的MosmL的RealmListAdapter被忽略了???
我会附上我的moshi和改造实例的片段
Moshi`instance
Moshi.Builder()
.add(KotlinJsonAdapterFactory())
.add(RealmListAdapter.FACTORY)
.build()
改造实例
Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(MoshiConverterFactory.create(moshi))
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.client(okHttpClient)
.build()