在Activity或ViewModel中,应该从哪里解析意图中的数据(扫描NFC标签时)?

时间:2019-05-17 06:52:03

标签: android mvvm nfc android-mvvm

我正在开发一个应用程序,该应用程序应根据来自NFC标签的信息显示不同的内容。 基本思路: 用户扫描NFC标签-> Android发送意图->我的活动收到意图->从意图中解析NFC数据->从数据库中获取内容->显示。 问题是我不确定将Intent解析代码放在哪里。到目前为止,我有2个选择:

1)我在活动中从Intent中获取了NFC Tag对象->读取了数据并将其从byte []转换为更方便的内容->将数据解析为ViewModel-> VM完成了其余的工作。根据Android文档,视图应尽可能简单。但就我而言,Activity似乎在分析意图数据并进行转换方面做了大量工作。此外,它绝对不是与View相关的代码。

2)我在活动中从Intent获得NFC Tag对象->将Intent对象传递给ViewModel-> ViewModel解析Intent中的数据并执行其余操作。在这种情况下,Activity只做传递数据就不做任何事情,因此它保持非常简单,但是ViewModel存在一个问题,现在它需要知道如何使用Intent对象和NFC数据。根据Android文档,ViewModel对Android特定的东西一无所知,即不应有android。*导入。如果我在VM中使用Intent和NFC,则必须导入一些Android特定的类。

从Intents获取数据以符合MVVM的最佳实践是什么?

0 个答案:

没有答案