思路:新建一个线程加载缓冲条,数据解析到dataProvider在主线程中。通过新线程判断 数据解析到dataProvider完成,加载缓冲条结束。
实现:
public interface LoadNetworkLoadBarHeader {
public boolean decideLoadingStatus(DataProvider dataProvider);
}
public class LoadNetworkLoadBar {
public static void loadBar(final DataProvider dataProvider, final LoadNetworkLoadBarHeader handler){
final Gauge gauge = new Gauge();
final PopupBox progressBox = Euix.showPopupBox(null, -1, gauge,null, null, null, null, null);
Worker.instance.pushTask(new WorkerTask() {
private final int PROGRESS_INCREMENT = 1;
private final int MAX_PROGRESS = 10;
private int progress = 0;
public boolean run() {
gauge.setValue(MathFP.div(progress, MAX_PROGRESS));
progress += PROGRESS_INCREMENT;
if ( handler.decideLoadingStatus(dataProvider)) {//数据解析到dataProvider,加载缓冲条结束
gauge.setValue(MathFP.div(MAX_PROGRESS+1 , MAX_PROGRESS));
progressBox.remove();
return true;
}
return false;
}
});
}
}
调用:
LoadNetworkLoadBar.loadBar(newsList, new LoadNetworkLoadBarHeader() {//加入数据读取加载条
public boolean decideLoadingStatus(DataProvider dataProvider) {
if(((NewsList) dataProvider).isHaveNewsList())
return true;
return false;
}
});
//////////////////////////////////////////////////////////////////////////////////////////
遇到问题:
kuix 在切换界面时还有延时问题 解决... 及网络连接的延时??
暂时解决:
思路:新建一个线程加载缓冲条,并数据解析到dataProvider。
这时在主线程中直接显示下个界面。 ↗数据解析到界面中。
新线程判断 数据解析到dataProvider完成,加载缓冲条结束。
分享到:
相关推荐
videojs-contrib-hls.js是Video.js的一个扩展,它提供了对HLS流的播放支持,使得Video.js能够处理M3U8格式的播放列表,从而实现跨平台的HLS直播流播放。这个库包含了videojs-contrib-hls.js和videojs-contrib-hls....
libaio-devel-0.3.106 是一个针对 i386 和 x86_64 架构的开发包,它在 Oracle 11g Release 2 (11gR2) 的安装过程中起着至关重要的作用。libaio,全称为“Linux Asynchronous Input/Output”,是 Linux 操作系统中的...
在Linux操作系统中,libaio(Linux Asynchronous I/O)库扮演着至关重要的角色,它为应用程序提供了一种异步I/O操作的方式,允许程序在等待I/O操作完成时继续执行其他任务,从而提高了系统的整体效率。本文将详细...
libffi是一个通用的、开源的函数调用接口(Foreign Function Interface),它允许程序在运行时调用任何动态链接的函数或方法,而无需预先知道调用的具体细节。这对于跨语言编程和库的动态绑定非常有用。 **标签:...
这个库提供了一个简单且可扩展的API,使得开发人员可以轻松地解析和处理上传到服务器的文件。它包括以下主要功能: 1. **多部分解析**:FileUpload可以解析HTTP请求中的多部分数据,将其分解为单独的字段和文件。 2...
3. **QVFB**:这是一个虚拟帧缓冲服务器,用于测试 Qt 应用程序而无需实际硬件支持。 #### 移植步骤详解 ##### 步骤一:安装 Qt X11 1. **解压文件**:首先解压 `qt-x11-opensource-src-4.5.1.tar.gz` 文件到 `/...
Flowplayer 3.2.8 是一款...综上所述,Flowplayer 3.2.8 是一个功能强大且易于定制的Web视频播放解决方案,它集成了Adobe Flex的优势,提供了一套全面的视频播放功能,是网站开发者进行视频内容发布和管理的理想选择。
1. **连接池**:OkHttp维护了一个连接池,可以重用先前建立的TCP连接,避免了每次请求都要建立新连接的时间消耗。 2. **HTTP/2支持**:支持HTTP/2协议,允许在一个TCP连接上并行处理多个请求,减少了网络拥堵。 3. *...
在这个例子中,Flume配置了一个监听本地44444端口的netcat Source,一个内存Channel和一个将数据打印到控制台的logger Sink。 总的来说,Apache Flume是大数据生态系统中的重要工具,它简化了日志数据的收集和传输...
Apache Commons IO是另一个常用的Java库,它提供了一系列操作和处理IO流的工具类,如文件操作、转换、比较、过滤等。在本例中,它可能被FileUpload库用来处理读写文件操作。Commons IO的主要功能包括: 1. 文件操作...
在Web应用中,尤其是涉及到用户上传文件时,这个库提供了强大的支持。以下是一些关键特性: 1. **解析multipart/form-data请求**:HTTP上传文件通常采用这种方式,FileUpload能解析这种格式的数据,将文件内容分离...
总的来说,apr-iconv-1.2.1是一个强大且可靠的字符编码转换工具,其核心价值在于提供了一种标准化、跨平台的解决方案,使得开发者能够在不同的编码环境中自由切换,为软件的全球化部署提供了有力的支持。
3. **Transformer接口**:Transformer接口定义了一个将一个对象转换为另一个对象的策略。它可以与Collections的transform方法一起使用,实现对集合中每个元素的转换。 4. **ListUtils、MapUtils和SetUtils**:这些...
在IT领域,特别是Web开发中,EasyUI是一个广泛使用的JavaScript框架,它基于jQuery,用于构建用户界面。EasyUI提供了一套完整的组件,如表格(datagrid)、对话框、表单等,帮助开发者快速创建功能丰富的网页应用。...
总结来说,“libaio-0.3.104.tar.gz”提供了libaio库的一个版本,通过深入理解和运用,开发者可以为他们的应用程序引入高效的异步I/O机制,提升系统性能,特别是在需要大量I/O操作的场景下。不过,使用时需注意其...
今天我们要探讨的是“jl-1.0.1.jar”,这是一个专为Java开发者设计的MP3播放器开发工具包,它提供了对MP3文件格式的解析支持,使得开发者能够轻松地在Java应用程序中集成MP3播放功能。 首先,我们要明确“jl-1.0.1....
Apache Commons VFS(Virtual File System)是一个开源Java库,它为不同的文件系统提供了一个统一的接口。这个库允许开发者以相同的方式处理各种类型的文件系统,包括本地文件、FTP、HTTP、ZIP、JAR等。VFS是Virtual...
每个顶点包含位置、法线、纹理坐标等属性,这些属性在绘制时会影响光照、纹理映射等效果。 3. **索引缓冲区**:索引数据用于指示顶点如何组成多边形,通常用于优化渲染性能。通过索引缓冲区,GPU可以以更高效的方式...
这主要涉及到Windows Forms或WPF应用程序中用户界面(UI)的优化,尤其是在处理大量数据或执行长时间操作时。下面将详细介绍这些知识点。 首先,动画缓冲加载是一种在后台加载资源或数据,同时在前端显示动态效果的...
Okio是一个底层的IO库,它提供了一种更高效的方式来读写数据,特别是在处理大文件和网络流时。1.7.0版本的Okio包含以下特点: 1. **缓冲区机制**:Okio使用缓冲区来减少磁盘和网络I/O操作,提高了性能。 2. **同步...