具有 Google 云模块的跨模块静态成员
Cross-module static members with Google Cloud Module
所以我有一个基本的应用程序。我已经使用最新的 Android Studio(现在为 1.4 预览版)像往常一样创建了我的基础应用程序,然后添加了一个新的 Google 云模块,其中包含一种带有 Google 云消息传递的 App 引擎.一切都很好,我的端点似乎按预期工作,消息传递工作等,但我有一些 最佳实践 问题。
在我的后端模块中,我有一个模型 DeviceRecord
,它被标记为一个 @Entity
,它有一个特定于我的端点的 public static final String SOME_ID
。我希望通过使用 DeviceRecord.SOME_ID
从我的 主应用程序 轻松引用此 ID,但它会引发错误。我希望不必在我的应用程序中重新定义后端中的所有常量,因为它们都是同一个项目的一部分。
这是 Android Studio 的局限性,还是只是不好的做法?
听起来您想在客户端应用程序和后端之间共享代码,对吗?后端端点模块发布其生成的客户端库以供您的应用程序使用,但我相信仅此而已。如果你想在 android 和后端模块之间共享你的源代码,也许最好的选择是创建一个新的 'java library' 模块并将你的共享代码放在那里。
第一次尝试使用 Android 或云模块中的共享库 Android Studio 应该提示您为您导入库。
所以我有一个基本的应用程序。我已经使用最新的 Android Studio(现在为 1.4 预览版)像往常一样创建了我的基础应用程序,然后添加了一个新的 Google 云模块,其中包含一种带有 Google 云消息传递的 App 引擎.一切都很好,我的端点似乎按预期工作,消息传递工作等,但我有一些 最佳实践 问题。
在我的后端模块中,我有一个模型 DeviceRecord
,它被标记为一个 @Entity
,它有一个特定于我的端点的 public static final String SOME_ID
。我希望通过使用 DeviceRecord.SOME_ID
从我的 主应用程序 轻松引用此 ID,但它会引发错误。我希望不必在我的应用程序中重新定义后端中的所有常量,因为它们都是同一个项目的一部分。
这是 Android Studio 的局限性,还是只是不好的做法?
听起来您想在客户端应用程序和后端之间共享代码,对吗?后端端点模块发布其生成的客户端库以供您的应用程序使用,但我相信仅此而已。如果你想在 android 和后端模块之间共享你的源代码,也许最好的选择是创建一个新的 'java library' 模块并将你的共享代码放在那里。
第一次尝试使用 Android 或云模块中的共享库 Android Studio 应该提示您为您导入库。