Android 如何在从远程url获取视频/图像时显示进度对话框?

Android 如何在从远程url获取视频/图像时显示进度对话框?,android,dialog,progress,Android,Dialog,Progress,我已经创建了一个每1分钟触发一次的服务,并在服务器上检查用户是否收到任何新通知。通知可以是文本、视频或图像类型的3种类型 现在显示文本通知没有问题,但是当图像/视频通知到达时,我希望在从远程url加载数据时显示一个进度对话框。一旦通知到达,用户单击警报对话框,它将重定向到相应的活动,可以是文本、图像、,视频…所以在重定向之前,我想向用户显示进度对话框。。。。 怎么做。???? 请帮助我并尽快回复 Thnx提前…。用于下载数据并显示进度对话框窗口 要显示进度对话框,请执行以下操作: Dialog

我已经创建了一个每1分钟触发一次的服务,并在服务器上检查用户是否收到任何新通知。通知可以是文本、视频或图像类型的3种类型

现在显示文本通知没有问题,但是当图像/视频通知到达时,我希望在从远程url加载数据时显示一个进度对话框。一旦通知到达,用户单击警报对话框,它将重定向到相应的活动,可以是文本、图像、,视频…所以在重定向之前,我想向用户显示进度对话框。。。。 怎么做。???? 请帮助我并尽快回复

Thnx提前…。

用于下载数据并显示进度对话框窗口

要显示进度对话框,请执行以下操作:

Dialog diag = ProgressDialog.show(this, "title", "message", true);
diag.dismiss();
要关闭对话框,请执行以下操作:

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

假设用户单击通知。在代码中,您可以做的第一件事是检查源代码是否已下载完毕,如果未下载,请使用AlertDialog.Builder或类似的工具弹出一个带有进度小部件的简单对话框。文件下载完成后,可以在对话框窗口中调用disclease(),并允许用户正常进行操作。

您可以使用ProgressDialog,其中包含线程和Handlder类

请查看我的答案。

检查此代码:

  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();
        }
    }
  }
}
公共类对话框示例扩展活动{
private ProgressDialog ProgressDialog=null;
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
AsynTaskLoder AsynTaskLoder=新的AsynTaskLoder();
asynTaskLoder.execute();
}
公共类AsynTaskLoder扩展异步任务
{
@凌驾
受保护的void onPreExecute()
{
progressDialog.setTitle(“请稍候”);
setMessage(“获取数据…”);
progressDialog.show();
}
@凌驾
受保护的布尔doInBackground(字符串…参数)
{       
//编写代码
//(如:从网上下载图像/音频/视频)
返回true;
}
@凌驾
受保护的void onProgressUpdate(整型…值)
{
}
@凌驾
受保护的void onPostExecute(布尔结果)
{
if(progressDialog.isShowing())
{
progressDialog.disclose();
}
}
}
}

使用异步任务。你可以在这里找到关于异步任务的教程:也可以在谷歌上搜索异步任务。