首页 > 解决方案 > 难以从第三方对象创建 @TypeConverter

问题描述

我尝试将第三方类中的对象插入房间桌子,问题是我得到了这个扩展:

  RuntimeException: Unable to invoke no-args constructor for interface
  org.jivesoftware.smack.packet.ExtensionElement. Registering an
  InstanceCreator with Gson for this type may fix this problem.

我知道 Gson 无法从第三方类转换对象,我该怎么做呢?

我试图创建 InstanceCreator 但我得到了同样的错误(也许我没有正确创建它),这是 TypeConverter 类:

@TypeConverter
public String stringFromObject(Message message){
    Gson gson = new Gson();
    return gson.toJson(message);
}

@TypeConverter
public Message getObjectFromString(String jsonString){
    Type listType = new TypeToken<Message>(){}.getType();
    return new Gson().fromJson(jsonString, listType);
}

标签: androiddatabaseandroid-room

解决方案


推荐阅读