1

私は Android 開発の初心者であり、あるアクティビティから別のアクティビティにデータがどのように渡されるかはまだ不明です。
アクティビティ間で独自のオブジェクトを渡すことは良い習慣ですか?

彼らはどのサイズを持つことができますか?

EDIT:多分私はそれを明確に説明していませんでした。アクティビティ間でデータを渡す方法を知っています。問題は次のとおりです。それは良い習慣ですか、それとも SQLlite データベースからデータを取得する方がよいですか? その場合、良いパフォーマンスを得るために渡すことができる最大サイズはどれですか?

4

1 に答える 1

2

オブジェクトの送信は、文字列や変数などの事前定義されたオブジェクトの送信と同じです。 putParceble() または putSerializable() メソッドをインテントで直接使用するか、オブジェクトをバンドル オブジェクトにバインドして、オブジェクトをインテントにバインドすることで実行できます。ただし、クラスが Parcelable または Serializable を実装していることを確認する必要があります。

ここみたいに:

     UserDefined myObject=new UserDefined();
     Intent i = new Intent(this, Activity2.class);
     Bundle b = new Bundle(); 
     b.putParcelable("myObject", myObject);
     i.putExtras(b);
     startActivity(i);

そして受信活動では:

  Bundle b = this.getIntent().getExtras();
  myObject = b.getParcelable("myObject");

Bundle を使用せずにオブジェクトを送信することもできます。

    Intent i=new Intent(PicActivity.this,PostPhotoActivity.class);
    i.putExtra("myObject", myObject);
    startActivity(i);

受信アクティビティ:

     UserDefined myObj=(UserDefined)getIntent().getParcelableExtra("myObject");

Android では、シリアライズ可能ではなくパーセル可能が優先されます。

于 2013-03-21T11:13:09.347 に答える