java - 如何在 Android 和 AWS Lambda 之间共享请求/响应类
问题描述
对于使用 AWS Lambda 的 Android 应用程序,请求/响应类出现在同一项目的不同模块下的两侧。如果不共享,这两个类将出现在 2 个地方:
.
├── app
│ └── src
│ ├── main
│ │ └── java
│ │ └── com
│ │ └── myapp
│ │ ├── Request.java
│ │ └── Response.java
│ └── test
├── lambda
│ └── src
│ └── main
│ └── java
│ └── com
│ └── myapp
│ ├── Request.java
│ └── Response.java
共享这些类的第一个想法是将模块添加lambda
为模块的依赖项app
,方法是将以下内容添加到app/build.gradle
:
dependencies {
implementation project(":lambda")
但这行不通,因为
lambda
项目依赖于 AWK SDKapp
项目依赖于 AWS 移动 SDK
并且它们彼此不兼容(两者都在同一个包下提供了一些相同的类)。
第二种方法是使用符号链接,链接请求/响应类,以便它们出现在两个模块中(当然在同一个包下),这是可行的。这是正确的方法吗?
解决方案
我将创建第三个区域,专门用于“通用”代码。就像是:
├── app
│ └── src
│ ├── main
│ │ └── java
│ │ └── com
│ │ └── myapp
│ └── test
│
├── lambda
│ └── src
│ └── main
│ └── java
│ └── com
│ └── myapp
├── common
│ └── src
│ └── main
│ └── java
│ └── com
│ └── myapp
│ ├── Request.java
│ └── Response.java
然后让公共库成为 Android 和 Lambda 代码的依赖项。
推荐阅读
- ruby-on-rails - Ruby on Rails - “原因:找不到图像”
- javascript - 即使系统设置不正确,如何在 JavaScript 中找到正确的时区?
- reactjs - 提供反应网页的替代方式
- python - SymPy 中 1/x 的集成
- javascript - 如何将:悬停和单击事件同时添加到元素?
- spring-boot - 带有弹簧引导的弹性 PreBuiltTransportClient 创建内存泄漏
- android - Android - 未显示第二个电话联系人的应用程序图标
- excel - Excel 公式到 DAX:如何引用上一行
- powershell - 如何使用 WinSCP 将名称中具有特定关键字的文件上传到 SFTP
- android - 我的项目的 apk 文件无法安装,我得到 Instant Ran 按摩