android json转db,Android Room:将json结果转换为db对象的有效方法
問題
我有一個從API調用解析的POJO,看起來像這樣
public class Article {
public Long id;
@Expose
@SerializedName("section")
public String section;
@Expose
@SerializedName("title")
public String title;
@Expose
@SerializedName("topics")
public List topics;
@Expose
@SerializedName("media")
public List media;
}
為了最大限度地減少冗余和重復,我希望創建一個這樣的模式
@Entity(foreignKeys = {
@ForeignKey(entity = Article.class, parentColumns = "id", childColumns = "articleId"),
@ForeignKey(entity = Topic.class, parentColumns = "id", childColumns = "topicId"),
@ForeignKey(entity = Media.class, parentColumns = "id", childColumns = "mediaId")
}
public class Articles {
@PrimaryKey
public Long articleId;
@ColumnInfo(name = "topic_id")
public Long topicId;
@ColumnInfo(name = "media_id")
public Long mediaId;
}
@Entity
public class Article {
// Left out
}
@Entity
public class Media {
// Left out
}
正如您所看到的,當我調用DAO方法來訪問數據庫時,我不能直接傳入pojo對象(除非我弄錯了).我相信我需要將對象轉換為與數據庫實體模型匹配的對象.
題
Android Framework是否提供了從POJO轉換為數據庫模型對象的自然方式?有沒有辦法做到這一點,除了自己手動轉換它?
我試過的事情
我知道我可以在DAO接口中的方法內實現轉換.但是我必須創建一個新對象并手動設置所有值.
我最初認為typeconverters會工作,但他們似乎轉換單個列.
總結
以上是生活随笔為你收集整理的android json转db,Android Room:将json结果转换为db对象的有效方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 墨梅图是谁画的是谁画的呢?
- 下一篇: html的子页面获取自己url,如何从h