Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将数据库中的数据转换到某个建筑实体中_Android_Database_Architecture - Fatal编程技术网

Android 如何将数据库中的数据转换到某个建筑实体中

Android 如何将数据库中的数据转换到某个建筑实体中,android,database,architecture,Android,Database,Architecture,现在我正在开发Android应用程序,它有一个主要的活动,就是通过GLSurface显示一些数据。这些数据可以通过多种方式进行更改。为此,我有几个片段,其中包含一些具有额外逻辑的变体列表。问题是我需要以某种方式将数据从一个地方传输到另一个地方 例如: 我有一个包含元素列表的片段。我使用带有自定义适配器的RecyclerView。我正在用数据库中的数据填充列表SomeThingDBEntity。当我从房间数据库(使用房间实体)获取它时,它有一些额外的字段,这些字段仅用于在RecyclerView中

现在我正在开发Android应用程序,它有一个主要的活动,就是通过GLSurface显示一些数据。这些数据可以通过多种方式进行更改。为此,我有几个片段,其中包含一些具有额外逻辑的变体列表。问题是我需要以某种方式将数据从一个地方传输到另一个地方

例如:

我有一个包含元素列表的片段。我使用带有自定义适配器的RecyclerView。我正在用数据库中的数据填充列表<例如,code>SomeThingDBEntity。当我从房间数据库(使用房间实体)获取它时,它有一些额外的字段,这些字段仅用于在RecyclerView中显示元素。我需要将用户的选择从适配器发送到片段,然后从片段发送到活动,然后活动将其发送到包含GLSurface工作逻辑的某个类<例如,代码>某事物的名称。现在我只传递
SomeThingGLentity
为显示数据而要求的字段(
int
String
等),但将来这个列表可能会增加。我还可以直接发送
SomeThingDBEntity
,并仅在最后将更改应用到
somethingLentity
时获取必填字段。但是这样使用房间DB实体可以吗


有没有更好的办法?我还可以创建只包含必填字段的第三个类。但是该放在哪里,怎么称呼呢?也许有一些最佳方式的模式或指南…

看起来您需要一个数据映射器。类似于这个-。 如果使用这种方法,您将能够封装从DBEntity到BusinessEntity的转换逻辑,并且如果您将更改其中一种方法中的数据格式,则只需要编辑映射器