我使用Retrofit从端点检索一些对象。答案是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<crm method="getclients”>
<result>0</result>
<clients>
<client>
<idcliente>101</idcliente>
<name> SpaceX </name>
<addresses>
<address>
<idaddress>1</idaddress>
<name> 1 Rocket Rd Hawthorne </name>
<persons>
<person>
<idperson>1</idperson>
<name>Elon Musk</name>
</person>
<person>
<idperson>2</idperson>
<name>Gwynne Shotwell</name>
</person>
</persons>
<places>
<place>
<idplace>1</idplace>
<name>Engineering Room</name>
</place>
<place>
<idplace>2</idplace>
<name>Main Hall</name>
</place>
<place>...</place>
<place>...</place>
</places>
</address>
<address>
....
</address>
</addresses>
</client>
<client>...</client>
<client>...</client>
<client>...</client>
</clients>
</crm>
因此,我需要将所有Client
与其各自的Address
es存储在一起,每个Person
个es Place
和Client
s。
因此,我的目标是创建一个可以存储客户端的数据库,并通过检索Address
我可以访问其Person
es,然后访问其地址“Places
和Client
。
通过使用Retrofit和SimpleXml作为转换器,我将这些作为POJO的对象。 那么,我怎么能将这些Address
对象存储到数据库中?我需要具体的是发现如何将Client
列表存储到{{1}列中如何获取此列表中的每个Address
,以及Person
和Place
的相应列表。
在尝试完成时,我读到我需要将这些对象存储为XML或JSON。因此,例如,使用gson
会将Address
转换为json地址对象,但是我需要为Address
创建另一个表,为Person
和{{Place
创建其他表。 1}}?
我是数据库的初学者,因此我很丢失。如果有人能够以教程,完整的解释形式回答这个问题,那将是无法抗拒的。
答案 0 :(得分:0)
我可以想到两种可行的方法:
将POJO存储为包含列的表。也许Room会是一个很好的选择。我认为这是更多的工作要实施。
拥有一个包含数据结构的XML,并将XML存储在数据库中(例如String)。然后,您可以在从数据库中检索XML时读取和解析XML。例如,您可以使用SimpleXML。