- アクティビティでは、AI がサーバーからデバイスにいくつかのファイルをダウンロードします。
progressBar は、現在のダウンロードの進行状況を示します。
一度に複数のダウンロードを行うことができ、アクティビティ B にすべてのダウンロードのリストを各ダウンロードの progressBar で表示させたいと考えています。
-問題は、メニューから開始したときに、各ダウンロードの進行状況をアクティビティ B に共有する方法がよくわからないことです。
progressBar は、現在のダウンロードの進行状況を示します。
一度に複数のダウンロードを行うことができ、アクティビティ B にすべてのダウンロードのリストを各ダウンロードの progressBar で表示させたいと考えています。
-問題は、メニューから開始したときに、各ダウンロードの進行状況をアクティビティ B に共有する方法がよくわからないことです。
を使用してファイルをフェッチするService
のではなく、ダウンロードを設定します。AsyncTask
次に、Activity
上記のダウンロードの進行状況に関心のある人は、をバインドしService
て進行状況の更新のリスナーを登録し、それぞれのに適切なUIに反映することができますActivity
。
私は同様のことを行っており、ローカルブロードキャストを使用して成功を収めています。すべてのアップロード ロジックがサービスに含まれており、サービスは非同期タスクを使用します。進行状況を更新する必要がある場合は、ブロードキャストを送信します。アクティビティの onResume で、通知を受け取るために登録し、onPause で登録を解除します。そうすれば、現在のアクティビティを更新できます。
1)Application Object(Application Supperクラスを拡張したクラス)内にプログレスバーを宣言します。これで、アプリケーション全体でプログレス バーにアクセスできるようになりました。
2) アクティビティ A のプログレス バーを更新します。
3) getApplication(); を呼び出して、アクティビティ B の ProgressBar のインスタンスを取得します。