Как показать диалог прогресса при получении видео / изображения с удаленного URL? - PullRequest
0 голосов
/ 13 марта 2012

Я создал один сервис, который запускается каждые 1 минуту, и проверяю на сервере наличие новых уведомлений для пользователя. Уведомление может быть трех типов, типа текста, видео или изображения ...

Теперь, чтобы отобразить текстовое уведомление, у меня нет проблем, но пока приходит изображение / видео-уведомление, я хотел бы показать диалоговое окно прогресса, пока оно загружает данные с удаленного URL-адреса. Как только пришло уведомление, пользователь нажимает на диалоговое окно с предупреждением и он перенаправляет на соответствующую деятельность, которая может быть текстом, изображением, видео ... так что перед перенаправлением я хотел бы показать диалоги прогресса пользователю .... Как это сделать.???? Пожалуйста, помогите мне и ответьте как можно скорее ....

Спасибо заранее, ..........

Ответы [ 4 ]

0 голосов
/ 22 августа 2012

Проверьте этот код:

  public class DialogSample extends Activity {

       private ProgressDialog progressDialog=null;

       @Override
       public void onCreate(Bundle savedInstanceState) 
       {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.main);

          AsynTaskLoder asynTaskLoder=new AsynTaskLoder();
          asynTaskLoder.execute();
      }

    public class AsynTaskLoder extends AsyncTask<String,Integer,Boolean>
    {
        @Override
        protected void onPreExecute() 
        {
        progressDialog.setTitle("Please Wait");
            progressDialog.setMessage("Fetching Data...");
            progressDialog.show();
        }

    @Override
    protected Boolean doInBackground(String... params) 
    {       
        // write your code 
        //(like : image/audio/video downloading from net)

        return true;
    }
    @Override
    protected void onProgressUpdate(Integer... values) 
    {
    }

    @Override
    protected void onPostExecute(Boolean result) 
    {
        if(progressDialog.isShowing())
        {
            progressDialog.dismiss();
        }
    }
  }
}
0 голосов
/ 13 марта 2012

Предполагается, что пользователь нажимает на уведомление. Первое, что вы могли бы сделать в коде, это проверить, загружен ли источник, если не использовать AlertDialog.Builder или что-то подобное, чтобы открыть простое диалоговое окно с виджетом прогресса. После завершения загрузки файла он может вызвать dismiss () в диалоговом окне и позволить пользователю продолжить работу в обычном режиме.

0 голосов
/ 13 марта 2012

Вы можете использовать ProgressDialog с классами Thread и Handlder.

Пожалуйста, посмотрите на мой ответ здесь .

0 голосов
/ 13 марта 2012

Используйте AsyncTask для загрузки данных и отображения диалогового окна прогресса.

чтобы отобразить диалог прогресса:

Dialog diag = ProgressDialog.show(this, "title", "message", true);

чтобы закрыть диалоговое окно:

diag.dismiss();
...