ボタンクリックで変数値をブロードキャストしたいアプリケーションを作っています。 同時に、私は他のアクティビティでこの値を受け取り、それを表示したいと思います。 同じようにすればいいですか?変数値をブロードキャストして受信する方法は?
答えて
は私には思える(また、いくつかのunasked質問に答える;)。)
同じのために、あなたは、
を android.app.Applicationクラスを拡張することができますグローバルアプリケーション状態を維持する必要があるユーザーのための基本クラス。 AndroidManifest.xmlのタグに名前を指定することで、独自の実装を提供することができます。これにより、アプリケーション/パッケージのプロセスが作成されたときにそのクラスがインスタンス化されます。Another question、
public class MyApplication extends Application { private String someVariable; public String getSomeVariable() { return someVariable; } public void setSomeVariable(String someVariable) { this.someVariable = someVariable; } }
から
例次に、あなたの活動に、あなたはそうのような変数を取得して設定することができます例で与えられたよう
// set
((MyApplication) this.getApplication()).setSomeVariable("foo");
// get
String s = ((MyApplication) this.getApplication()).getSomeVariable();
、 セットあなたのVA 1つのアクティビティ(またはボタンは何でもクリックしてください)とは別のアクティビティでその値がになります。
オプション1:あなたがしたい活動のbroadcastReceiverを登録
Intent i = new Intent();
i.setAction(RESTART_CHAT_POLLING_INTENT);
mContext.sendBroadcast(i);
:
public static final String RESTART_CHAT_POLLING_INTENT = "com.cleeqa.android.chat.restart.intent";
放送それ: 送信アクティビティ(:[現在の例)でカスタム意図を作成します。受信(NewActivity):
BroadcastReceiver myReceiver = new MyBroadcastReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction(CurrentActivity.RESTART_CHAT_POLLING_INTENT);
registerReceiver(myReceiver, filter);
は(またNewActivityで)放送を受信:
private class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(CurrentActivity.RESTART_CHAT_POLLING_INTENT)) {
//DO WHAT YOU WANT
}
}
オプション2(放送受信機の必要はありません): のonClick:のonCreate/ONSTARTあなたがしたい活動の
Intent intent = new Intent(CurrentActivity.this, NewActivity.class);
intent.putExtra("PARAM", parameter);
startActivity(intent);
受信(NewActivity):
Bundle extras = getIntent().getExtras();
if (extras != null) {
parameter = extras.getString("PARAM");
}
アプリケーションがブー変数をキャストしますか?現在のアクティビティから新しいアクティビティに変数を渡したければ、startActivityForResultを呼び出して現在のアクティビティから新しいアクティビティを開始し、その変数をパラメータとして渡します。
あなたが現在の活動使用startActivity
私はそれがintent.putExtra("PARAM", parameter);
を使用して、彼が行う必要がある何のためにはるかに簡単かつ適切であるgetExtras()
でそれを読んで渡す考えるに戻って結果を送信するために、新たな活動をしたくない場合は!あなたが活動全体で使用できるグローバル変数を、使用することができるように
- 1. ブロードキャスト受信者のスケジュールを変更してください
- 2. PHPでUDPブロードキャストを受信する方法
- 3. ブロードキャスト受信者によるICS Wi-Fiホットスポットのenale/disableの受信方法
- 4. マルチホームシステムでUDPブロードキャストを受信
- 5. UDPブロードキャストを受信する[VirtualBox、Ubuntu、Python]
- 6. PendingIntentを介してブロードキャストにデータを送信する方法は?
- 7. ブロードキャスト受信者クラスからのPATICULAR SMS受信時のアクティビティの開始方法
- 8. 受信トレイから受信したSMSをブロードキャストまたは削除します。
- 9. ブロードキャスト受信者からアクティビティに結果データを送信する方法
- 10. ブロードキャスト受信者とphonestatelistener
- 11. サービス中のブロードキャストの受信
- 12. アクティビティ間のブロードキャスト送受信
- 13. サービス内のブロードキャスト受信者
- 14. ブロードキャスト受信機を使用してAndroidサービスを開始する
- 15. 携帯電話からのメッセージを受信してブロードキャストする
- 16. UDPブロードキャストをPHPから送信し、C#で受信する
- 17. android - SMS受信ブロードキャスト受信者が中止されました
- 18. アンドロイドはブロードキャストを受信していません
- 19. androidはアクティビティとブロードキャスト受信者の間で通信します
- 20. ブロードキャスト送信者と受信者のペア
- 21. アプリケーションがどのアクセスポイントのWiFiブロードキャストを受信したかを知る方法
- 22. GCMブロードキャスト受信者は異なるリクエストを区別します
- 23. 接続変更受信者がブロードキャストを失っているようです
- 24. Windows 10の電話でブロードキャストを受信
- 25. android.intent.action.EVENT_REMINDERブロードキャストを受信できません
- 26. ブロードキャストを受信していないサービス内のBroadcastReceiver Android
- 27. MEDIA_MOUNTEDブロードキャストを受信していません
- 28. ブロードキャスト受信機onReceive()が複数回呼び出される
- 29. ブロードキャスト受信者からサービスに文字列値を渡します。
- 30. 複数のインターフェイスでUDPブロードキャストを送受信するサービスを作成する方法
これは、新しいアクティビティを開くときに余分なものを追加するほうがどれほど優れているか分かりません。これは変数をメモリに保持します... –