2012-03-07 9 views
3

私はデータベースからデータを取り出すアンドロイドアプリケーションを開発中です。私はアクティビティ間にデータ を渡したい(単一の文字列)。私は当初Bundle機能を使ってデータの受け渡しを実装しました。しかし、どのアクティビティからでも変数にアクセスできるようにするApplicationクラスを見つけました。(Android)バンドルまたはアプリケーションのどちらが優れていますか?

アクティビティ間でデータを移動するために使用することをお勧めしますか?

public class MyVideo extends Application { 

    private String url ="NULL"; 

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

}

+0

バンドルはあらかじめ定義されたデータ型に適していますが、カスタムオブジェクトがあり、Parcelableを実装する必要がある場合、あまりにも多くの定型的なコードと手間がかかります。私はデータを渡すためにアプリケーションを使用することを好む。私はそれがより直感的であると感じます。 –

答えて

4

これは一例で包括的な答えが含まれているこの質問What is a "bundle" in an Android application、に似ています。

私の答えは、これが設計されたものであり、使用するのに十分簡単なのでバンドルを使用することです。バンドルは余分な作業をせずにStringをサポートしているので、理想的なものだと主張します。

意図に追加

intent.putExtra("myKey",AnyValue); 

取得:

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

グラハムありがとう – Fabii

+0

私は助けることができる嬉しい:) –

1

Applicationクラスは、あなたのコンテキスト内でシングルトンクラスとして動作します。シングルトンクラス自体を使用して、アクティビティ間でデータを渡すことができます。必要なのは、アクティビティ間でデータを渡すことだけです。

データのB/Wアクティビティを渡すには、バンドルが適しています。

関連する問題