java - 使用 Intent 或在 Android 中使用静态方法从一个 Activity 访问数据到另一个 Activity ?

标签 java android

从一项 Activity 到另一项 Activity 访问数据的最佳方式是什么? 1.使该变量静态化,而不是在另一个类或另一个 Activity 中使用它的类名访问它,因为它是 Java 功能。 2. 使用 Intent 方法,因为它是 Android 功能。

哪个最好?

我学到的是,我们必须使用与我们正在传输的数据一样多的 Intent ,并且在静态中我们刚刚将该变量声明为静态。

请解开我的疑惑?

最佳答案

避免在 Activity 中使用静态方法,这在大多数情况下是危险的,在 android 中不被认为是一种好的设计实践。您可以使用以下任何方法在 Activity 、服务等之间传输数据。

  1. StartActivityForResults 方法(在 Activity 之间交换数据)。

使用 startActivityForResult 而不是 startActivity 开始第二个 Activity 。

在第二个 Activity 中, 当你想完成并关闭第二个 Activity 并将结果返回给前一个 Activity 时: -

    Intent result=new Intent();

    result.putExtra("var1",data1);

    result.putExtra("var2", data2);

    setResult(Activity.RESULT_OK, result);

    finish();
  1. 使用事件总线(转到 here 以获得已经实现此方法的良好库)

  2. 使用 local broadcast经理

关于java - 使用 Intent 或在 Android 中使用静态方法从一个 Activity 访问数据到另一个 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37639782/

相关文章:

java - 如何将 JMenuBar 添加到 JTextArea?

android - 如何在 Android NDK 中创建线程?

java - 在语音进行时突出显示文本

java - Jackson jsonformat 总是在 UTC 中反序列化

java - 为 vaadin 基本条形图中的单个条形着色

java - 在java中从文件中剪切列

android - 共享前必须调用 Urban Airship 起飞(仅限 kit kat)

java - android(java)无法通过按下按钮从单选按钮获取值

android - 是否可以通过编程方式打开 android 4 上的移动热点?

android - 无法关闭我的 Android 应用程序中的对话框