私のAndroidアプリは、Application
クラス(正確にはApplication
サブクラス)を使ってスレッドを実行して、Webサイトからデータを取得します。それが正常に実行されると、このデータを実行中のActivity
(私のアプリには2つのアクティビティがあります)に与えるはずです。これについてActivity
にどうすれば通知できますか?現在のActivity
に、取得して提示する必要がある新しい利用可能なデータがあることをどのように伝えることができますか? あなたの答えをありがとう。アプリケーションを現在のアクティビティと通信させる
答えて
ブロードキャストシステムはどうですか?
あなたはその後、独自のカスタム放送送信することができますgetApplicationContext();
を使用して、アプリケーションクラスにコンテキストを取得できます。そして、あなたが放送を受信するために、あなたの活動の中で放送受信機を実装することができます
Intent i = new Intent();
i.setAction("your.package.customintent.TEST");
context.sendBroadcast(i);
を。 詳細情報:http://thinkandroid.wordpress.com/2010/02/02/custom-intents-and-broadcasting-with-receivers/
送信するデータをputExtraを使用して設定することができます。
でもデータベースに保存することができます。ブロードキャストを使用することで、新しいデータがあることをアクティビティに知らせることができます。
このデータをコンテンツプロバイダに保存する場合(データがそれほど小さくないと仮定して)、コンテンツプロバイダにコンテンツオブザーバを登録できます。トリガは、アクティビティによって処理される必要があります。 Look here
私はちょうど "あなたは自分のプロバイダを開発する必要はありませんGoogleのコンテンツプロバイダに関するドキュメントから、他のアプリケーションとデータを共有しようとしています。私のデータを別のアプリケーションと共有する必要がない場合、sqlLiteにはコンテンツオブザーバと同等のものがありますか? – user3331142
また、アプリケーションオブジェクトは、どのアプリケーションでも最後に破棄されます。 – sgupta
これは、アプリケーションオブジェクトがいつ破棄されるかわからないので、非常に悪いことです。代わりにサービスを使用することをお勧めします。 Android開発者にそれを読んでください!
なぜサービスですか?ユーザーがアプリケーションを使用している間にデータを取得するだけでよい場合は、サービスを使用するのに少し余裕がありますか? – user3331142
- 1. Androidアプリケーションで現在のアクティビティを取得
- 2. Android TabAppアプリケーションでのアクティビティ間通信を実現する最善の方法
- 3. アクティビティグループと現在のアクティビティ
- 4. Android:アクティビティとサービスの通信
- 5. Androidの通知、現在のアクティビティにエキストラを送る
- 6. 通知をシャットダウンするときに現在のアクティビティの終了を避ける
- 7. 通知を作成すると現在のアクティビティが完了しました
- 8. Kotlinのアクティビティとフラグメント間の通信
- 9. フラグメントとアクティビティの間の通信
- 10. フラグメントアクティビティと親アクティビティの間の通信
- 11. フラグメントとアクティビティ間の通信 - ベストプラクティス
- 12. Android:アクティビティとフラグメント間の通信
- 13. サービスとアクティビティ間の高速通信
- 14. バックグラウンドサービスからバックグラウンドで現在のアクティビティへのデータの送信
- 15. アクティビティ間の通信(Android)
- 16. 現在実行中のアプリケーションに小さなアクティビティを描画します
- 17. フレックスモジュールとアプリケーション間の通信
- 18. AndroidアプリケーションGWTアプリケーションと通信する
- 19. フラグメントとアクティビティの間で通信できません
- 20. エラーを通知しても現在のアクティビティを維持するAlertDialog
- 21. 前のアクティビティから現在のアクティビティを閉じる
- 22. JavaアプリケーションとC++アプリケーション間の通信
- 23. JavaアプリケーションとC++アプリケーションの統合/通信
- 24. WebアプリケーションとAndroidアプリケーション間の通信
- 25. ピックアップ前に通話が切断されたときのアクティビティを終了する(不在着信)
- 26. 通知がAndroidで現在のアクティビティを開始したときの通知方法
- 27. ホームボタンを押した後にアプリケーションを再起動すると、現在の初期アクティビティが表示されない
- 28. 現在のアクティビティの表示をフェードアウト
- 29. Androidアプリケーションとラズベリーパイ通信
- 30. C++アプリケーションとハードウェア通信
彼らの説明から、それはローカルアプリケーションのように聞こえますより適切な放送:インテントi =新しいインテント(TEST_ACTION); LocalBroadcastManager.getInstance(context).sendBroadcast(i); – JDJ