文档章节

Android网络加载时显示进度条

simpower
 simpower
发布于 2014/09/29 22:27
字数 380
阅读 133
收藏 0
点赞 0
评论 0

在联网获取数据时,用一个进度条提示用户正在加载数据,以下讲一下我是如何实现这种效果的。
  
  由于Android的界面更新只能通过自己的UI线程进行操作,所以我们需要用到Handler在进行更新界面的操作。
  
  1、声明变量
    private Handler handler = new Handler();
    private ProgressDialog progressDialog = null;

  2、在开始进行网络连接时显示进度条对话框
  progressDialog = ProgressDialog.show(MyActivity.this, "请稍等...", "获取数据中...", true);

  3、在handler.post中进行界面更新
  public void setListAdapter(){
  handler.post(new Runnable() {
  public void run() {
   //将获取到的数据更新到列表中
   MyListView.setAdapter(saImageItems);
    }
   }
   });

4、开个新的线程进行网络连接获取数据
    new Thread(new Runnable(){
  

    @Override
    public void run() {
    // TODO Auto-generated method stub
    //向服务器请求数据
    mapList=MyAPI.getAllDatas();
    setListAdapter(mapList);
    //更新完列表数据,则关闭对话框
    progressDialog.dismiss();
    }}).start();

整个过程就这样完成了,下面是效果图:

  还有另外一种进度条的提示,是在对话框的标题上有圆形进度条进行提示。
  
  1、不能将Activity布局设计为无标题;
  并在setContentView()之前设置一下标题布局形式:
  requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

  2、在连接网络前,设置进度条为可视状态
   setProgressBarIndeterminateVisibility(true);

  3、开一个新的线程向服务器请求数据,获取数据后,将进度条设为不可视状态
         new Thread(new Runnable(){
         @Override
        public void run() {
          // TODO Auto-generated method stub
          try {
           todosomething();
          setProgressBarIndeterminateVisibility(false);
          } catch (Exception e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
         }
        }}).start();


本文转载自:http://android.tgbus.com/Android/tutorial/201104/348906.shtml

共有 人打赏支持
simpower
粉丝 24
博文 428
码字总数 20207
作品 0
海淀
程序员
物联网实验4 alljoyn物联网实验之手机局域网控制设备

  AllJoyn开源物联网协议框架,官方描述是一个能够使连接设备之间进行互操作的通用软件框架和系统服务核心集,也是一个跨制造商来创建动态近端网络的软件应用。高通已经将该项目捐赠给了一...

ai物联网 ⋅ 2014/11/12 ⋅ 0

Android实用笔记——使用ProgressBar实现进度条

1、ProgressBar的分类 可以精确显示进度(可以显示刻度或者精确百分比) 不可以精确显示精度(一直转,类似于一个过场动画) 2、关键属性和方法 指定ProgressBar显示风格 style="?android:at...

落叶-归根 ⋅ 2016/07/27 ⋅ 0

(原创) alljoyn物联网实验之手机局域网控制设备

AllJoyn开源物联网协议框架,官方描述是一个能够使连接设备之间进行互操作的通用软件框架和系统服务核心集,也是一个跨制造商来创建动态近端网络的软件应用。高通已经将该项目捐赠给了一个名...

ai物联网 ⋅ 2014/11/12 ⋅ 0

环形动画加载视图AnimatedCircleLoadingView​​​​​​​

环形动画加载视图AnimatedCircleLoadingView AnimatedCircleLoadingView是基于Android手表动画android-watch-loading-animation衍生出来的动画加载视图。该视图采用循环的环形动画显示加载进...

大学霸 ⋅ 06/01 ⋅ 0

死磕安卓前序:MVP架构探究之旅—基础篇

前言 了解相关更多技术,可参考《我就死磕安卓了,怎么了?》,接下来谈一谈我们来学习一下MVP的基本认识。 大家对MVC的架构模式再熟悉不过。今天我们就学习一下MVP架构模式。 MVC和MVP之间的...

codeGoogle ⋅ 06/08 ⋅ 0

带领新手快速开发Android App开发视频课程 安卓快速入门教程

第1章 课程介绍与项目准备 如果你从事Android开发,那你一定要学习一些开发技巧和掌握一些开发逻辑,而很不巧,我这里全部都有,最开始我们介绍一下我们这个应用的整体组织架构,通过对各个平...

17087075817 ⋅ 05/14 ⋅ 0

Android - 条纹进度条实现

相关代码请参阅: https://github.com/RustFisher/aboutView/blob/master/app/src/main/java/com/rust/aboutview/activity/RoundCornerActivity.java 美工同学指定了一个进度条样式 这斑斓的......

