Bundle和ContentValues类似乎具有非常相似的功能。
有没有一种有效的方法从一个转换到另一个(反之亦然)而不必遍历类,调用get并随后放在每个元素上?
答案 0 :(得分:8)
我已经扫描了Android源代码,两个类都使用Map
来保存基础数据。具体而言,Bundle
使用Map
,ContentValues使用HashMap
。
但是,Bundle
允许加载任何parcelable对象,而ContentValues
'实现接受基本类型类(Integer, String, Double
等)和字节数组。
原则上看起来ContentValues
是Bundle
的一个特例,因此如果内部可以访问,则可以从ContentValues
转换为Bundle
,但反过来也是有问题的,因为Bundle
可以容纳与ContentValues
不严格兼容的对象。
欢迎提出任何意见。