との意向を方法使用されている「intent.putExtra()」アンドロイド:別のアクティビティからパラメータを渡すパラメータ
このメソッドは、プリミティブデータを追加することができないか、私は、javaでパラメータを追加することができます豆?
できない場合は、どのように1つのアクティビティから別のアクティビティにJava Beanを送信できますか?
ありがとうございます!
との意向を方法使用されている「intent.putExtra()」アンドロイド:別のアクティビティからパラメータを渡すパラメータ
このメソッドは、プリミティブデータを追加することができないか、私は、javaでパラメータを追加することができます豆?
できない場合は、どのように1つのアクティビティから別のアクティビティにJava Beanを送信できますか?
ありがとうございます!
IntentのAPIエントリを見てください。入力可能なデータ型があります。そのうちの最小値はParcebles,Bundles、Serializableです。単純なオブジェクトマーシャリングが本当に必要な場合は、BeanをJSONに変換してStringとして配置し、受信側のPOJOに変換し直します。
オブジェクトがシリアライズ可能な場合は、このようにputExtraで追加できます。
i.putExtra(String key, Serializable value);
活動の間でデータを共有する別の方法は、アプリケーションクラスを拡張しています。
私の答えは、その使用方法を説明しています。
彼らはSerializableを実装している場合は、オブジェクトを送信することができます。送信者の活動で
public class Objeto implements Serializable{
}
//::運命づける活動で
//create an instance of the object
Objeto object = new Objeto();
//creates an intent from the current activity to the destiny activity with the data to be transferred.
Intent proximo = new Intent(this,TelaDestino.class);
//transfers the object as a bundle to the next activity
proximo.putExtra("OBJETO",objeto);
startActivity(proximo);
//:
private Objeto objeto;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
objeto = (Objeto)getIntent().getSerializableExtra("OBJETO");
}
//次のことが可能エンティティ・オブジェクトで
//それを使用して、幸せになる:D