在平时的开发中,我们会碰到数据量过大的问题,为了解决这个问题,我们可以用GZIP处理方式,J2ME本身没有提供GZIP压缩,但可以利用一些开源包。
下面简单介绍一下J2ME运用GZIP例子 (注:此例用了j2mepolish中的GZIP类)。
J2ME向服务端请求数据时,须在头部加conn.setRequestProperty("Accept-Encoding", "gzip"),用于让服务端知道客户能处理GZIP,而服务端可用GZIPOutputStream压缩数据后响应客户端请求。
当J2ME客户端得到响应,可通过如下进行处理。
if (contentEncode != null) {
if (contentEncode.indexOf("gzip") >= 0) {
dataInputStream = new DataInputStream(new GZipInputStream(
conn.openInputStream(), 1024,
GZipInputStream.TYPE_GZIP, true));
} else {
dataInputStream = new DataInputStream(conn
.openInputStream());
}
} else {
dataInputStream = new DataInputStream(conn.openInputStream());
}
new GZipInputStream(conn.openInputStream(), 1024,GZipInputStream.TYPE_GZIP, true)
上面此句用于解压GZIP,至是否要转换成DataInputStream还是InputStream由你的程序决定,可找到j2mepolish相关文档看看其用法。
压缩比例没有测试过,在网上人家说对HTML压缩率为30%左右,而对于加裁速度,只是用模拟器上测试过,总体上快300ms~400ms,真机还没真正测试过。
J2MEPOLISH 的GZIP现在一直用着,稳定性还是不错,还没抛出异常过!
SUN的J2ME源代码下载 http://fonter.iteye.com/admin/blogs/412094
J2ME Tabbed Menu http://fonter.iteye.com/admin/blogs/409982
开源一个J2ME解析类 http://fonter.iteye.com/admin/blogs/408385
下面提供两个GZIP包下载
分享到:
- 2009-06-19 00:21
- 浏览 4008
- 评论(0)
- 论坛回复 / 浏览 (0 / 2922)
- 查看更多
相关推荐
**J2ME全称Java 2 Micro Edition,是Java平台的一个子集,专门用于嵌入式设备和移动设备上的应用程序开发。本课件通过11张PPT详细讲解了J2ME的全程开发流程,旨在帮助学习者快速掌握这一领域的核心技术和实践方法。*...
下面是一个简单的J2ME MIDlet源码示例,展示如何创建一个显示"Hello, J2ME!"的屏幕: ```java import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class HelloWorldMIDlet extends ...
**Java Micro Edition (J2ME) 教程中文版** J2ME,全称为Java 2 Platform, Micro Edition,是Java平台的一个子集,专为资源有限的移动设备和嵌入式系统设计。这个教程的中文版旨在帮助开发者理解和掌握J2ME技术,...
J2ME SDK提供的`WTK`(Wireless Toolkit)工具集也能帮助开发者调试代码。 通过对"J2me疯狂坦克游戏源码"的分析,我们可以深入理解J2ME游戏开发的各个方面,包括图形渲染、事件处理、游戏逻辑、资源管理等多个关键...
一款Java 手机端连连看游戏关键引擎代码!
通过深入研究这个J2ME赛车游戏的源码,开发者可以学习到移动游戏开发的基础知识,如游戏循环、图形渲染、事件处理和性能优化技巧,这些经验对于未来从事其他类型的游戏开发也大有裨益。同时,这也是一个实践和提升...
在平时的开发中,我们会碰到数据量过大的问题,为了解决这个问题,我们可以用GZIP处理方式,J2ME本身没有提供GZIP压缩,但可以利用一些开源包。 上面此句用于解压GZIP,至是否要转换成DataInputStream还是...
**J2ME合金弹头游戏源代码分析** Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于嵌入式设备和移动设备,如早期的智能手机和平板电脑。J2ME提供了轻量级的运行环境和开发工具,使得开发者能够创建各种...
byte[] dataToCompress = "Hello, J2ME!".getBytes(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); GZIPOutputStream gos = new GZIPOutputStream(baos); gos.write(dataToCompress); gos....
j2me 连连看游戏源码解析 j2me 连连看游戏源码是一款基于Java Micro Edition(J2ME)平台开发的连连看游戏引擎代码。该游戏引擎代码实现了一个完整的连连看游戏,包括游戏逻辑、游戏界面、游戏控制等方面。 游戏...
CLDC确保在内存和处理能力有限的设备上也能运行Java应用程序。 3. **WML (Wireless Markup Language)**:在早期的J2ME应用中,WML常用于创建适应小屏幕的网页内容,它是专门为无线通信设计的一种标记语言。 4. **...
本文将深入探讨如何在J2ME环境中利用ZIP格式进行文件的压缩和解压缩,同时会强调J2ME对gzip格式的不支持。 首先,我们需要了解ZIP和GZIP两种文件压缩格式的基本差异。ZIP是一种广泛使用的文件存档格式,可以包含一...
最新最全的J2ME开发资源!非常好最新最全的J2ME开发资源!非常好最新最全的J2ME开发资源!非常好最新最全的J2ME开发资源!非常好最新最全的J2ME开发资源!非常好最新最全的J2ME开发资源!非常好最新最全的J2ME开发...
同时,对于需要在网络上传输大量数据的应用,如实时聊天、文件分享等,GZIP也能提高数据传输的效率。 总结一下,这个压缩包提供的Java源代码实现了GZIP压缩和解压缩功能,适用于J2ME和Android平台。通过ZipUtil类的...
J2ME,全称Java 2 Micro Edition,是Java平台的一个子集,主要用于嵌入式设备和移动设备的开发,如手机、智能电表、家庭自动化设备等。它提供了跨平台的开发环境,使得开发者可以编写一次代码,到处运行。J2ME由两大...
J2ME 中文 API,你学习J2ME最好的工具文档!
网络功能在J2ME中也很常见,虽然这个例子中的飞机游戏没有明确提及网络特性,但可以扩展到在线排行榜、多人对战等场景。J2ME的Connection类提供了HTTP、WAP等协议的支持,让游戏能与服务器进行数据交互。 除此之外...
**J2ME API 2.0 - J2ME使用手册 - J2ME帮助文档** Java 2 Micro Edition(J2ME)是Java平台的一个子集,专为资源有限的设备如移动电话、智能手表和家用电器等设计。J2ME API 2.0 提供了在这些小型设备上开发应用...
ZIP 和 GZIP 都是常见的文件压缩格式,它们在 J2ME 中也是可支持的。 1. **ZIP 算法**: ZIP 是一种广泛使用的文件存档格式,它能将多个文件打包成一个单一的 ZIP 文件,并且可以对每个文件进行压缩。在 J2ME 中,...