【问题标题】:How to store records in a HashMap or ArrayList in Android如何在 Android 的 HashMap 或 ArrayList 中存储记录
【发布时间】:2017-12-04 11:22:15
【问题描述】:

我有一个关于 HashMaps 与 ArrayLists 的一般性问题。

对于我正在从事的项目,我正在扫描门票上的条形码,例如进入棒球场或音乐会。

作为此扫描的一部分,还有用户预先选择的静态信息,例如用户名、位置。我还捕获了扫描条形码的日期和时间。所以我最终得到了一条由日期/时间、用户名、位置、扫描条码组成的记录。

我需要为 100 到 200 次扫描存储此信息,然后在一天结束时将其转换为 JSON 对象。

我对如何存储这些数据有点困惑。有人可以给我一些指示吗?我用谷歌搜索了它,但仍然很困惑。

非常感谢!

【问题讨论】:

标签: java android arraylist hashmap


【解决方案1】:

我建议不要将这些记录单独保存到内存中的 hashmap 或 arraylist 中。也许手机会关机或者你的应用程序会崩溃。因此用户将丢失到目前为止存储在内存中的所有内容。

我会做的就是这个。我会用你想要的字段创建一个 DTO 对象,例如:

public class MyDTO{
    private String field1;
    private LocalDateTime field2;
    [...]

}

然后每个对象在创建时使用Gson 或任何您喜欢的对象并将其作为 json 存储到数据库或文件中。

在一天结束时读取保存的 json 对象。将它们组合成 MyDTO 的 ArrayList 并使用 Gson 创建一个 json 数组并发送它们。

在您成功提交 JSON 后,只需清理数据库或文件。

【讨论】:

  • 感谢您的快速回复。发布此问题后,我得出了相同的结论。我需要永久存储,因为每次数据扫描我都有 8 条信息要存储,我想我将使用 SQLite 数据库和一个辅助类。现在去学习吧! :)
猜你喜欢
  • 1970-01-01
  • 2015-09-30
  • 1970-01-01
  • 2012-06-18
  • 1970-01-01
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
相关资源
最近更新 更多