欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于MIDP的HTTP协议编程及其应用.pdf

    • 资源ID:70333846       资源大小:477.81KB        全文页数:5页
    • 资源格式: PDF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于MIDP的HTTP协议编程及其应用.pdf

    第4期Journal of Zhejiang Wanli University浙江万里学院学报第23卷 第4期Vo123 No42010年7月Jul 2010基于 MIDP 的 HTTP 协议编程及其应用刘高平,李国胜,顾文卓(浙江万里学院,浙江 宁波315100)摘 要:文章介绍了一种HTTP网络协议在J2ME中的实现方法,并在此基础上设计了一个手机天气预报查询应用程序。文中对该程序设计中所涉及到的各种类库及主要接口和对象都进行了详细介绍,所开发的程序能够较好地实时获取网络上的24、48、72小时天气预报数据,最后给出了程序在仿真器与手机运行情况。关 键 词:移动信息设备配置文件(MIDP);超文本传输协议(HTTP);可扩展标记语言(XML);Java2微型版(J2ME)中图分类号:TP311.11文献标识码:A文章编号:16712250(2010)04-0053-05收稿日期:2010-03-03基金项目:浙江省教育厅科研项目资助(Y20060193、Y200805350)。作者简介:刘高平(1964-),男,江西南昌人,浙江万里学院EDA重点实验室副教授,研究方向:信息处理与传输。目前,几乎所有著名的手机制造商都推出了Java手机,而且Java手机占全部手机出货量的比重也逐年上升,已经开发出的J2ME应用程序更是不计其数。由于手机的便携性,手机已逐渐成为人们日常生活和工作中离不开的工具1。使用J2ME智能手机可以在任何时间、任何地点获得所需要的各种服务(如收发电子邮件、购物、玩游戏、股票交易、查询公共信息、定位和移动办公等)。J2ME凭借着可移植性好、便于与企业应用集成等多种优势,在众多的应用领域,特别是移动通信行业中,扮演着一个至关重要的角色2。本文首先介绍了HTTP网络协议在J2ME中的实现方法,并开发了一个基于HTTP协议的手机天气预报查询应用程序。1MIDP中的HTTP协议1.1HTTP协议简介HTTP是一种无状态的协议,实现中不必要考虑每次HTTP服务之间的相互影响,简化了HTTP服务实现的复杂度。因此,HTTP协议作为用户代理、服务器/网关与其他Internet协议进行通讯的一般协议,被广泛地应用3。据网络专家预测,下一代网络设备中嵌入式设备将大大增加,将来在互联网上传输的信息中,70%左右将来自嵌入式系统2。嵌入式系统与通用网络协议的结合将是下一代网络设备的发展趋势。在MIDP1.0规范中只提供了HTTP的实现,可以利用新增的HttpConnection接口进行基于HTTP的编程,该连接接口是所有MIDP1.0规范设备都必须支持的1。在MIDP2.0规范中则增加了HTTPS的实现,提供了HttpsConnection接口进行安全的HTTP连接,MIDP2.0规范设备也必须支持这一接口。由于HTTP的使用非常广泛,可以传输文字、图片和声音等各种数据,因而使得J2ME具有较大的适应性4。1.2MIDP中HTTP协议实现的方法根据MIDP1.0以上的规范,HTTP协议是所有支持MIDP的手机厂商都要提供的一种联网方式。在532010年7月浙江万里学院学报此,先介绍手机客户端程序通过HTTP方式与服务器之间进行通信的实现方法5。其实现过程大致如下:(1)客户端程序通过调用Connector.open()方法打开和服务器之间的HTTP连接。如果Connector.open()方法与服务器联机成功,Connector.open()则会成为一个Connection对象,为了客户端调用的方便,必须将Connection对象作类型转换为Httpconnection对象。一般打开一个HTTP连接所使用的程序代码为:String url=“网络地址”;HttpConnection hc=(HttpConnection)Connector.open(url);(2)利用HttpConnection的openinputStream开启输入流,这样可以取得服务器所返回的数据,使用的程序代码为:DataInputStream is=hc.openDatalnputStream();(3)当输入流开启之后,开始利用DataInputStream类的read函数将所收到的字符一个一个读进来。使用任何一个客户端程序和服务器建立HTTP连接后,从服务器读取的内容只包含HTTP的实体内容,实 体 内 容 中 没 有HTTP头 的 信 息,这 是 因 为HTTP头 信 息 被HttpConnection隐 藏 了,可 以 利 用HttpConnection所提供的函数取得HTTP头信息6。下面是使用HTTP建立连接后,接收数据的代码:tryhc=(HttpConnection)Connector.open(strWeatherUrl);/打开与strWeatherUrl的连接if(hc.getResponseCode()=HttpConnection.HTTP_OK)/判断是否己顺利与服务器连接,如果返回值是HTTP_OK,则继续/接收由服务器传回的数据并傲后续的处理。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连接中读取到数据后,数据被存放在一个字节数组,后续的操作就是对字节数组进行解析,客户端根据解析的结果进行相应的处理。2HTTP协议应用程序设计下面基于MIDP的HTTP协议实现方法设计一个实际应用例子。该应用主要功能是访问网络上的实时天气数据并显示。天气数据由新浪网()提供。2.1MIDP中HTTP协议实现应用程序采用HTTP协议与新浪网会话,以获取天气数据。设计方案是首先绘制程序界面,然后根据命令启动网络连接类,获取天气数据,最后解析数据并显示到屏幕。程序的主要流程图如图1所示。在具体编程时,使用一个网络连接接口,即Connection接口。该接口是MIDP中最基本的连接类型,并且扩展形成了7个基本的连接类型,其中的HttpConnection接口就是本程序设计的核心1。实现本程序数据获取的基本代码为: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的设计区别是:XML是一种简单的数据存储语言,主要用于存储数据,着重点在数据本身8。而HTML用于定义数据,着重点在数据的显示模式。虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。因此目前Internet很大一部分网页采用XML语言编写。KXML是一个只占很小存储空间的XML语法分析程序,含有一个非常独特的DOM操作方法和被称为Pull的语法分析方法。KXML解析器对于J2ME应用程序非常适合,目前在J2ME网络应用程序中比较流行。2.2.2KXML解析器编程实现虽然新浪的天气数据页面是利用XML语言编写,但其不是采用标准的XML语言编写,用现有的KXML解析器解析时有一定的不兼容性,所以本程序未能使用现有的KXML解析器来解析天气数据,而是根据KXML解析器的规则,采用自己编写的代码进行解析。笔者采用的具体思路如下:使用String类的indexOf(str)方法来查询特定的字符数据,返回该字符串在整个获取数据的位置。通过对需要字符串的定位,就能准确地截取需要的天气预报数据。主要代码如下:String strbr=“”;/定位第一个br位置int indexbr1=strbufContent.toString().indexOf(strbr);/截取第一个br位置后的子字符串String subcontent1=strbufContent.toString().substring(indexbr1+5);图1总体程序流程图刘高平,李国胜,顾文卓:基于MIDP的HTTP协议编程及其应用552010年7月浙江万里学院学报strbufSubcontent1.append(subcontent1);以上代码是以“”为查询字段,查询其在strbufContent字符串中的位置,返回一个int型整数,通过substring(indexbr1+5)截取strbufContent中“”以后的字符串,然后赋值给subcontent1,最后通过append()文法将subcontent1添加到名为strbufSubcontent1的StringBuffer变量中。本程序中需要将城市、日期、星期、天气预报信息、更新时间从获取的输出流中解析出来,都采用了上面的查询再截取的方法。2.2.3图片的获取在解析完成后还能够得到天气预报的一个图片地址。使用HttpConnection打开连接后,服务器将返回字节流,在此打开一个输入流,调用read()方法从输入流读取文件的每个字节,将这些字节传入字节数组输出流中。然后把这个字节数组输出流传给createImage()方法,将这个字节数组输出流转换成一幅图像。具体使用的代码如下:getimage=(HttpConnection)Connector.open(imageurl);DataInputStream imag_dis=new DataInputStream(getimage.openInputStream();tryByteArrayOutputStream bytearray=new ByteArrayOutputStream();int ch;while(ch=imag_dis.read()!=-1)bytearray.write(ch);/读取图片数据byte imagearray =bytearray.toByteArray();image=Image.createImage(imagearray,0,imagearray.length);/生成图片数据catch(Exception e)2.2.4信息显示获得天气数据后,将数据与图片进行显示。由于这部分代码不是本文的重点,在此不予讨论。3测试情况本程序代码采用Eclipse3.4平台进行开发。先在PC机上利用WTK2.5开发套件进行仿真,仿真调试成功后,再打包产生JAR文件,将该文件下载到手机MOTO E398中运行。软件仿真与在手机上运行的情况分别如图2、3所示。显示的界面上有天气预报的图片,如:晴、多动、雨等,然后依次是城市、日期、星期、天气预报信息、更新时间。如按“退出”就会退出程序。值得注意的是,软件运行时必须开通GPRS数据业务。另外,软件虽然只是在手机MOTO E398中进行的测试,但在支持MIDP 2.0的任何手机中均可运行使用。图2模拟器运行程序的截图图3程序在手机MOTO E398中运行情况56第4期4结语本文对J2ME中HTTP协议用于移动设备程序开发应用进行了探讨,并编程实现了一个基于HTTP协议的手机天气预报查询器。该程序在日常生活中具有一定的实用价值,可以随时随地了解最新的天气预报。当然,本系统的开发只是一个HTTP协议应用的基本应用例子,其中还有很多值得完善的地方,如本程序只给出了单个默认城市天气预报查询的基本功能。参考文献:1胡虚怀,等.J2ME移动设备程序设计M.北京:清华大学出版社,2005.2詹青龙网络视频技术及应用M西安:西安电子大学出版社,20043叶强.超文木传输协议HTTP/1.0J.科技情报开发与经济,2004,14(8):266-271.4JSR 118 Expert Group.Mobile Information Device Profile for JavaTM2 Micro EditionVersion 2.0 EB/OL.www.jcp.org,2002.11/2009.12.5施铮,等.J2ME技术参考手册M.北京:电子工业出版社,2004.6孔明放.J2ME程序设计教程M.北京:科学出版社,2005.7詹建飞.J2ME开发精解M.北京:电子工业出版社,2006.8詹建飞.Java ME核心技术与最佳实践M.北京:电子工业出版社,2007.Application and Development of HTTP Protocol in MIDPLIU Gao-Ping,LI Guo-Sheng,GU Wen-Zhuo(Zhejiang Wanli University,Ningbo Zhejiang 315100)Abstract:The present paper introduces the implementation of HTTP protocol in J2ME and develops amobile phone weather forecast inquiry procedure based on HTTP protocol.All types of classes and majorinterfaces and objects used in the procedure are also introduced in this paper.This procedure can obtainthe weather forecast data in 24,48,72 hours on the network in real time more effectively.The result ofthe procedure on the simulator and the mobile phone is also given.Key words:Mobile Information Device Profile(MIDP);Hypertext Transfer Protocol(HTTP);eXtensibleMarkup Language(XML);Java 2 Micro Edition(J2ME)刘高平,李国胜,顾文卓:基于MIDP的HTTP协议编程及其应用57

    注意事项

    本文(基于MIDP的HTTP协议编程及其应用.pdf)为本站会员(asd****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开