必须有一种更清晰的方法来在 Activity 之间传递数据/变量 目前我有 4 项 Activity (完成后我可能会得到 12/14
这些 Activity 中的每一个都是与 Microsoft 数据库的通信。执行各种任务、查找、检查、数据更改等
一切正常,但我发现每次创建 Intent 来启动新 Activity 时,我都必须复制并粘贴 intent.putExtra()
负载以在每个 Activity 之间传递。
它只是看起来很困惑而且没有必要。
有更好的方法吗?在 PHP 中,我会将所有这些包装在一个函数中,并且无需一遍又一遍地重复相同的代码。
如果不放入 Intent 或将其存储在共享 Activity 中,我似乎无法在 Activity 之间共享数据 (我是 Java/Android 开发的新手,但我将 Activity 视为一个新程序,而不是应用程序中的新页面,因为它的结构方式和传递/共享数据的能力)
最佳答案
首先,您不应该直接在 Activity 中这样做。使用 Intent 工厂模式。例如:
class MyActivity {
static Intent createIntent(Context context, param1, param2, param3...) {
Intent intent = new Intent(context);
intent.setExtra("param1", param1);
...
return intent;
}
这样,调用代码只需要调用这个函数,所有关于额外内容及其名称的知识都会消失。
现在,如果您的所有 Activity 都有通用数据(例如 session 数据),那么其他解决方案(例如全局变量或注入(inject)框架)可能适用。但如果其数据仅用于该单独的 Activity ,则它会成为该 createIntent 函数的参数之一。
关于java - Android - 跨多个 Activity 传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59217228/