- 浏览: 485674 次
- 性别:
- 来自: 武汉
最新评论
-
zyzyzy123:
请问有工程吗,我现在正在实现打电话的功能,但是一直不通,怀疑是 ...
实用的java 串口通信程序 -
wuhaitong:
引用[img][/img][*][url][/url] ...
jbpm -
迷糊_le:
maven命令, 蛮好的,谢谢
maven eclipse -
Wuaner:
不错的文章 , 谢谢分享!
Hadoop -
yuqihengsheng:
strong 很细
HighLighter
这几天一直在思考怎么样设计Wap的引擎。因为在j2me有限的资源上去解释xml是比较慢的,所以j2se上的xml类库是不适合用在j2me上,后来在网上查找了下发现了XmlPullParser ,而且用起来速度快,而且包也很小。现在把这两天学到的知识记录下来。
我的需求是解释一个标准的wml。比如:
上面是个简单的wml源文件。不过现在的wap网站差不都这样,基本上没有script,跟html上的各个控件。所以能解释上面的文档,基本上都是可以满足我的需求的。
现在我们来看下我们解释wml的java文件
现在解释下上面的东西,
XmlPullParser 只是个规范,可以到http://xmlpull.org/ 下载。我们来看看这个规范要求我们做些什么。
里面主要的方法有
我们理解了XmlPullParser 可以自己实现一个XmlPullParser。不过java世界里好东西就是多。已经有人帮我们做了。
啊就是kxml。
这个API本身很简单。当时要把一个完整的wml解释并绘制在手机上还是要花相当的时间的。
我的需求是解释一个标准的wml。比如:
xml 代码
- xml version="1.0"?>
- >
- <wml>
- <card id="index" title="天速">
- <p align="center">天速科技<!---->p>
- <p align="center"><a href="http://wap.gd.monternet.com/reversesubscribe?SPID=819758&ServiceID=03020047"> 动漫天下 <!---->a><!---->p>
- <p align="center"><a href="http://wap.gd.monternet.com/reversesubscribe?SPID=819758&ServiceID=03020048&SPURL=http://211.155.31.143/t/viewPic.a?picId=1308"> 国色天香 <!---->a><!---->p>
- <p align="center"><a href="http://wap.gd.monternet.com/reversesubscribe?SPID=819758&ServiceID=04070717&SPURL=http://211.155.31.143/eb/allBook.a"> 风月书斋 <!---->a><!---->p>
- <!---->card> <!---->wml>
上面是个简单的wml源文件。不过现在的wap网站差不都这样,基本上没有script,跟html上的各个控件。所以能解释上面的文档,基本上都是可以满足我的需求的。
java 代码
- /********************************************************************
- * 项目名称 :<b>j2me学习 J2me Wap Explorer</b> <br/>
- *
- * Copyright 2005-2006 Wuhua. All rights reserved </br>
- *
- * 本程序只用于学习目的,不能用于商业目的。如有需要请联系作者
- ********************************************************************/
- import java.io.ByteArrayInputStream;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import org.kxml2.io.KXmlParser;
- import org.xmlpull.v1.XmlPullParser;
- import org.xmlpull.v1.XmlPullParserException;
- /**
- * <b>类名:Test.java</b> </br> 编写日期: 2006-12-28 <br/> 程序功能描述: <br/> Demo: <br/>
- * Bug: <br/>
- *
- * 程序变更日期 :<br/> 变更作者 :<br/> 变更说明 :<br/>
- *
- * @author wuhua </br> <a href="mailto:rrq12345@163.com">rrq12345@163.com</a>
- */
- public class Test {
- //private static String xml = "<list><item>apple</item>"
- // + "<item>orange</item>" + "<item>pear</item></list>";
- private static String xml ="<?xml version=\"1.0\"?>"
- +"<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" "
- +"\"http://www.wapforum.org/DTD/wml_1.1.xml\">"
- +"<wml>"
- +"<card id=\"index\" title=\"天速\">"
- +"<p align=\"center\">天速科技</p>"
- +"<p align=\"center\"><a href=\"/t/main.a\"> 动漫天下 </a></p>"
- +"<p align=\"center\"><a href=\"/t/main.a\"> 国色天香 </a></p>"
- +"<p align=\"center\"><a href=\"/eb/main.a\"> 风月书斋 </a></p>"
- +"</card> </wml>";
- public static void main(String args[])
- throws XmlPullParserException, IOException {
- ByteArrayInputStream bin = new ByteArrayInputStream(xml.getBytes());
- InputStreamReader in = new InputStreamReader(bin);
- KXmlParser parser = new KXmlParser();
- parser.setInput(in);
- int eventType = parser.getEventType();
- while (eventType != XmlPullParser.END_DOCUMENT) {
- if (eventType == XmlPullParser.START_DOCUMENT) {
- //System.out.println("Start document:");
- } else if (eventType == XmlPullParser.END_DOCUMENT) {
- //System.out.println("End document");
- } else if (eventType == XmlPullParser.START_TAG) {
- System.out.println(" " + parser.getName());
- //System.out.println("Start Count: " + parser.getAttributeCount());
- int size = parser.getAttributeCount();
- for(int i=0; i<size; i++){
- System.out.println(" " + parser.getAttributeName(i));
- System.out.println(" " + parser.getAttributeValue(i));
- }
- } else if (eventType == XmlPullParser.END_TAG) {
- System.out.println(" " + parser.getName());
- } else if (eventType == XmlPullParser.TEXT) {
- System.out.println(" " + parser.getText());
- }
- eventType = parser.next();
- }
- }
- }
现在我们来看下我们解释wml的java文件
现在解释下上面的东西,
XmlPullParser 只是个规范,可以到http://xmlpull.org/ 下载。我们来看看这个规范要求我们做些什么。
里面主要的方法有
java 代码
- //定义一个事件采用回调的方式,直到读取xml完毕。
- public int getEventType() throws XmlPullParserException ;
- //遍历下一个事件,返回一个事件的类型
- public int next() throws XmlPullParserException, IOException
- //得到当前Tag名字
- public String getName();
- //获取文本
- public String getText();
- //得到当前Tag下面的属性数量
- public int getAttributeCount() ;
- //得到当前Tag下面指定位置的属性名称
- public String getAttributeName(int index);
- //得到当前Tag下面指定位置的属性植
- public String getAttributeValue(int index);
我们理解了XmlPullParser 可以自己实现一个XmlPullParser。不过java世界里好东西就是多。已经有人帮我们做了。
啊就是kxml。
这个API本身很简单。当时要把一个完整的wml解释并绘制在手机上还是要花相当的时间的。
发表评论
-
安装和使用memcached
2014-04-16 16:24 643如何将 memcached 融入到 ... -
applicationContext.xml
2013-08-09 09:05 946<?xml version="1.0&quo ... -
注释驱动的 Spring cache 缓存介绍
2013-08-08 07:04 663概述 Spring 3.1 引入了激动人心的基于注释(an ... -
Spring2.5 Annotations
2013-08-08 06:33 860完成setXxxx功能,即配置文件的 <propert ... -
Spring基于注解的缓存配置--EHCache AND OSCache
2013-08-07 23:21 1031本文将构建一个普通工程来说明spring注解缓存的使用方式, ... -
Ehcache 整合Spring 使用页面、对象缓存
2013-08-07 22:51 898Ehcache 整合Spring 使用页面、对象缓存 ... -
javassist教程和示例
2013-05-18 08:57 2012Javassist是一个执行字节 ... -
ZooKeeper官方文档
2013-05-16 17:09 1561介绍(源自ZooKeeper官方文档) 学习HBase过程 ... -
ZooKeeper -例子
2013-05-16 17:08 1215ZooKeeper ZooKeepe ... -
Spring整合Hessian访问远程服务
2013-05-15 13:44 858Spring整合Hessian访问远程服务 目录 1.1 ... -
redis
2013-05-14 11:44 771redis是一个key-value存储系统。和Memcach ... -
spring 资源访问
2013-05-13 08:26 1001spring在java基础上封装了资源访问,简单易用。 R ... -
ZooKeeper——入门
2013-05-08 16:12 912ZooKeeper——入门 博客分类: ZooK ... -
分布式服务框架 Zookeeper -- 管理分布式环境中的数据(IBM)
2013-05-08 14:07 786安装和配置详解 本文 ... -
分布式协调服务---Zookeeper
2013-05-08 14:05 7771、Zookeeper overview Zookee ... -
Hibernate
2013-03-28 13:04 925一、简述 Hibernate 和 JD ... -
Apache+Tomcat集群配置详解
2013-02-01 10:52 896Apache + Tomcat集群配置详解(1) 一、 ... -
Apache+Jboss集群基于反向代理的负载均衡
2013-02-01 10:40 2497假设三台机器IP分别为172.29.128.100、172. ... -
spring + ibatis 多数据源事务(分布式事务)管理配置方法
2012-12-17 15:18 1269spring + ibatis 多数据源事务(分布式事务 ... -
Hessian序列化不设SerializerFactory性能问题
2012-10-31 09:47 1502Hessian序列化不设SerializerFactor ...
相关推荐
《基于J2ME的游戏引擎设计和实现》是针对移动设备上的游戏开发进行深入探讨的一份技术文档,主要聚焦于Java Micro Edition(J2ME)这一平台。J2ME是Java平台的一个子集,专为资源有限的嵌入式设备如手机、智能手表等...
这是一个关于在 j2me中解析xmlr jar 包,与j2se解析xml 有所不同,所以使用的jar 包也不同,希望对你有帮助。
标题"xml.rar_j2me_j2me_xml_java_xml_j2me"暗示了这是一个针对J2ME平台的XML处理解决方案,可能包含轻量级的解析器和示例应用。 描述中提到的"j2me上的微型解析器"指的是专为J2ME设计的XML解析库,旨在在内存有限...
本文介绍了一款基于JAVA基于J2ME的手机游戏的开发设计。该游戏采用了J2ME的游戏框架,使用了J2ME的游戏引擎,实现了游戏的基本功能,包括游戏场景的切换、游戏角色的控制、游戏物品的收集、游戏敌人的攻击等。 游戏...
### 基于J2ME平台的手机游戏贪吃蛇程序的设计与实现 #### 一、课题背景与意义 随着移动通信技术的迅速发展以及智能手机的普及,移动应用特别是手机游戏已经成为人们日常生活中不可或缺的一部分。Java作为一种跨...
JAVA基于J2ME的手机游戏开发(论文+源代码)JAVA基于J2ME的手机游戏开发(论文+源代码)JAVA基于J2ME的手机游戏开发(论文+源代码)JAVA基于J2ME的手机游戏开发(论文+源代码)JAVA基于J2ME的手机游戏开发(论文+源代码)JAVA...
JAVA基于J2ME的手机游戏开发(LW+源代码)JAVA基于J2ME的手机游戏开发(LW+源代码)JAVA基于J2ME的手机游戏开发(LW+源代码)JAVA基于J2ME的手机游戏开发(LW+源代码)JAVA基于J2ME的手机游戏开发(LW+源代码)JAVA基于J2ME的...
JAVA基于J2ME的手机游戏开发(论文+源代码) JAVA基于J2ME的手机游戏开发(论文+源代码) JAVA基于J2ME的手机游戏开发(论文+源代码) JAVA基于J2ME的手机游戏开发(论文+源代码) JAVA基于J2ME的手机游戏开发(论文+源代码) ...
JAVA基于J2ME的手机游戏开发(Word论文+源代码) JAVA基于J2ME的手机游戏开发(Word论文+源代码) JAVA基于J2ME的手机游戏开发(Word论文+源代码) JAVA基于J2ME的手机游戏开发(Word论文+源代码) JAVA基于J2ME的手机游戏...
JAVA基于J2ME的手机游戏开发(lw+源代码).rarJAVA基于J2ME的手机游戏开发(lw+源代码).rarJAVA基于J2ME的手机游戏开发(lw+源代码).rarJAVA基于J2ME的手机游戏开发(lw+源代码).rarJAVA基于J2ME的手机游戏开发(lw+源代码...
**J2ME游戏引擎详解** Java 2 Micro Edition(J2ME)是Oracle公司为小型设备和嵌入式系统设计的一种Java平台。它主要用于移动设备,如早期的智能手机和平板电脑,提供运行Java应用程序的能力。在J2ME的环境中,游戏...
JAVA基于J2ME的手机游戏开发(论文+源代码)(毕业设计+课程设计)JAVA基于J2ME的手机游戏开发(论文+源代码)(毕业设计+课程设计)JAVA基于J2ME的手机游戏开发(论文+源代码)(毕业设计+课程设计)JAVA基于J2ME的手机...
标题"Jaxp_xml.rar_J2ME程序_j2me_j2me_xml_j2me网络"表明这个压缩包包含了一个示例,演示如何使用JAXP(Java API for XML Processing)在J2ME环境中解析XML文件。JAXP是Java平台上的一个标准接口,用于处理XML文档...
摘要:移动支付是移动电子商务中的最重要的...本文讨论一个基于J2ME的以第三方支付平台为中心的移动支付系统的特点和优越性,并给出这个系统详细的设计与实现过程。 关键词:移动支付; J2ME; XML加密; XML签名
《基于J2ME的5个手机游戏经典实例解析》 J2ME,全称为Java 2 Micro Edition,是Java平台的一个子集,主要用于嵌入式系统和移动设备,特别是手机和掌上设备。本资源提供了五个基于J2ME的手机游戏经典源代码,对于想...
JAVA基于J2ME的手机游戏(贪吃蛇)开发(LW+源代码). JAVA基于J2ME的手机游戏(贪吃蛇)开发(LW+源代码). JAVA基于J2ME的手机游戏(贪吃蛇)开发(LW+源代码). JAVA基于J2ME的手机游戏(贪吃蛇)开发(LW+源代码). ...
1.研究介绍了J2ME平台的用途和基于J2ME平台手机开发的国内外 发展情况。 2.研究介绍了J2ME平台的特性和体系结构。重点介绍了移动信息设 备描述(MxDP:MobileinformationDeviceprofile)类库,应用程序的体系结构, ...