【发布时间】:2019-01-30 14:35:55
【问题描述】:
现在我正在开发一个 Android 应用程序,它有一个主要的 Activity,它通过 GLSurface 显示一些数据。可以通过多种方式更改此数据。为此,我有几个片段,其中包含一些带有额外逻辑的变体列表。问题是我需要以某种方式将数据从一个地方传输到另一个地方。
例如:
我有带有元素列表的片段。我将 RecyclerView 与自定义适配器一起使用。我正在用数据库中的数据填充列表。 SomeThingDBEntity 例如。当我从 Room DB 获取它时(使用 Room 实体),但它有一些额外的字段,这些字段仅用于在 RecyclerView 中显示元素。我需要将用户的选择从适配器发送到片段,然后从片段发送到活动,然后活动将其发送到封装 GLSurface 工作逻辑的某个类。 SomeThingGLentity 例如。现在我只传递SomeThingGLentity 要求的用于显示数据的字段(int、String 等),但将来这个列表可以增长。我也可以直接发送SomeThingDBEntity 并仅在最后将更改应用于SomeThingGLentity 时获取必填字段。但是这样使用 Room DB 实体可以吗?
有没有更好的方法来做到这一点?我还可以创建只包含必填字段的第三类。但是在哪里放置以及如何调用它?也许有一些最佳方式的模式或指导方针......
【问题讨论】:
标签: android database architecture