2012-03-07 76 views
3

我正在从一个数据库中提取数据的android应用程序。我想在活动(单个字符串)之间传递数据 。我最初使用Bundle功能实现了数据传递。但是,我遇到了Application类,它允许从任何活动访问变量。(Android)哪个更适合Bundle或应用程序?

你会推荐用哪种方式在活动间移动数据?

public class MyVideo extends Application { 

    private String url ="NULL"; 

    public String getUrl(){ 
    return url; 
    } 
    public void setUrl(String newurl){ 
    url = newurl; 
    } 

}

+0

Bundle对预定义的数据类型很有用,但是当你有自定义对象并且你需要实现Parcelable的时候,有太多的样板代码和麻烦。我更喜欢使用Application来传递数据。我觉得它更直观。 – 2012-12-20 21:37:11

回答

4

这类似于这个问题What is a "bundle" in an Android application,其中包含与例如一个全面的答案。

我的答案是,你会使用一个包,因为这是他们的设计目的,并且很容易使用。该捆绑包支持一个字符串,没有任何额外的工作正在完成,所以我会认为它是理想的。

添加到意向

intent.putExtra("myKey",AnyValue); 

检索:

Bundle extras = intent.getExtras(); 
String tmp = extras.getString("myKey"); 
+0

谢谢格雷厄姆 – Fabii 2012-03-07 10:58:21

+0

很高兴我可以帮助:) – 2012-03-07 10:58:53

1

应用类将表现为在上下文中的单例类。您可以使用单例类本身在活动之间传递数据。如果您只想在活动之间传递数据,则无需使用Application类。

数据包优先用于传递数据b/w活动。

相关问题