それはあなたがあなたのオブジェクトをいつどこで欲しいかによって完全に異なります。あなたはこのようなことをすることができます:
class Artist implements Serializable{
public static final String EXTRA = "com.your.package.ARTIST_EXTRA";
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
アクティビティ1:
public void onCreate(Bundle savedInstance){
// ....
Artist artist = new Artist();
artist.setName("Rolf");
Intent intent = new Intent(this, SecondActivity.class);
intent.putExtra(Artist.EXTRA, artist);
startActivity(intent);
}
アクティビティ2:
次に、2番目のアクティビティでアーティストへの参照があります。
public void onCreate(Bundle savedInstance){
// ....
Artist artist = (Artist) getIntent().getSerializableExtra(Artist.EXTRA);
Log.d("YourApp", "I have the artist! "+ artist.getName());
}
特定のオブジェクトをシリアル化できないため、シリアル化する内容に注意してください。
もう1つの方法は、Applicationを拡張し、そこに参照を保持するクラスを用意することです。そうすれば、任意のアクティビティコンテキストからそれを取得できます。