android json转db,Android Room:将json结果转换为db对象的有效方法
問(wèn)題
我有一個(gè)從API調(diào)用解析的POJO,看起來(lái)像這樣
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;
}
為了最大限度地減少冗余和重復(fù),我希望創(chuàng)建一個(gè)這樣的模式
@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
}
正如您所看到的,當(dāng)我調(diào)用DAO方法來(lái)訪問(wèn)數(shù)據(jù)庫(kù)時(shí),我不能直接傳入pojo對(duì)象(除非我弄錯(cuò)了).我相信我需要將對(duì)象轉(zhuǎn)換為與數(shù)據(jù)庫(kù)實(shí)體模型匹配的對(duì)象.
題
Android Framework是否提供了從POJO轉(zhuǎn)換為數(shù)據(jù)庫(kù)模型對(duì)象的自然方式?有沒(méi)有辦法做到這一點(diǎn),除了自己手動(dòng)轉(zhuǎn)換它?
我試過(guò)的事情
我知道我可以在DAO接口中的方法內(nèi)實(shí)現(xiàn)轉(zhuǎn)換.但是我必須創(chuàng)建一個(gè)新對(duì)象并手動(dòng)設(shè)置所有值.
我最初認(rèn)為typeconverters會(huì)工作,但他們似乎轉(zhuǎn)換單個(gè)列.
總結(jié)
以上是生活随笔為你收集整理的android json转db,Android Room:将json结果转换为db对象的有效方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 墨梅图是谁画的是谁画的呢?
- 下一篇: html的子页面获取自己url,如何从h