如何在Android中的HashMap或ArrayList中存储记录

时间:2017-06-30 13:18:15

标签: java android arraylist hashmap

我对HashMaps与ArrayLists有一般性问题。

Ian我正在研究的项目我正在从票证中扫描条形码,比如进入棒球场或音乐会。

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

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

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

非常感谢!

1 个答案:

答案 0 :(得分:0)

我建议不要将此记录保留在内存中的hashmap或arraylist中。也许手机将关闭或您的应用程序将崩溃。因此,到目前为止,用户将丢失存储在内存中的所有内容。

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

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

}

然后创建每个对象时使用Gson或任何你喜欢的对象,并将其作为json存储到db或文件中。

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

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