在SQLite中只存储一个对象的历史记录的最佳方法是什么

时间:2017-02-12 23:30:23

标签: android sqlite

我想存储一个对象的历史记录,并且我正在寻找建议。

我和#34;所有者"对象有以下变量和arraylist:

private String name;
private int totalAmount;
private List<Payment> listOfPayments = new ArrayList<>();

现在我必须存储此对象的历史记录(当客户付款给我时,totalAmount将增加,Payments对象将添加到listOfPayments)。

现在我不知道存储这类物体历史的最佳方法是什么。

在SQLite中我想存储如下数据:

dateState (有关日期的唯一值,totalAmount的状态和listOfPayments的内容,例如日期13.02.2017 totalAmount = 450,listOfPayments = [{...},{...}]在另一个日期02.02.2017总金额= 500,listOfPayments = [{...},{...},{...},{...},{...}]

totalAmount - 我有一天的金额

listOfPayments - 从非常开始状态保存到dateState的付款清单

并在每一行中存储数据,例如&#34; name&#34;或其他不会改变的内存浪费。

你在哪里以及如何储存它?

1 个答案:

答案 0 :(得分:0)

当数据正确标准化后,列表会进入单独的表格。

您需要一张表来存储所有者的属性:

Owner
-------
OwnerID
name

总额不需要存储;它可以从其他数据计算出来。

每个付款条目属于所有者,因此需要外键:

Payment
---------
PaymentID
OwnerID
date
amount
...