私のアプリケーションは、データをダウンロードするためにリモートサーバに絶えず接続する必要があります。私は、データがダウンロードされている間に進行状況バーを実装し、ダウンロードの進行状況と推定時間も表示したいと考えています。サーバとの同期中の進行状況バー
誰でもこの方法をお勧めしますか?
私のアプリケーションは、データをダウンロードするためにリモートサーバに絶えず接続する必要があります。私は、データがダウンロードされている間に進行状況バーを実装し、ダウンロードの進行状況と推定時間も表示したいと考えています。サーバとの同期中の進行状況バー
誰でもこの方法をお勧めしますか?
それは同期の種類によって異なります...例えば:
理想的には、受信するファイルのサイズと、それらを使用するのに費やす時間を考慮する必要があります。
接続にはAsyncTaskを使用します。
preExecuteでは、ダウンロードするオブジェクトのサイズを取得し、オブジェクトの上限サイズでプログレスバーなどを作成します。
in onProgressUpdate前回の進行状況の更新からどれぐらいの時間が経過したかを計算し、時間を見積り、これまでの合計で進行状況バーを更新することができます。
クイックアンサーに感謝します。現時点では、jsonファイルをダウンロードしたいだけです。だからあなたが送ったリンクは私のために十分でなければなりません。私はこれを試してみましょう。問題の場合はあなたに教えてください。 – Sapan
HI、私のメインクラスで私はprogressDialogを作成し、DownLoad File.Ifサーバーに接続する際にエラーが発生しました。進行状況バーのメッセージを更新して、進行状況ダイアログボックスを閉じます。私はdoInBackground関数のcatchブロックでこれをやろうとしましたが、エラーが発生します:元のスレッドだけが進捗ダイアログを変更できますか?どうすればいいですか?私はDownLoadファイルクラスのToastメッセージを作成することもできません – Sapan
これは、doInBackgroundメソッドが別のスレッドで実行されるためです。その中にUIを入れるには、 'runOnUiThread'メソッドを使わなければなりません。それに関する情報を探します。 – Cristian