基于MIDP的HTTP协议编程及其应用.pdf
《基于MIDP的HTTP协议编程及其应用.pdf》由会员分享,可在线阅读,更多相关《基于MIDP的HTTP协议编程及其应用.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4期Journal of Zhejiang Wanli University浙江万里学院学报第23卷 第4期Vo123 No42010年7月Jul 2010基于 MIDP 的 HTTP 协议编程及其应用刘高平,李国胜,顾文卓(浙江万里学院,浙江 宁波315100)摘 要:文章介绍了一种HTTP网络协议在J2ME中的实现方法,并在此基础上设计了一个手机天气预报查询应用程序。文中对该程序设计中所涉及到的各种类库及主要接口和对象都进行了详细介绍,所开发的程序能够较好地实时获取网络上的24、48、72小时天气预报数据,最后给出了程序在仿真器与手机运行情况。关 键 词:移动信息设备配置文件(MIDP)
2、;超文本传输协议(HTTP);可扩展标记语言(XML);Java2微型版(J2ME)中图分类号:TP311.11文献标识码:A文章编号:16712250(2010)04-0053-05收稿日期:2010-03-03基金项目:浙江省教育厅科研项目资助(Y20060193、Y200805350)。作者简介:刘高平(1964-),男,江西南昌人,浙江万里学院EDA重点实验室副教授,研究方向:信息处理与传输。目前,几乎所有著名的手机制造商都推出了Java手机,而且Java手机占全部手机出货量的比重也逐年上升,已经开发出的J2ME应用程序更是不计其数。由于手机的便携性,手机已逐渐成为人们日常生活和工作中
3、离不开的工具1。使用J2ME智能手机可以在任何时间、任何地点获得所需要的各种服务(如收发电子邮件、购物、玩游戏、股票交易、查询公共信息、定位和移动办公等)。J2ME凭借着可移植性好、便于与企业应用集成等多种优势,在众多的应用领域,特别是移动通信行业中,扮演着一个至关重要的角色2。本文首先介绍了HTTP网络协议在J2ME中的实现方法,并开发了一个基于HTTP协议的手机天气预报查询应用程序。1MIDP中的HTTP协议1.1HTTP协议简介HTTP是一种无状态的协议,实现中不必要考虑每次HTTP服务之间的相互影响,简化了HTTP服务实现的复杂度。因此,HTTP协议作为用户代理、服务器/网关与其他In
4、ternet协议进行通讯的一般协议,被广泛地应用3。据网络专家预测,下一代网络设备中嵌入式设备将大大增加,将来在互联网上传输的信息中,70%左右将来自嵌入式系统2。嵌入式系统与通用网络协议的结合将是下一代网络设备的发展趋势。在MIDP1.0规范中只提供了HTTP的实现,可以利用新增的HttpConnection接口进行基于HTTP的编程,该连接接口是所有MIDP1.0规范设备都必须支持的1。在MIDP2.0规范中则增加了HTTPS的实现,提供了HttpsConnection接口进行安全的HTTP连接,MIDP2.0规范设备也必须支持这一接口。由于HTTP的使用非常广泛,可以传输文字、图片和声音
5、等各种数据,因而使得J2ME具有较大的适应性4。1.2MIDP中HTTP协议实现的方法根据MIDP1.0以上的规范,HTTP协议是所有支持MIDP的手机厂商都要提供的一种联网方式。在532010年7月浙江万里学院学报此,先介绍手机客户端程序通过HTTP方式与服务器之间进行通信的实现方法5。其实现过程大致如下:(1)客户端程序通过调用Connector.open()方法打开和服务器之间的HTTP连接。如果Connector.open()方法与服务器联机成功,Connector.open()则会成为一个Connection对象,为了客户端调用的方便,必须将Connection对象作类型转换为Htt
6、pconnection对象。一般打开一个HTTP连接所使用的程序代码为:String url=“网络地址”;HttpConnection hc=(HttpConnection)Connector.open(url);(2)利用HttpConnection的openinputStream开启输入流,这样可以取得服务器所返回的数据,使用的程序代码为:DataInputStream is=hc.openDatalnputStream();(3)当输入流开启之后,开始利用DataInputStream类的read函数将所收到的字符一个一个读进来。使用任何一个客户端程序和服务器建立HTTP连接后,从服务
7、器读取的内容只包含HTTP的实体内容,实 体 内 容 中 没 有HTTP头 的 信 息,这 是 因 为HTTP头 信 息 被HttpConnection隐 藏 了,可 以 利 用HttpConnection所提供的函数取得HTTP头信息6。下面是使用HTTP建立连接后,接收数据的代码:tryhc=(HttpConnection)Connector.open(strWeatherUrl);/打开与strWeatherUrl的连接if(hc.getResponseCode()=HttpConnection.HTTP_OK)/判断是否己顺利与服务器连接,如果返回值是HTTP_OK,则继续/接收由服务
8、器传回的数据并傲后续的处理。DataInputStream dis=new DataInputStream(hc.openInputStream();byte myData=new byte2000;dis.read(myData,0,myData.length);/读取字节流content=new String(myData,“UTF-8”);strbufContent.append(content);else/连接失败,进行相应处理,比如重新连接catch(Exception e)(4)在从HTTP连接中读取到数据后,数据被存放在一个字节数组,后续的操作就是对字节数组进行解析,客户端根据解
9、析的结果进行相应的处理。2HTTP协议应用程序设计下面基于MIDP的HTTP协议实现方法设计一个实际应用例子。该应用主要功能是访问网络上的实时天气数据并显示。天气数据由新浪网()提供。2.1MIDP中HTTP协议实现应用程序采用HTTP协议与新浪网会话,以获取天气数据。设计方案是首先绘制程序界面,然后根据命令启动网络连接类,获取天气数据,最后解析数据并显示到屏幕。程序的主要流程图如图1所示。在具体编程时,使用一个网络连接接口,即Connection接口。该接口是MIDP中最基本的连接类型,并且扩展形成了7个基本的连接类型,其中的HttpConnection接口就是本程序设计的核心1。实现本程序
10、数据获取的基本代码为:54第4期HttpConnection hc=(HttpConnection)Connector.open(strWeatherUrl);其中strWeatherUrl为查询天气预报信息的实际地址,该地址为:http:/ Markup Language)是“可扩展标记语言”缩写,它与HTML(HyperText Markup Language)一样,都是一种标准通用标记语言SGML(Standard Generalized Markup Language)7。XML是Internet环境中跨平台的、依赖于内容的技术,是当前处理结构化文档信息的有力工具。XML与HTML的设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MIDP HTTP 协议 编程 及其 应用
限制150内