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