字符串和布尔值的表存储

时间:2012-12-15 03:09:07

标签: java android arrays

我已经实现了应用内结算v3,我想要一种保留某种包含3列的表的方法

(String)product的名称,(String)sku,(boolean)true / false

最好的方法是什么? (在我看来)最好的方法是允许我保留一个静态易读的值列表,其中前两个是字符串,第三个是布尔值。在开始时,布尔列的所有值都是false,但是当我查询购买时,我可以轻松地重置该值。

添加,

我反对SQLite数据库,因为它们太容易被攻击了。我宁愿在代码中创建它,因此我在arraylist或矩阵中的ArrayList或类似的东西之间进行辩论:

private static class CatalogEntry {
    public String sku;
    public String name;

    public CatalogEntry(String sku, String name) {
        this.sku = sku;
        this.name = name;
    }
}

private static final CatalogEntry[] CATALOG = new CatalogEntry[] {

new CatalogEntry("android.test.purchased", "Item1"),
        new CatalogEntry("android.test.canceled", "Item2"),
        new CatalogEntry("android.test.refunded", "Item3"),
        new CatalogEntry("android.test.item_unavailable", "Item4")

};

如果我添加第三列,有没有办法重置CATALOG数组中的值,否则我正在考虑使用它和标准的arraylists。

1 个答案:

答案 0 :(得分:0)

将sqlite与四列一起使用:

  • SKU
  • 名称
  • purchaseDate(如果没有购买,则为null)
  • md5Hash

购买时,只需连接sku,name,purchaseDate,device-id和PSK,制作md5Hash并将其与行中的其他数据一起存储。检查表的内容时,将存储的md5与数据进行比较,然后可以验证购买是否有效,或者表是否已被篡改。您甚至可以让用户将购买表备份到SD卡(或使用Android备份)。