0

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

(字符串)产品名称,(字符串)sku,(布尔)真/假

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

只是补充一下,

我反对 SQLite 数据库,因为它们太容易被破解。我宁愿在代码中创建它,因此我在数组列表或矩阵中的 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 数组中的值,否则我正在考虑同时使用该列和标准数组列表。

4

1 回答 1

0

将 sqlite 与四列一起使用:

  • 库存单位
  • 姓名
  • purchaseDate(如果未购买,则为 null)
  • md5Hash

进行购买时,您只需将 sku、名称、购买日期、设备 ID 和 PSK 连接起来,制作一个 md5Hash 并将其与行中的其他数据一起存储。当您检查表格的内容时,您将存储的 md5 与数据进行比较,您可以验证购买是否有效,或者表格是否已被篡改。您甚至可以让用户将购买表备份到 sdcard(或使用 Android 备份)。

于 2012-12-15T05:49:29.710 回答