Отображение индикатора прогресса при сжатии Android

Я создал приложение в Android, которое позволяет пользователю сжимать/распаковывать файл. Мне нужно показать ProgressDialog, чтобы показать прогресс при сжатии/распаковке файла. Я знаю, как сделать ProgressDialog, но я не знаю, как я буду отображать текущий прогресс или что я буду помещать внутрь publishProgress(code here). Моя проблема похожа на эту:

Загрузите файл с Android и покажите прогресс в ProgressDialog

Но ссылка относится к загрузке файла, а мне нужно для сжатия/распаковки файла. Спасибо!


person John    schedule 28.06.2012    source источник
comment
вы можете начать показывать свой диалог в задаче PreExecution of Async с помощью ProgressDialog.show(), а в doInBackground вы можете выполнить сжатие и закрыть диалог в PostExecution.   -  person rajpara    schedule 28.06.2012
comment
@AndroidCoader Я думаю, он спрашивает о том, как использовать ProgressBar в стиле полосы и, в частности, как определить, какой процент завершения сжатия / распаковки, чтобы это значение можно было установить для индикатора выполнения.   -  person FoamyGuy    schedule 28.06.2012
comment
Спасибо, Тим. Извините, я не могу размещать здесь свои коды, это конфиденциально. Кто-нибудь может мне помочь, пожалуйста!   -  person John    schedule 28.06.2012
comment
Вы получили решение для этого?   -  person King of Masses    schedule 05.09.2017


Ответы (1)


Используйте пользовательский класс AsyncTask. он же private class MySync extends AsyncTask {

  1. onPreExecute() , настройте ProgressDialog, установите максимальное значение setMax()

  2. doInBackGround(...) , сжать/распаковать, установить текущий прогресс setProgress()

  3. onPostExecute() , завершить ProgressDialog (.dismiss())

Мне нужно увидеть ваш код, чтобы определить способ количественной оценки вашего прогресса.

person Jack Satriano    schedule 28.06.2012