我对HashMaps与ArrayLists有一般性问题。
Ian我正在研究的项目我正在从票证中扫描条形码,比如进入棒球场或音乐会。
作为此扫描的一部分,还有用户预先选择的静态信息,例如userName,location。我还捕获了扫描条形码的日期和时间。所以我最终得到的记录包括日期/时间,用户名,位置,扫描的条形码。
我需要将此信息存储100到200次扫描,然后在一天结束时将其转换为JSON对象。
我对如何存储这些数据感到有点困惑。有人可以给我一些指示吗?我用谷歌搜索了它,但仍然感到困惑。
非常感谢!
答案 0 :(得分:0)
我建议不要将此记录保留在内存中的hashmap或arraylist中。也许手机将关闭或您的应用程序将崩溃。因此,到目前为止,用户将丢失存储在内存中的所有内容。
我会做的就是这个。我会用你想要的字段创建一个DTO对象,例如:
public class MyDTO{
private String field1;
private LocalDateTime field2;
[...]
}
然后创建每个对象时使用Gson
或任何你喜欢的对象,并将其作为json存储到db或文件中。
在一天结束时阅读已保存的json对象。将它们组合到MyDTO的ArrayList中,并使用Gson
创建一个json数组并发送它们。
成功提交JSON后,只需清理数据库或文件。