RustFisher ⋅ 05/23 ⋅ 0

Android性能优化:手把手教你如何让App更快、更稳、更省(含内存、布局优化等)

前言 在 开发中,性能优化策略十分重要 因为其决定了应用程序的开发质量:可用性、流畅性、稳定性等,是提高用户留存率的关键 本文全面讲解性能优化中的所有知识,献上一份 性能优化的详细攻...

Carson_Ho ⋅ 05/30 ⋅ 0

Android中MVP模式的了解及实例

Android中MVP的由来 在了解MVP之前我相信很多人已经学习过MVC这个框架了!MVP的诞生可以说是建立在MVC在安卓某些不足的方面 MVC简介 .M对应Model,代表业务数据 .V对应View,代表视图 .C对应C...

九尾74 ⋅ 05/26 ⋅ 0

virjar/xposedhooktool

hook base工具 Android 破解的hook工具,集成一些帮助破解的常用功能,如自动网络抓包、网络堆栈爆破、文件日志、webview调试环境 入口在 com.virjar.xposedhooktool.hotload.XposedInit,但是...

virjar ⋅ 04/22 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Kubeflow实战系列:利用TFJob导出分布式TensorFlow模型

介绍 本系列将介绍如何在阿里云容器服务上运行Kubeflow, 本文介绍如何使用TfJob导出分布式模型训练模型。 第一篇:阿里云上使用JupyterHub 第二篇:阿里云上小试TFJob 第三篇:利用TFJob运行...

全部原谅 ⋅ 6分钟前 ⋅ 0

007. 深入JVM学习—老年代

老年代空间的主要目的是用于存储由Eden发送来的对象,一般在经历好几次“Minor GC”还会保存下来的对象,才会被复制到老年代,这样就可以存放更多的对象,同时在老年代中执行GC的次数也相对较...

影狼 ⋅ 7分钟前 ⋅ 0

常见的一些C#开源框架或者开源项目

原:https://blog.csdn.net/qq_27825451/article/details/70666044 Json.NET http://json.codeplex.com/ Json.Net 是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更......

whoisliang ⋅ 8分钟前 ⋅ 0

设计模式基本原理

刚开始接触编程这行的时候看过设计模式,当时感觉学这些模式没有太大的用处,当时也看不太懂。但是随着慢慢接触这一行,经过一段时间的编程以后,再回过头来看设计模式,发现设计模式的确是太...

王子城 ⋅ 11分钟前 ⋅ 0

阿里云全面支持IPv6!一文揽尽4位大咖精彩演讲

摘要: 自从去年11月以来,阿里巴巴高度重视数据中心的网络改造、云产品改造、应用及网络改造等多个维度,经过半年以来的建设,阿里云已经完成了域名解析等关键产品的分析,现在阿里云已经完...

传授知识的天使 ⋅ 22分钟前 ⋅ 0

windows Android sdk 配置

1、下载Android SDK,点击安装,直接默认路径即可! 下载地址:http://developer.android.com/sdk/index.html 2、默认路径安装后,安装完成,开始配置环境变量。 3、打开计算机属性——高级系...

阿豪boy ⋅ 24分钟前 ⋅ 0

bash shell script 简明教程

User <--> bash <--> kernel shell is not kernel or part of kernel various shells: tcsh, csh, bash, ksh find the using shell: echo $SHELL find all the shells: cat /etc/shells what......

mskk ⋅ 27分钟前 ⋅ 0

Service Mesh简史

William Morgan Service Mesh是一个相当新的概念,讲它的“历史”似乎有些勉强。就目前而言,Service Mesh已经在部分企业生产环境中运行了超过18个月,它的源头可以追溯到2010年前后互联网公...

好雨云帮 ⋅ 27分钟前 ⋅ 0

10个免费的服务器监控工具

监控你的WEB服务器或者WEB主机运行是否正常与健康是非常重要的。你要确保用户始终可以打开你的网站并且网速不慢。服务器监控工具允许你收集和分析有关你的Web服务器的数据。 有许多非常好的服...

李朝强 ⋅ 39分钟前 ⋅ 0

压缩工具之zip-tar

zip 支持目录压缩。使用yum安装zip包,使用yum安装unzip包 zip 1.txt.zip 1.txt #将1.txt文件压缩,新生成的压缩文件为1.txt.zip,原文件保留 zip -r 123.zip 123/ #-r对目录操作。将123/目录...

ZHENG-JY ⋅ 40分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部