【问题标题】:Querying from Android to Google App Engine via Mobile Backend Starter通过 Mobile Backend Starter 从 Android 查询到 Google App Engine
【发布时间】:2014-07-16 22:13:43
【问题描述】:

我正在尝试在 Google App Engine 上对我的数据存储进行查询。我的应用程序是这样的:

      String parametroDate = "_createdAt";
      CloudQuery cq1 = new CloudQuery("Clip");
      cq1.setScope(Scope.PAST);
      Filter userFilter = Filter.eq("clip_user", main.user.getUsername().toLowerCase()); // This filter on its own works fine

      Calendar cal = Calendar.getInstance(); // Get my time
      Date date = new Date();
      date.setMillis(cal.getTimeInMillis());
      cal.set(Calendar.HOUR, 0); // And set to 00:00:00
      cal.set(Calendar.MINUTE, 0);
      cal.set(Calendar.SECOND, 0);
      cal.set(Calendar.MILLISECOND, 0);
      date.setMillis(cal.getTimeInMillis());
      Filter userMayorqueHoy = Filter.ge(parametroDate, date);  // Greather than today at 00:00:00
      cq1.setFilter(Filter.and(userFilter, userMayorqueHoy));

Date 类是 org.apache.tools.ant.types.resources.selectors.Date 来自 AppEngine 的库。我也试过java.sql.Date。在这两种情况下,结果都是一样的:

com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 错误的请求

{

“代码”:400,

“错误”:[

{

  "domain": "global",

  "message": "_createdAt: java.util.LinkedHashMap is not a supported property type.",

  "reason": "badRequest"

}

],

"message": "_createdAt: java.util.LinkedHashMap 不受支持 属性类型。”

}

在我的 DataStore 中,它是 Date 类型。

这是查询:

{filterDto={operator=AND, subfilters=[{operator=EQ, values=[clip_user, franexp]}, {operator=GE, values=[_createdAt, org.apache.tools.ant.types.resources.selectors.Date@43367c00]}]}, kindName=Clip, scope=PAST}

提前致谢。

【问题讨论】:

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


    【解决方案1】:

    Mobile Backend Starter 使用的数据存储区不支持日期数据类型。请改用此包 com.google.api.client.util.DateTime 中的 DateTime。您可以通过将 Date 对象传递给它的构造函数来创建 DateTime 的新实例:

    new DateTime(date);
    

    【讨论】:

    • 这应该被标记为正确答案。我也经历过同样的事情,您使用 DateTime 将日期作为参数传递。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 2014-06-07
    • 1970-01-01
    相关资源
    最近更新 更多