最近想学 android kotlin, 我学这个都是看官方文档,以为这玩意靠谱,开始还算顺利,但看到room这块,上机实验代码时遇到了这个错误,当我把文档中提到的Adress类 Ebedded到User的时候报了:Cause: java.io.UTFDataFormatException
开始感觉很奇怪,去网上搜索,全都是编码错误啥的, 而我这肯定不是这个问题,闹心
这么简单的代码怎么会出问题呢,难道官方doc有问题? 又去google啥的搜,还是没啥收获,最后无意中发现 引入包中有个
import android.location.Address
原来是当我写Address这个数据类的时候,AS自动把这个包给我加进来了(这个功能99.9999%相当优秀),但由于文档中给出的类名(我们实验的时候,往往不爱改doc的变量名,类名啥的,大家都一样吧)和公用包里的类名重复了,导致此问题吧。。。
更深的原因没去探究,感觉没啥用。 去掉此引入,或者把Address改成别的名字,就没这个问题了。
肇事官网doc:
https://developer.android.google.cn/training/data-storage/room/relationships?hl=zh-cn
不算什么技术文档, 避免同样的同学挠头而已