Android 如何在不使用意图的情况下将数据从一个活动传递到另一个活动?

Android 如何在不使用意图的情况下将数据从一个活动传递到另一个活动?,android,android-intent,android-activity,Android,Android Intent,Android Activity,我已经在使用一个挂起的意图。因此,如果我使用另一个意图并启动该意图,它将转到一个新的活动。我希望避免这种情况。因此,在不使用意图的情况下,我希望将数据从一个活动传递到另一个可能的活动?如何设置一个全局变量类,然后在Activity1中设置它并在Activity2中访问它,如下所示: 全局变量类文件:Global.java package <your packagename>; public class Global { public static String s

我已经在使用一个挂起的意图。因此,如果我使用另一个意图并启动该意图,它将转到一个新的活动。我希望避免这种情况。因此,在不使用意图的情况下,我希望将数据从一个活动传递到另一个可能的活动?

如何设置一个全局变量类,然后在Activity1中设置它并在Activity2中访问它,如下所示:

全局变量类文件:Global.java

package <your packagename>;
public class Global {   
    public static String    stringToPass = "";
}
读取文件Activity2.java中的全局变量

String gotString = "Global.stringToPass;

小心内存泄漏。

您可以使用静态方法从一个活动到另一个活动获取数据。下面是示例代码

第一项活动

public class First extends Activity {

 static First INSTANCE;
 String data="FirstActivity"; 

 @Override
  public void onCreate(Bundle savedInstanceState) {

    INSTANCE=this; 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
   }

 public static First getActivityInstance()
   {
     return INSTANCE;
   }

 public String getData()
   {
     return this.data;
   }
 }
第二项活动:

 public class Second extends Activity {

 String data; 

 @Override
  public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main1);
    data=First.getActivityInstance().getData();  
    Toast.makeText(Second.this,"Data from first activity is"+data, 1).show();
   }
}

希望它能帮助您。

您可以尝试使用全局类应用程序共享您要发送的数据!只是在使用之前设置数据

您可以使用Singleton进行尝试

 public class Singleton{
       private static Singleton instance;

       private Singleton(){

       }

       public static Singleton getInstance(){
        if (instance == null){
            instance = new Singleton();
        }
        return instance;
    }
  // your fields, getter and setter here

 }
然后在你的第一个活动中

Singleton a = Singleton.getInstance();
a.setFoo("something here");
然后是你的第二项活动

Singleton b = Singleton.getInstance();
b.getFoo();

你的意图是什么?我想在不使用意图的情况下传递数据…已经使用了使用报警服务的挂起意图…所以不能在同一活动中使用其他意图…传递数据…我想,这个答案可以帮助你感谢你。我认为这在将来会有所帮助…但是寻找其他选择…让你想要共享的变量成为静态的怎么样?我不确定您是否可以在不使用
Parcelable
界面的情况下传递值,该界面仍然需要放在intent的额外部分中。回答得好!!竖起大拇指:由于Android活动生命周期的原因,DStatic活动非常不受欢迎<代码>意图是一条路,它是Android的设计方式。学习如何正确使用意图,而不是试图违背安卓的基本概念,否则你将永远遇到问题。我知道让类实现
Parcelable
很糟糕,但那就是Java,一种过时的语言,早就应该被废除了。
Singleton b = Singleton.getInstance();
b.getFoo();