java - Android中的模块之间如何传输数据?
问题描述
如何在模块之间传输数据?B 模块实现 A 模块。所以模块B可以访问模块A。但是模块A不能访问模块B。如何将模块A中的某个活动的数据发送到模块B中的某个活动?模块 B 中的活动始终处于打开状态(当 A 模块中的活动正在运行时,我不会终止模块 B 中的活动)并且我无法使用意图结构,我使用 finish() 结束模块 A 中的活动。模块 A 中的活动已经无法到达模块 B 中的活动。
在模块 B 的 gradle 文件中有如下代码。
implementation project(':ModuleA')
解决方案
我用下面的方法解决了这个问题。
在模块 B 中,我启动 ModuleAActivity。
startActivityForResult(Intent(this,ModuleAActivity::class.java),1)
在Module A中,我设置了数据。
var returnIntent = intent
returnIntent.putExtra("result",myData)
setResult(1, returnIntent)
finish()
然后再次在模块 B 中,我得到数据。
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == 1) {
if (resultCode == 1) {
val result = data?.getSerializableExtra("result")
}
if (resultCode == Activity.RESULT_CANCELED) {
}
}
}
推荐阅读
- firebase - 仅当用户知道节点时才授权写入和删除 - 规则 Firebase
- rundeck - 有什么方法可以禁用 rundeck 中的排名顺序吗?
- javascript - 在公共方法中替代 this 关键字来引用类属性
- python-3.x - 在python中从带有html标签的字符串中提取文本的最佳方法是什么
- android - Android Studio更新后项目无法同步
- python - 如果列中有循环,则将数据框的一行转换为多行
- matlab - 如何将来自连续时域的信号采样到输入端口数字设计(Simulink 到 HDL 集成)
- android - 有没有办法在主题更改时禁用活动重新启动
- r - 通过 R 查询 AWS 定价 API
- android - BottomNavigationView 以编程方式设置所选项目的背景颜色