在 Android 客户端上使用 Cloud Endpoint 模型中包含的枚举

Using an enum contained in a Cloud Endpoint model on a Android client

我正在尝试在名为 CargoWrapper 的实体中实现枚举。在我的 android 应用程序中,我正在构建一个 CargoWrapper 对象以发送到端点方法,然后调用我的 CargoWrapper setters 来设置实例变量。 CargoWrappers 实例变量之一是一个枚举,它已被索引。为我的前端生成的唯一方法是 setter 和 getter,我看不到枚举。有谁知道如何从 android 客户端设置枚举实例变量,看起来应该非常简单?

https://cloud.google.com/developers/articles/google-cloud-endpoints-for-android/

文档说: 关于支持的类型 •枚举。后端中的枚举在客户端代码中生成为 String 表示形式。换句话说,如果您在后端和客户端都使用枚举功能,则需要在这两个地方定义枚举。

在 Android 客户端中使用枚举的示例会很棒。

最简单的方法是创建附加模块并将其包含在其他模块中。

build.gradle 对于 common 模块

apply plugin: 'java'

dependencies {
   ...
}

在此模块中定义您的 enum。你可以选择任何你想要的套餐。

现在在 Android 应用程序和后端模块中包含 common 模块。

build.gradle 对于其他模块:

dependencies { 
   ... 
   compile project(':common')
}

这样你只有一个 enum 定义(而不是两个,在不同的模块中,当其中一个被更改时必须手动更新)。