サービスと 2 つの異なるクライアント (アプリとウィジェット) の間でデータを共有するための最良の方法を探しています。現在、私のアプリケーションは、バックグラウンドで 15 秒ごとに大量のデータをダウンロードするスレッドを開始し、それらをオブジェクト グラフに詰め込んでから、構成可能な時間間隔でメイン アプリによって消費されます。これは主要なアプリでは機能しますが、開発したいウィジェットには十分ではありません。これは、オブジェクト グラフがプロセス外になるためです (そして、アプローチは面倒な IMO のようなものです)。
したがって、データ取得部分をサービスに抽出することを検討しています(または、より良い提案がある場合は、他の何か)。私の質問は、このサービスから受信したデータをクライアントと通信するための最良の方法は何ですか? それとも、サービスを使用せず、代わりに別のものを使用しますか?
クライアントのオーバーヘッドのため、クライアントがサービスを継続的にポーリングするのではなく、データの準備ができたときにサービスがクライアントに通知するようにしたい...可能であれば...もちろん。
インテントのブロードキャストを見てきました (アプリとウィジェットの両方が受信します) が、オブジェクト グラフ全体をシリアル化し、クライアントでそれを膨らませる必要があると思います。あれは正しいですか?クライアント側の再膨張を達成できる速度に関心があります。
データをクライアントに返送するより良い方法はありますか? 可能であれば、シリアル化せずにオブジェクトを出荷したいと思います...しかし、それが最善の方法である場合は、そうします。
どんな助けでも大歓迎です!