【问题标题】:How to "send" a variable from app to a different module?如何将变量从应用程序“发送”到不同的模块?
【发布时间】:2017-11-13 03:07:42
【问题描述】:

我有一个原始的独立 java 代码,它可以被多台计算机使用,以便以分布式系统的方式找到答案。或者,我可以通过同时运行几个项目来运行 Eclipse 中所需的一切,而不是在每台计算机上运行一个组件。

现在我想在 Android Studio 中扩展这个项目。基本思想是用户在应用程序中提供一些输入,然后经过一些处理,一些输出回来。

我尝试过使用模块(因为我无法将不同的组件与项目分开)并且我无法复制我的结果。

我的问题是:

  • Android Studio 中的不同模块能否同时运行,例如 eclipse中的不同项目?如果没有,我该如何找到解决方案?
  • 如果是,如何使模块和应用程序相互通信?例如我有一个 EditText,我将它保存为字符串变量。如何将其发送到不同的模块以进行处理或传递给不同的模块?

【问题讨论】:

  • 感谢您的建议@GlenPierce。我的问题可能不清楚,但我不想使用意图。我的组件是在 eclipse 中运行的独立 java 文件。我希望我的应用能够以某种方式与他们交流。
  • 您将其作为 Android 应用程序运行吗?当您在手机上运行一个模块时,它会与它所依赖的所有模块(以及任何其他依赖项)一起打包到一个 apk 文件中。所以在运行时没有“模块”的概念。您可能需要重新考虑项目/模块的定义,或者我可能没有正确理解。但是,如果一个模块依赖于另一个模块,它可以调用它的 java 方法并随心所欲地进行通信。这里的关键是正确设置依赖项的 gradle 配置。 Documentation link
  • 谢谢@RobCo。是的,我运行一个安卓应用程序。我可以先以某种方式自行运行模块吗?这个想法是从 MainActivity.java 中获取一个变量,并在另一个模块的 java 文件中使用它。为了做到这一点,我必须配置依赖项吗?如果有怎么办?
  • 那么您是在尝试与客户端-服务器架构进行通信吗?

标签: java android eclipse android-studio


【解决方案1】:

对于 cmets 中的讨论,您似乎希望将数据从您的计算机(或从现在称为服务器的计算机)传递到您的 Android 应用程序(从现在开始称为客户端)。

您想要实现的是客户端-服务器架构(标准使用):

  1. 客户端向服务器请求部分数据
  2. 服务器向客户端发送数据
  3. 客户端处理数据或向用户显示数据

如何沟通由您决定。有很多可能性(网络套接字、自定义 API REST),但这取决于您和您的能力。

从代码的角度来看,一个答案真的很难解释整个过程,所以我链接here作为客户端部分。

另外,this 的问题真的可以帮到你。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-15
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    • 1970-01-01
    相关资源
    最近更新 更多