资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

怎么在Android中利用ProgressDialog实现一个文件上传进度条效果

这篇文章主要为大家详细介绍了怎么在Android中利用ProgressDialog实现一个文件上传进度条效果,文中示例代码介绍的非常详细,具有一定的参考价值,发现的小伙伴们可以参考一下:

成都创新互联网站建设公司是一家服务多年做网站建设策划设计制作的公司,为广大用户提供了成都网站设计、网站制作,成都网站设计,广告投放,成都做网站选成都创新互联,贴合企业需求,高性价比,满足客户不同层次的需求一站式服务欢迎致电。

Android是什么

Android是一种基于Linux内核的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。

ProgressDialog 继承自AlertDialog,AlertDialog继承自Dialog

public class ProgressDialog extends AlertDialog

ProgressDialog的创建方式有两种,一种是new ProgressDialog,一种是调用ProgressDialog的静态方法show()创建并显示,这种进度条只能是圆形条。

怎么在Android中利用ProgressDialog实现一个文件上传进度条效果

 ProgressDialog dialog = ProgressDialog.show(this, "提示", "正在登陆中…", true, false, null);

本文重点给大家介绍android ProgressDialog进度条转圈效果的实现。

Progress主要用来实现上传的转圈效果

由于我们想实现转圈效果,然后同步上传,则必须要用线程,所以先在最外面开个

private ProgressDialog

怎么在Android中利用ProgressDialog实现一个文件上传进度条效果

中间的代码实现过程如下:

  upPhoto.setOnClickListener(new View.OnClickListener() {
   public void onClick(View v) {
    //myDialog = ProgressDialog.show(this, "Loading...", "Please wait...", true, false);

    progressDialog=new ProgressDialog(PhotoPage.this);
    progressDialog.setTitle("This is ProgressDialog");
    progressDialog.setMessage("Loading...");
    progressDialog.setCancelable(true);
    progressDialog.show();
    new Thread(new Runnable() {
     public void run() {
      upload();
      progressDialog.dismiss();
      //myHandler.sendMessage(new Message());
     }
    }).start();
   }
  });

怎么在Android中利用ProgressDialog实现一个文件上传进度条效果

上面的几句是设置ProgressDialog转圈的效果。

下面单独开一个线程,这样app在上传的同时其它部分仍然继续运行,最后在线程结束的时候加上progressDialog dismiss()表示关闭当前转圈效果。

注意要理解线程的概念,不能把progressDialog dismiss()这句话放线程结束start();这边的后面,因为线程是同步的,主程序运行下来就直接执行线程的后面语句,所以瞬间就被关闭了,上传的转圈效果就看不到了。

以上就是创新互联小编为大家收集整理的怎么在Android中利用ProgressDialog实现一个文件上传进度条效果,如何觉得创新互联网站的内容还不错,欢迎将创新互联网站推荐给身边好友。


文章题目:怎么在Android中利用ProgressDialog实现一个文件上传进度条效果
网站网址:http://cdkjz.cn/article/gjejho.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220