1、厦门大学本科毕业论文 I 本科毕业论文 (科研训练、毕业设计 ) 题 目: 基于 J2ME平台的手机应用开发 Mobile Application Development Based on J2ME Platform 姓 名: 学 院:软件学院 系:软件工程 专 业:软件工程 年 级: 学 号: 指导教师(校内): 职称: 指导教师(校外): 黄朝宏 职称: 年 月 厦门大学本科毕业论文 II 摘要 在信息社会中手机及其它无线设备越来越多地 走进普通老百姓的工作和生活中。随着信息网络化的不断进展,人们不但希望手机有强大的通讯功能,也希望它还能提供其它丰富的附加应用功能。传统的手机软件存在很多弊
2、端,而 J2ME 平台由于自身的特点,如今己经成为手机应用程序开发的流行平台。国内外越来越多的厂商在 Sun 公司、摩托罗拉、西门子等公司的技术支持下,开始开发基于 J2ME 平台的无线应用服务。基于J2ME 平台的手机应用开发己经成为热点。 本文在此背景下,开发了基于 J2ME 的手机端商务应用软件。首先,在当前热点二维码技术应用下,它实现了消费卡的手机绑定,使诸如会员卡 、优惠卡、贵宾卡、就餐卡等消费卡集于手机软件中,且通过手机的无线上网功能使手机可实时地下载、同步或注销卡。其次,在基于 J2ME 的无线应用模式下,它采用客户机 /服务器结构来代替基于 WAP 的浏览器 /服务器结构,实现
3、了特定网页浏览和交互功能。 本文首先讲述了当前手机软件的现状以及基于 J2ME 手机应用开发的优势,接着介绍了开发环境的架构,重点讲述了该应用开发的过程,包括了软件需求分析、概要设计、详细设计和实现细节等内容。其中在实现细节这部分涉及到 J2ME 主要技术应用的介绍和开发中主要问题的解决说明, 包括了程 序 GUI界面实现,通过 HTTP协议访问 Internet信息,数据在移动信息设备上的存储, XML流的解析,中文编码问题的解决, QRCode编码等六个部分 。最后,用截图演示了系统运行的成果。 关键词: J2ME Xml MIDP 移动 Web服务 厦门大学本科毕业论文 III Abst
4、ract The mobile and the wireless devices become more and more popular with the common people in the information age. With the development of the network, people wish that the mobiles not only have the strong function of communication but also support lots of functions of extra applications. Whereas,
5、 the traditional mobile software has lots of defects, the platform of J2ME become popular with its excellence. More and more companies begin to develop the applications based on the J2ME under the support of companies like Sun, Motorola, Siemens and etc. The development of mobile applications softwa
6、re has being hot. Under this background, we develop J2ME-based phone-business application software. On one hand, with the use of current hot 2-D barcode technology, it achieved the combination between consumption cards and phone applications. Consumption cards, Such as membership cards, concession c
7、ards, VIP and dine card, can be integrated into the phone software. And phone can access the Internet real-time to download, synchronous or cancel consumption cards. Second, based on the J2ME Wireless Application model, this paper uses client/server architecture to browse web pages in stead of brows
8、er/server architecture based on WAP. This paper described the current status of mobile phone software and the advantages of the development of mobile phones based on J2ME application. Next, present the framework of the development environment. The paper focuses on the process of the application deve
9、lopment, including requirements analysis, Architectural design, detail design and implementation details. At the part of implementation details, paper present the key technologies of J2ME application and the solution of the major issues, including how to design the GUI, how to access Internet throug
10、h HTTP protocol, how to storage the information, how to analysis XML flow, how to solve the Chinese Code problem, and how to make QRCode. Finally, demonstration of the system results with the screenshots. Keywords: J2ME; Extensible Markup Language; Mobile information Device Profile; Mobile Web Servi
11、ce. 厦门大学本科毕业论文 1 目录 第一章 绪论 .5 1.1手机软件现状 .5 1.2 J2ME 介绍 .5 1.3 本文应用背景介绍 .6 第二章 开发环境及相关 技术的介绍 .8 2.1 开发环境 .8 2.2 Java语言特点 .8 2.3 关于 ECLIPSE .9 2.4 关于 Wireless Tool Kit.9 2.5 Java Application Manager .9 第三章 手机软件功能分析 . 10 3.1 客户端手机软件需求 . 10 3.2 主要用例图 .11 3.2.1 移动卡夹 . 11 3.2.2 城市宝典 . 11 3.3 数据流程图 . 12 3.
12、3.1 主流程图 . 12 3.3.2 移动卡夹 . 12 3.3.3 城市宝典 . 14s 第四章 系统概要设计 . 15 第五章 系统详细设计 . 17 5.1 CityGuideMidlet类 . 17 5.2 从卡夹列表到卡详细过程所涉及的类介绍 . 17 5.3 有关二维码编码类介绍 . 18 5.4 有关 RMS 存储类介绍 . 19 厦门大学本科毕业论文 2 第六章 主要技术和细节实现 . 20 6.1程序 GUI界面实现 . 20 6.1.1 MIDP 用户界面介绍 . 20 6.1.2 界面导航设计 . 21 6.2 使用 HTTP 连接 Internet . 21 6.2.
13、1 MIDP 设备支持的 HTTP协议介绍 . 21 6.2.2 程序代码说明 . 22 6.3 XML解析 . 23 6.3.1 J2ME 和 XML . 23 6.3.2 XML 的解析 . 24 6.4 RMS 的应用 . 24 6.4.1 RMS 的介绍 . 24 6.4.2 RMS 在本系统的应用 . 26 6.5中文问题的解决 . 26 6.6 QRCode编码 . 28 第七章 系统演示 . 29 第八章 总结 . 32 致谢 . 33 参考文献 . 34 厦门大学本科毕业论文 3 Contents Chapter 1 Introduction .5 1.1 Mobile Pho
14、ne Software Status .5 1.2 Introduction of J2ME .5 1.3 Background.6 Chapter 2 Development Environment and Related Technology .8 2.1 Development Environment .8 2.2 Characters of Java Languge.8 2.3 About Eclipse .9 2.4 About Wireless Tool Kit .9 2.5 Java Application Manager .9 Chapte 3 Requirement Anal
15、ysis. 10 3.1 Requirement . 10 3.2 Main Cases Figure .11 3.2.1 Mobile Card . 11 3.2.2 City Bible . 11 3.3 Data Flowchart Graphics . 12 3.3.1 Main DFG . 12 3.3.2 Mobile Card DFG . 12 3.3.3 City Bible DFG . 14 Chapter 4 Architectural Design . 15 Chapter 5 System Detail Design . 17 5.1 CityGuideMidlet C
16、lass. 17 5.2 CardArchiveUI and CardDetailUI . 17 5.3 Introduction of QRCode Encode Classes . 18 5.4 Introduction of RMS Classes . 19 厦门大学本科毕业论文 4 Chapter 6 Techonology Details . 20 6.1 System GUI . 20 6.1.1 Introduction of MIDP GUI . 20 6.1.2 Interface Navigation . 21 6.2 Connection to Internet Used
17、 HTTP. 21 6.2.1 Introduction of HTTP Prococal based on MIDP Devices . 21 6.2.2 Code Presentation . 22 6.3 XML Analysis . 23 6.3.1 J2ME and XML . 23 6.3.2 Analysis of XML . 24 6.4 RMS Application. 24 6.4.1 Introduction of RMS . 24 6.4.2 RMS Apply . 26 6.5 Solution of Chinese code . 26 6.6 QRCode Enco
18、de. 28 Chapte 7 System Demonstration . 29 Chapte 8 Summary . 32 Acknowledgement . 33 References . 34 厦门大学本科毕业论文 5 第一章 绪论 1.1 手机软件现状 在信息社会中,手机及其他无线设备越来越多的走进普通百姓的工作和生活,随着信息网络化的不断进展,手机及其他无线设备上网络势在必行。但是传统手机存在以下弊端: 1. 传统手机出厂时均由硬件厂商固化程序,程序不能增加、删除,有了错误也不能更新、修改,若要增加新功能必须另换一部手机。 2. 传统手机访问互联网是通过 WAP(Wireless
19、Application Protocol),所有网络资源必须接通网络才能在线访问,非常耗时、费用亦很高。 而 Java技术在无线应用方面的优势非常明显: 1. 应用程序可按需下载,而不是购买由硬件商提供的套件,可升级空间大。 2. Java技术提供了一个类库,它使的应用开发商可以创建更为直觉、丰富的用户界面 (GUI); 3. Java技术使网络带宽的应用更为有效,因为应用程序可以下载到器件上,并在本地运行,仅仅是在连接到服务器时才会占用网络带宽。 基于以上分析, Java手机将是未来手机的发展方向,是业界的热点。 1.2 J2ME介绍 虽然 Java 已经被用到许多企业级软体上,可是其实骨子
20、里面还是非常适合用在嵌入式系统之中。 Java平台演进到 Java2后, Java平台分别针 对不同领域的需求被分成四个版本,亦即 J2EE、 J2SE、 J2ME 以及 JavaCard。其中 J2ME定位在消费性电子产品的应用上。这个版本针对资源有限的电子消费产品的需求精简核心类库,并提供了模块化的架构让不同类型产品能够随时增加支持的能力。这个版本的应用层面相当广泛,会是未来 Java平台发展的重点项目。 J2ME 在 1999年的 JavaOne开发人员大会上初次亮相,它的目标是面向智能无线设备和小型计算机设备的开发人员。 J2ME 的一个关键优点是, J2ME 与厦门大学本科毕业论文
21、6 所有支持 Java的设备都是兼容的。支持 Java的设备就是 任何运行 Java虚拟机器的计算机。 Motorola、 Nokia等生产厂商都生产支持 Java的设备。 J2ME 平台是由配置( Configuration)和简表( Profile)构成的。配置是提供给最大范围设备使用的最小类库集合,在配置中同时包含 Java虚拟机。简表是针对一系列设备提供的开发包集合。在 J2ME 中还有一个重要的概念是可选包( Optional Package),它是针对特定设备提供的类库,比如某些设备是支持蓝牙的,针对此功能 J2ME 中制定了 JSR82( Bluetooth API)提供了对蓝牙
22、的支持。 目前, J2ME 中有两个最主要的配置,分别是 Connected Limited Devices Configuration( CLDC)和 Connected Devices Configuration( CDC)。 作为第一个面对小型设备的 Java 应用开发规范, CLDC 是由包括 Nokia,Motorola和 Siemens在内的 18家全球知名公司共同协商完成的。 CLDC是 J2ME核心配置中的一个,可以支持一个或多个 profile。其目标主要面向小型的、网络连接速度慢、能源有限(主要是电池供电)且资源有限的设备,如手 机、 PDA等。而 CDC 则是主要用于运算
23、能力相对较佳、在电力供应上相对比较充足的嵌入式装置 (比方说冷气机、电冰箱、电视机机顶盒 (set-top box) 1.3 本文应用背景介绍 手机等智能移动终端(即 GPRS 网络)早已经融入了我们的生活,并成为我们不可或缺的重要工具。而 J2ME 作为当今较为成熟的开发技术,已经大量运用于手机程序如游戏以及智能移动终端等的开发。另外, 手机二维码已成为很多国家民众日常生活所不可缺少的一部分 。 用户只要用手机对二维码拍照,就可瞬间完成信息获取、电子交易,享受快捷的服务。在中国 ,手机二维码则刚刚兴起,智能手机用户的迅速增长和手机摄像头技术的进步,为中国手机二维码的发展奠定了基础。二维码给手
24、机上网带来了新的入口,通过扫描各类条码,用户很快就能进入 WAP 网站,进行快速浏览。一旦 3G到来,中国移动手机条码还可以为视频、网上购物、网上支付等提供方便的入口。 本课题(本文)的一个方面是开发 基于手机二维条码业务的应用 。该 应用 运用了 手机二维条码被动读取识别 特性来开发的 ,即将信息存储在手机中,由二维码读取设备来识别。 厦门大学本科毕业论文 7 另一个方面是,在学习掌握成熟的 J2ME 技术基础上,开发下班网 这一城市门户网 站的手机移动终端,在一定程度上实现了人们只要一下班就可以马上寻找所需的娱乐、餐饮、休闲的等信息,而不需要在回家或者到网吧等地方去找到一台有网络连接的 PC机才来查询生活信息,真正做到一个遍布各地的且可移动的城市生活门户。同时,该移动终端分为客户端以及商户端,客户端和商户端都可以从服务器上获取所需的信息,客户获取的是生活消费指南,而商户端获取的是前来消费的客户信息以便为客户提供最优质的服务。这样的移动终端就以便捷的方式拉近了客户与商户间的距离。