gpt4 book ai didi

java - Android - 跨多个 Activity 传递变量

转载 作者:行者123 更新时间:2023-12-04 10:55:42 25 4
gpt4 key购买 nike

必须有一种更简洁的方法在 Activity 之间传递数据/变量
目前我有 4 个 Activity (完成后我可能会得到 12/14

这些 Activity 中的每一个都与 Microsoft 数据库进行通信。执行各种任务、查找、检查、数据更改等
一切正常,但我发现每次创建 Intent 以启动新 Activity 时,我都必须复制和粘贴 intent.putExtra() 的负载在每个 Activity 之间传递。
它只是看起来凌乱且不需要。

有一个更好的方法吗?在 PHP 中,我将所有这些都包装在一个函数中,并消除了一遍又一遍地重复相同代码的需要。

如果没有 Intent 或将其存储在共享 Activity 中,我似乎无法在 Activity 之间共享数据
(我是 Java/Android 开发的新手,但我将 Activity 视为一个新程序,而不是应用程序中的新页面,它的结构化方式和传递/共享数据的能力)

最佳答案

首先,你不应该直接在 Activity 中这样做。使用意向工厂模式。例如:

class MyActivity {
static Intent createIntent(Context context, param1, param2, param3...) {
Intent intent = new Intent(context);
intent.setExtra("param1", param1);
...
return intent;
}

这样调用代码只需要调用这个函数,所有关于 extra 及其名称的知识都消失了。

现在,如果您的所有 Activity 都有公共(public)数据(例如 session 数据),那么其他解决方案(如全局变量或注入(inject)框架)可能适用。但是,如果它的数据只需要那个单独的 Activity ,它就会成为那个 createIntent 函数的参数之一。

关于java - Android - 跨多个 Activity 传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59217228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com