あなたが異なるActivity
クラス間でデータを共有することができ、かなりの数の異なる方法があります。どのようにあなたがそれを行うかは、あなたの特定のアプリケーションと、データが持つべきどのような寿命に依存します。
最初の方法は、新しいActivity
に最初のActivity
から起動し、putExtras()
メソッドを使用して、任意の情報を他のアクティビティに送信することです。 2番目のActivity
を起動するには、Intent
を使用します。 ActivityClass2で
Bundle bundle = new Bundle();
bundle.putString(“some_protein_stuff″, textStringFromYourEditText);
Intent newIntent = new Intent(this.getApplicationContext(), ActivityClass2.class);
newIntent.putExtras(bundle);
startActivityForResult(newIntent, 0);
、我々は構文を使用して、このパラメータを読むことができます::何をやっていることは、いくつかの追加の任意のデータを(この場合は、おそらくあなたの蛋白質のもの)梱包です
Bundle bundle = this.getIntent().getExtras();
String param1 = bundle.getString(“some_protein_stuff″);
しかし、として別の方法として、呼び出すときに新しいActivity
にデータを渡すのではなく、共有優先度を使用することを検討することもできます。これは、キーと値のペアを使用してアプリケーションに非常に簡単にデータを格納できるメカニズムです。ユーザーがEditText
のさまざまなクラスに入力した値を他のさまざまなクラスに使用する可能性があり、アプリケーションを終了して後で再度開くときにも同じ値を使用する可能性がある場合は、引き続き使用可能になります共有環境設定から簡単に取り戻すことで、あなたに伝えます。プリファレンスは非常に使いやすく、SOなどのさまざまなチュートリアルがあります。
また、android.app.Application
に拡張されたクラスを作成することで、このようなデータを「グローバルに」共有することや、シングルトンクラスを作成して同様の結果を得ることができます。
新しいActivity
を開始するときIntent
でデータを束ねるの最初の最も明白な解決策は、あなたが後にしているものをおそらくですが、後者の二つの提案もどのようにあなたのアプリケーションの動作や方法に応じて対象となり得ますそのデータを永続化したいとします。
質問をする前にリサーチを行ったことがありますか? – njzk2