【发布时间】:2020-03-18 11:26:20
【问题描述】:
我有一个 NFC 标签,我必须从中读取一个文本,并将该文本保存在某个位置,以便在许多活动和片段中使用其中的参数。
当用户决定退出程序或读取另一个标签时,我应该能够删除或覆盖这个参数。
我不喜欢将这些参数传递给活动的想法,因为它们在整个会话中是不变的,例如标签的 ID 号和它的制造商。
我也想在 Assets 中创建一个文件并每次都读取它,但我认为应该有更好的方法来解决这个问题。
【问题讨论】:
我有一个 NFC 标签,我必须从中读取一个文本,并将该文本保存在某个位置,以便在许多活动和片段中使用其中的参数。
当用户决定退出程序或读取另一个标签时,我应该能够删除或覆盖这个参数。
我不喜欢将这些参数传递给活动的想法,因为它们在整个会话中是不变的,例如标签的 ID 号和它的制造商。
我也想在 Assets 中创建一个文件并每次都读取它,但我认为应该有更好的方法来解决这个问题。
【问题讨论】:
有几种方法可以让您在整个项目中访问这些值。
您可以使用共享首选项,您可以在其中为您的固定值创建变量,例如 TAG_ID 和 MANUFACTURER_ID。每次点按新卡片时,您都可以更新它们,或者您希望它们随时更改。
您还可以创建包含 TAG_ID 和 MANUFACTURER_ID 的模型类(也可以是单例)。每次有新的标签被点击时,初始化这个模型类的对象。您还可以随时使用 getter 和 setter 访问/更改它们。
您可以定义静态变量来存储您想要的值,并且您可以随时随地轻松访问它们。这只会用更少的变量来锻炼。增加静态变量可能会影响性能。
【讨论】: