【问题标题】:Using custom entity IDs with the Google Mobile Backend Starter在 Google Mobile Backend Starter 中使用自定义实体 ID
【发布时间】:2013-08-30 14:21:27
【问题描述】:

我正在为一个项目使用 Google 的移动后端启动器,我想自己为某些实体设置键名,而不是使用自动生成的。

如果我在没有后端的情况下执行此操作,我可以执行数据存储文档中描述的操作,该操作会创建一个键名为“asalieri”的员工实体:

Entity employee = new Entity("Employee", "asalieri");

这是我用来创建实体的代码。我一直在尝试使用 CloudEntity.setId() 函数。 Upc 是一个字符串,当我使用硬编码字符串时它也不起作用。

CloudEntity avg = new CloudEntity("Aggregate");
avg.setId(upc);
avg.put("averagePrice", sum/count);
insertAverage(avg);

private void insertAverage(CloudEntity avg) {
    CloudCallbackHandler<CloudEntity> handler = new CloudCallbackHandler<CloudEntity>() {
          @Override
          public void onComplete(final CloudEntity result) {
              Toast.makeText(AddProduct.this, "Average updated.", Toast.LENGTH_LONG).show();
          }

          @Override
          public void onError(final IOException exception) {
            handleEndpointException(exception);
          }
        };

        // execute the insertion with the handler
        getCloudBackend().insert(avg, handler);
}

当我运行应用程序时,一切正常,只是新实体没有我设置的自定义 ID。

我唯一能想到的是 setId() 不应该做我认为它做的事情,但我一直在挖掘代码并且无法找到另一种方法来做我想做的事.

有人知道为什么这不起作用吗?

【问题讨论】:

    标签: android google-app-engine google-cloud-endpoints


    【解决方案1】:

    我是 MBS 项目的 Google 员工。我重新创建了您的问题,乍一看表明这是我们这边的一个错误。我将通过更新编辑我的回复。

    在我们推出修复程序之前,这种解决方法是否可行?

    avg.put("samId", upc)
    

    【讨论】:

      猜你喜欢
      • 2014-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-07
      • 2014-06-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多