最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

基于J2ME的商品比价系统的设计与实现

IT圈 admin 39浏览 0评论

2024年3月5日发(作者:广弘壮)

开发案列 基于J2ME的商品比价系统的设计与实现 肖正兴 (深圳职业技术学院电信学院,深圳518055) 摘 要:使用JZME和.NET实现商品比价的移动电子商务系统.对异构技术的融合提出一套解决 方案,详细分析移动客户端和服务端的设计方案,对商品比价系统的架构,J2ME客户端实 现的关键技术和.NET服务端的实现进行详细阐述.为J2ME和.NET的异构技术的融合提 供一定的借鉴。 关键词:J2ME;.NET;GCF;AMS;MNIA 0 引言 手机的普遍性和便携性.使得手机应用开发成为 一格信息,并利用GPRS上传至服务器端.存储到数据库 中。并能利用手机查询相关商品的价格信息 ●J2SE服务器端基于J2SE平台.用于接收手机上 个热点,但是由于手机平台的多样性.使得成为应用 普及的一个瓶颈。J2ME技术为手机应用开发提供一个 跨平台的技术框架 传的商品信息,存储到后台数据库,对手机端的商品查 询请求进行相应,发送商品信息到指定手机端 ●网站平台网站是基于ASP.NET 2.0平台实现的 1 商品比价系统架构 本系统使用C/S系统和B/S系统融合的方式 采 用数据库作为接口.将异构技术进行有效融合。 本系统主要分成3个模块:J2ME手机端、J2SE的 服务端和ASP.NET的网站平台 服务端 商品信息网,利用商品价格的共享数据库.提供相关 Web商品比价和查询功能 2 J2ME手机端的实现 J2ME手机端使用MMS和AMS技术对条码拍照. 然后识别条码,获取条码后,输人商品价格信息.利用 GCF上传信息。 J2ME手机端是基于J2ME平台开发,并使用了 J2JlE客户端 移动终端设备 (J211E程序) 移动终端设备 (J211E程序) 上传商品信息 (Socket) 服务端接收 信息线程 服务端查询 信息线程 GCF、RMS、MMA、AMS进行系统的开发。 查询商品信息 (Socket) 品信息 ( .J2ME手机端 ) 数据库 RET网站: CSS/JavaSeript技术 .厂M2西艇ofile、 ̄(JSRq35)) (,MIS(JSR-2a4)) o(jsRlI8)  (1(邮)(葡 ,IE浏览器 r\  VideoConfro1 1 ( Contro1 ) ● 数据库连接 Jr— 图1系统架构图 ( CLDC1.1 KⅧ虚拟机 ) OJ2ME手机端基于J2ME平台.利用手机的摄像 头,拍下商品的条码加以识别,并输入商品的地址和价 图2 J2ME手机端 收稿日期:2010—03—23 修稿日期:2010—04—16 作者简介:肖正兴(1976一),男,江西永新人,研究生,讲师,研究方向为Agent技术、移动开发 现代计算机2010。o5 o 

开发案列 GCF(Generic Connection Framework,通用连接框 基于TCP协议的,可以使用J2ME上的SoeketConnec. tion类直接去连接J2SE的ServerSocket类建立的服务 架):用于无线联网,实现于应用服务器进行数据交互; RMS(Record Management System):用于保存登录 用户名和密码信息: MMA(Mobile Media API):用于摄像头基本功能控 制: 端程序 步骤: ①当J2ME需要通过无线网络连接远程的服务器 时,使用Connection类的Open()方法连接指定的服务 器 该方法将返回一个Connection对象; AMS(Advanced Media Supplement):用于摄像头高 ②可以通过(socketconnection)Connection.Open(参 级特性的调用。例如:自动聚焦、曝光控制、ISO控制等。 数列表):直接得到SocketConnecfion对象; 2.1 GCF ③可以通过调用SocketConnection类的OpenD GCF是J2ME对外界沟通的基础,网络通信、消息 ataOutStream()方法建立数据输出流。同样,调用Open— 服务、蓝牙、文件系统、端口或者SIM卡的存取都是以 DataInputStYeam()方法建立数据输入流; GCF为基础发展而来。GCF为资源有限的设备提供一 ④当数据流建立之后.通过流实现商品价格信息 个可扩展的、通用的I/O框架。 上传和查询功能 在GCF框架下.可以考虑的通信协议主要有3 2.2手机端图像捕捉技术 种:H1] 、Socket、Datagram。本系统在接收上传信息主 ●MMA技术 要采用C/S模式,所以使用Socket协议,该协议也能够 (1)player对象的获取 保证客户端和服务端之间安全、可靠的连接。Socket属 player=Manager.createPlayer(”capture'J/video”);获得Play— 于比较地层面的连接方式,要自行定义通信协议。但 er类对象 是。使用Socket也是最具有弹性、功能最强的连接方 f2)资源的初始化 式 调用realize()方法进行,当初始化成功后,这时候 的Dlaver对象已经达到的已初始化状态。 f3)达到开始状态 调用start()就可达到开始状态。 (4)获得player的控制权限 videoControl=(VideoContro1)player.getControl Video Con- trol”):取得VideoControl对象之后,可以对进行简单的player 控制 f5)设置player的显示模式 调用initDisplayMode()方法; 图3无线网络连接框架 (6)设置它的显示位置 调用setDisplayLocation(0,0)方法; 在MID Profile 2.0中进行了扩展.使得MIDlet能 f7)设置显示屏幕的大小 够在TCP/IP层通过Socket进行通信或者使用数据报 调用setDisplaySize()方法; 进行通信 ◆AMS技术 J2ME手机终端程序使用SocketConnection类连接 AMS技术是在现有的MMA技术的基础之上.添 服务器.要涉及到的两个接口是SocketConnectiofl和 加对摄像头高级控制的技术 AMS不仅对Camera添加 ServerSocketConnection 这个两个接口的使用方法其实 了更多的控制.同时也为视频和音频控制提供了更为 和J2SE中的Socket和Serveroseket类的使用方法很 高级的实现 相似 J2ME使用的Socket和J2SE所使用的Socket都是 。 现代计算机2010.05 

开发案列’ C 一  一一 e r ~1   一。 图4 Player状态图 Camera  l1 l ZoomC。ntro1 图5 AMS技术 player对象添加控制代码.实现摄像头高级特性 嚣 Came~。raConf ExposureControl I FlashContro1  trol  JFoCtlsC。ntr。1  ISnapshotContro控制。 private static Control getControl(Controllable player,String full— Name)f Control control=player.getControl(fullName); if(control==nul1){ Stirng shortName=fullName.substring(fullName.1astlndexOf ( .,)+1); control player.getControl(shortName); j return control; } (1)聚焦控制: FocusControl focusControl=(FocusContro1)getControl(play— er,”javax.microedition.arums.contro1.camera.FocusControl”); (2)缩放控制: ZoomControl zoomControl=(ZoomContro1)getControlp(lay— er,"javax.microedition.amms.contro1.camera.ZoomControl”); (3)曝光控制: ExposureControl Exposure=(ExposureContro1)getControl (player.”javax.microedition.amms.contro1.camera.ExposureCon— trol”); (4)摄像头特性设置: CameraControl Camera=(CameraContro1)getControlp(lay— er,”javax.nficroedition.amms.contro1.camera.CameraControl”): (5)闪光灯控制: FlashControl Flash=(FlashContro1)getControl(player,” javax.microedition.amms.contro1.camera.FlashControl”); (6)拍照控制: SnapshotControl Snapshot=(SnapshotContro1)getControl p(layer,”javax.microedition.amms.contro1.camera.SnapshotCon— trol”); 鞠豳缓藤戳鬻 黼潮鲻 蕊 鍪 缓一 I蠢 till: I i;.3I  一畸茧 ̄ltlt矗翻琏域:’{‘田匹 : 耋{-,时两寇固:’一十月一 新硅庭域,’蟠田窿 钳谴 t}堆k l _01"{ll砧 罄 戳 缕嘲蕊瓣鳓 瓣 图6商品价格上传 图7商品价格查询 3 J2SE服务器端程序 3.1多线程机制 在服务器端,由于需要建立多个用户的连接,因 此,需要有一个ConnectSocket线程,其主要工作流程 如图8所示。 图8服务器一客户连接线程的Run方法流程 服务器与客户连接后,需要不断进行信息的收发, 因此.客户与服务器进行信息交互也需要用Client— Processor线程来实现 ClientProcessor的构造器中.主要根据客户端与服 务端的连接对象分别获取相应的输入流和输出流.并 解析客户连接信息.并将客户信息显示在服务器端。 ClientProcessor接下来的工作就是从负责与该客 户的数据通信,并对读入的信息做相应的处理。其主要 工作流程如图9所示: 现代计算机2o1o.05 O 

开发案歹lj 4 结语 本文提出一种融合C/S和B,S架构的移动电子商 务系统的架构,这种结构包含J2ME客户端、J2SE服务 图9服务器一客户信息交互线程的Run方法流程 端和.NET开发的Web端.提供了较高的安全性和灵活 性,能够用于将不同技术框架进行整合.现在很多行业 3.2客户连接信息的存储 对服务器来说.为了保证和每个客户进行通信.必 都存在C/S和B/S并存的情况,为J2ME移动电子商务 系统提供一种更灵活、通用的解决方案.对其他的行业 和应用的移动电子商务系统的开发具有一定借鉴意 义 须能够将客户信息保存,以便进行信息交互。对服务器 来说客户名称和对应于该客户的输入和输出流需要保 存.这样才能实现服务器通过对每个客户进行交流.实 现向每个客户发送消息。在这里.将这些信息都封装在 对应的线程对象中 J2SE服务端的运行状态图: 参考文献 [1]Chander A,Mitchell J,Shin I.Mobile Code Security by Java Bytecode Instrumentation[EB/OL].http:Ucsd1.computer.org ̄ comp/proceedings/diseex/2001/1212/02/12121027abs.hun, 2001—08—24/2005-2—1 f2]唐自仰等.基于J2ME/Servlet的手机聊天室.计算机工程, 2009-5 [3】(美)Kim Toply.J2ME in a Nutshel1.0"ReUy,2002 [4]聂哲,袁梅冷,肖正兴.JBuilder网络编程.北京:高等教育 出版社.2006 图10服务端运行图 Design and I mplementation of Commodity Price Ratio System Based on J2ME . XIAO Zheng-xing (School of Electronic and Information Engineering,Shenzhen Polytechnic,Shenzhen 518055) Abstract:Realizes a mobile e-commerce system with J2ME and.NET,provides a solution for integration of heterogeneous technologies and a detailed analysis of the mobile client and service side including system architecture of commodity price ratio,key technologies of J2ME application and implementation of server-side of.NET.Provides a reference for integration of heterogeneous technologies of J2ME and.NET. Keywords:J2ME;.NET;GCF;AMS;MMA 现代计算机2o10.05 

2024年3月5日发(作者:广弘壮)

开发案列 基于J2ME的商品比价系统的设计与实现 肖正兴 (深圳职业技术学院电信学院,深圳518055) 摘 要:使用JZME和.NET实现商品比价的移动电子商务系统.对异构技术的融合提出一套解决 方案,详细分析移动客户端和服务端的设计方案,对商品比价系统的架构,J2ME客户端实 现的关键技术和.NET服务端的实现进行详细阐述.为J2ME和.NET的异构技术的融合提 供一定的借鉴。 关键词:J2ME;.NET;GCF;AMS;MNIA 0 引言 手机的普遍性和便携性.使得手机应用开发成为 一格信息,并利用GPRS上传至服务器端.存储到数据库 中。并能利用手机查询相关商品的价格信息 ●J2SE服务器端基于J2SE平台.用于接收手机上 个热点,但是由于手机平台的多样性.使得成为应用 普及的一个瓶颈。J2ME技术为手机应用开发提供一个 跨平台的技术框架 传的商品信息,存储到后台数据库,对手机端的商品查 询请求进行相应,发送商品信息到指定手机端 ●网站平台网站是基于ASP.NET 2.0平台实现的 1 商品比价系统架构 本系统使用C/S系统和B/S系统融合的方式 采 用数据库作为接口.将异构技术进行有效融合。 本系统主要分成3个模块:J2ME手机端、J2SE的 服务端和ASP.NET的网站平台 服务端 商品信息网,利用商品价格的共享数据库.提供相关 Web商品比价和查询功能 2 J2ME手机端的实现 J2ME手机端使用MMS和AMS技术对条码拍照. 然后识别条码,获取条码后,输人商品价格信息.利用 GCF上传信息。 J2ME手机端是基于J2ME平台开发,并使用了 J2JlE客户端 移动终端设备 (J211E程序) 移动终端设备 (J211E程序) 上传商品信息 (Socket) 服务端接收 信息线程 服务端查询 信息线程 GCF、RMS、MMA、AMS进行系统的开发。 查询商品信息 (Socket) 品信息 ( .J2ME手机端 ) 数据库 RET网站: CSS/JavaSeript技术 .厂M2西艇ofile、 ̄(JSRq35)) (,MIS(JSR-2a4)) o(jsRlI8)  (1(邮)(葡 ,IE浏览器 r\  VideoConfro1 1 ( Contro1 ) ● 数据库连接 Jr— 图1系统架构图 ( CLDC1.1 KⅧ虚拟机 ) OJ2ME手机端基于J2ME平台.利用手机的摄像 头,拍下商品的条码加以识别,并输入商品的地址和价 图2 J2ME手机端 收稿日期:2010—03—23 修稿日期:2010—04—16 作者简介:肖正兴(1976一),男,江西永新人,研究生,讲师,研究方向为Agent技术、移动开发 现代计算机2010。o5 o 

开发案列 GCF(Generic Connection Framework,通用连接框 基于TCP协议的,可以使用J2ME上的SoeketConnec. tion类直接去连接J2SE的ServerSocket类建立的服务 架):用于无线联网,实现于应用服务器进行数据交互; RMS(Record Management System):用于保存登录 用户名和密码信息: MMA(Mobile Media API):用于摄像头基本功能控 制: 端程序 步骤: ①当J2ME需要通过无线网络连接远程的服务器 时,使用Connection类的Open()方法连接指定的服务 器 该方法将返回一个Connection对象; AMS(Advanced Media Supplement):用于摄像头高 ②可以通过(socketconnection)Connection.Open(参 级特性的调用。例如:自动聚焦、曝光控制、ISO控制等。 数列表):直接得到SocketConnecfion对象; 2.1 GCF ③可以通过调用SocketConnection类的OpenD GCF是J2ME对外界沟通的基础,网络通信、消息 ataOutStream()方法建立数据输出流。同样,调用Open— 服务、蓝牙、文件系统、端口或者SIM卡的存取都是以 DataInputStYeam()方法建立数据输入流; GCF为基础发展而来。GCF为资源有限的设备提供一 ④当数据流建立之后.通过流实现商品价格信息 个可扩展的、通用的I/O框架。 上传和查询功能 在GCF框架下.可以考虑的通信协议主要有3 2.2手机端图像捕捉技术 种:H1] 、Socket、Datagram。本系统在接收上传信息主 ●MMA技术 要采用C/S模式,所以使用Socket协议,该协议也能够 (1)player对象的获取 保证客户端和服务端之间安全、可靠的连接。Socket属 player=Manager.createPlayer(”capture'J/video”);获得Play— 于比较地层面的连接方式,要自行定义通信协议。但 er类对象 是。使用Socket也是最具有弹性、功能最强的连接方 f2)资源的初始化 式 调用realize()方法进行,当初始化成功后,这时候 的Dlaver对象已经达到的已初始化状态。 f3)达到开始状态 调用start()就可达到开始状态。 (4)获得player的控制权限 videoControl=(VideoContro1)player.getControl Video Con- trol”):取得VideoControl对象之后,可以对进行简单的player 控制 f5)设置player的显示模式 调用initDisplayMode()方法; 图3无线网络连接框架 (6)设置它的显示位置 调用setDisplayLocation(0,0)方法; 在MID Profile 2.0中进行了扩展.使得MIDlet能 f7)设置显示屏幕的大小 够在TCP/IP层通过Socket进行通信或者使用数据报 调用setDisplaySize()方法; 进行通信 ◆AMS技术 J2ME手机终端程序使用SocketConnection类连接 AMS技术是在现有的MMA技术的基础之上.添 服务器.要涉及到的两个接口是SocketConnectiofl和 加对摄像头高级控制的技术 AMS不仅对Camera添加 ServerSocketConnection 这个两个接口的使用方法其实 了更多的控制.同时也为视频和音频控制提供了更为 和J2SE中的Socket和Serveroseket类的使用方法很 高级的实现 相似 J2ME使用的Socket和J2SE所使用的Socket都是 。 现代计算机2010.05 

开发案列’ C 一  一一 e r ~1   一。 图4 Player状态图 Camera  l1 l ZoomC。ntro1 图5 AMS技术 player对象添加控制代码.实现摄像头高级特性 嚣 Came~。raConf ExposureControl I FlashContro1  trol  JFoCtlsC。ntr。1  ISnapshotContro控制。 private static Control getControl(Controllable player,String full— Name)f Control control=player.getControl(fullName); if(control==nul1){ Stirng shortName=fullName.substring(fullName.1astlndexOf ( .,)+1); control player.getControl(shortName); j return control; } (1)聚焦控制: FocusControl focusControl=(FocusContro1)getControl(play— er,”javax.microedition.arums.contro1.camera.FocusControl”); (2)缩放控制: ZoomControl zoomControl=(ZoomContro1)getControlp(lay— er,"javax.microedition.amms.contro1.camera.ZoomControl”); (3)曝光控制: ExposureControl Exposure=(ExposureContro1)getControl (player.”javax.microedition.amms.contro1.camera.ExposureCon— trol”); (4)摄像头特性设置: CameraControl Camera=(CameraContro1)getControlp(lay— er,”javax.nficroedition.amms.contro1.camera.CameraControl”): (5)闪光灯控制: FlashControl Flash=(FlashContro1)getControl(player,” javax.microedition.amms.contro1.camera.FlashControl”); (6)拍照控制: SnapshotControl Snapshot=(SnapshotContro1)getControl p(layer,”javax.microedition.amms.contro1.camera.SnapshotCon— trol”); 鞠豳缓藤戳鬻 黼潮鲻 蕊 鍪 缓一 I蠢 till: I i;.3I  一畸茧 ̄ltlt矗翻琏域:’{‘田匹 : 耋{-,时两寇固:’一十月一 新硅庭域,’蟠田窿 钳谴 t}堆k l _01"{ll砧 罄 戳 缕嘲蕊瓣鳓 瓣 图6商品价格上传 图7商品价格查询 3 J2SE服务器端程序 3.1多线程机制 在服务器端,由于需要建立多个用户的连接,因 此,需要有一个ConnectSocket线程,其主要工作流程 如图8所示。 图8服务器一客户连接线程的Run方法流程 服务器与客户连接后,需要不断进行信息的收发, 因此.客户与服务器进行信息交互也需要用Client— Processor线程来实现 ClientProcessor的构造器中.主要根据客户端与服 务端的连接对象分别获取相应的输入流和输出流.并 解析客户连接信息.并将客户信息显示在服务器端。 ClientProcessor接下来的工作就是从负责与该客 户的数据通信,并对读入的信息做相应的处理。其主要 工作流程如图9所示: 现代计算机2o1o.05 O 

开发案歹lj 4 结语 本文提出一种融合C/S和B,S架构的移动电子商 务系统的架构,这种结构包含J2ME客户端、J2SE服务 图9服务器一客户信息交互线程的Run方法流程 端和.NET开发的Web端.提供了较高的安全性和灵活 性,能够用于将不同技术框架进行整合.现在很多行业 3.2客户连接信息的存储 对服务器来说.为了保证和每个客户进行通信.必 都存在C/S和B/S并存的情况,为J2ME移动电子商务 系统提供一种更灵活、通用的解决方案.对其他的行业 和应用的移动电子商务系统的开发具有一定借鉴意 义 须能够将客户信息保存,以便进行信息交互。对服务器 来说客户名称和对应于该客户的输入和输出流需要保 存.这样才能实现服务器通过对每个客户进行交流.实 现向每个客户发送消息。在这里.将这些信息都封装在 对应的线程对象中 J2SE服务端的运行状态图: 参考文献 [1]Chander A,Mitchell J,Shin I.Mobile Code Security by Java Bytecode Instrumentation[EB/OL].http:Ucsd1.computer.org ̄ comp/proceedings/diseex/2001/1212/02/12121027abs.hun, 2001—08—24/2005-2—1 f2]唐自仰等.基于J2ME/Servlet的手机聊天室.计算机工程, 2009-5 [3】(美)Kim Toply.J2ME in a Nutshel1.0"ReUy,2002 [4]聂哲,袁梅冷,肖正兴.JBuilder网络编程.北京:高等教育 出版社.2006 图10服务端运行图 Design and I mplementation of Commodity Price Ratio System Based on J2ME . XIAO Zheng-xing (School of Electronic and Information Engineering,Shenzhen Polytechnic,Shenzhen 518055) Abstract:Realizes a mobile e-commerce system with J2ME and.NET,provides a solution for integration of heterogeneous technologies and a detailed analysis of the mobile client and service side including system architecture of commodity price ratio,key technologies of J2ME application and implementation of server-side of.NET.Provides a reference for integration of heterogeneous technologies of J2ME and.NET. Keywords:J2ME;.NET;GCF;AMS;MMA 现代计算机2o10.05 

发布评论

评论列表 (0)

  1. 暂无评论