ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:659.17KB ,
资源ID:6743208      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-6743208.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于J2ME平台的手机天气预报程序的设计与实现毕业设计论文.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于J2ME平台的手机天气预报程序的设计与实现毕业设计论文.docx

1、基于J2ME平台的手机天气预报程序的设计与实现毕业设计论文基于J2ME平台的手机天气预报程序的设计与实现基于J2ME平台的手机天气预报程序的设计与实现摘要随着移动通信业的突飞猛进,移动开发这个新鲜的字眼慢慢成为开发者关注的热点。最近一份在网上进行的调查显示,有24.34%的受访者涉足嵌入式/移动设备应用开发,这个数字可能略高于实际的比例,但也足以说明嵌入式/移动设备应用开发是一块诱人的新鲜奶酪。J2ME(Java 2 Micro Edition)是嵌入式/移动应用平台的王者,Linux和WinCE分列二、三位。Nokia等厂商力推的Symbian平台目前开发者占有率尚未达到满意水平,考虑到调查

2、项合并了嵌入式设备(例如PDA)和移动设备(例如智能手机),Symbian、WinCE系列在移动平台上会是与J2ME主要竞争对手。如果厂商能在标准实现上做得更加规范,则J2ME的跨平台特性会发挥得更加淋漓尽致。本文主要讨论了在J2ME平台下,如何开发一个具备连接网络、解析数据、存储城市功能的天气预报程序。论文首先介绍了J2ME平台的特点、历史,进而引出在此平台下开发一个天气预报软件的构想,并对其进行了可行性分析。接着进行了的系统设计,从多个方面分析了如何实现本程序的具体细节,如分别详细分析了网络连接、数据获取、数据解析、数据视图呈现、数据存储等模块实现方法。最后对系统进行了实现。系统的运行情况

3、良好,完全达到了设计的要求。【关键词】J2ME 嵌入式开发 移动开发 嵌入式设备 天气预报 J2ME Platform Based Design and Realization of Weather Forecast Program on Mobile PhoneAbstractWith the rapid development of mobile communication, mobile developing has gradually become a hotspot concerned by developers. A recent online survey shows that

4、there are 24.34 percent of respondents who engage in the investigation or development on embedded/mobile device. Although this figure might be slightly higher than actual that, it can enough prove that embedded/mobile device application is a captivating fresh cheese. J2ME (Java 2 Micro Edition) reta

5、ins top spot on the embedded/mobile platform, while Linux is in second place, and WinCE No. 3. three persons. Developers occupation rate of Symbian platform developed and tried hard to recommend by Nokia has not reached the satisfactory level yet now. Considering that investigates one has amalgamate

6、d embedded apparatus (such as PDA) and mobile device (such as the intellectual mobile phone), we think that Symbian and WinCE will be two main sides of the competition in mobile platform. Moreover, if the manufacturer can do more normally in the standard realized, the platform-independent characteri

7、stics of J2ME will be brought into fuller play. In this paper, we discuss how to develop a J2ME platform based weather forecasts program which has network connections, parsing data and city information storage function. First, we introduce the characteristics and history of J2ME platform, and thus i

8、nvestigate the feasibility and architecture of the weather forecast program based on J2ME platform. Then the system design is presented, and we analyze the details on realizing the system from various aspects, such as network connectivity, data acquisition, data analysis, data view presentation and

9、the data storage module, etc. At last, we realize the system, and the system performs very well and achieves the requirement of design. 【Keyword】J2ME; Mobile Development; Weather Forecast绪论 J2ME是SUN公司针对嵌入式、消费类电子产品推出的开发平台,与J2SE和J2EE共同组成Java技术的三个重要的分支。J2ME实际上是一系列规范的集合,由JCP组织制定相关的Java Specification Req

10、uest(JSR)并发布,各个厂商会按照规范在自己的产品上进行实现,但是必须要通过TCK测试,这样确保兼容性。比如MIDP2.0规范就是在JSR118中制定的。可能接触过J2ME的开发者会觉得说J2ME是一系列的规范不准确吧。因为我们在开发中用到了很多例如CLDC(Connected Limited Devices Configuration)和MIDP(Mobile Information Devices Profile)等内容。其实这并不矛盾,因为这些就是在相关规范中制定的。随着人们生活节奏的加快,越来越多的人开始关心天气,通过天气状况来决定或者计划最近的出行活动。以往传统获得天气资讯的方

11、式是通过电视上的定时的天气预报或者收音机的实况天气报到来了解最及时的天气信息。但是这些传统的方式都会受到时间的限制,无法按照自己的时间来掌握天气预报。手机的普及率近几年也大大提高了,随着移动互联网的发展,越来越多人都可以通过使用手机的GPRS功能方便的上网,不过目前国内的手机上网费用过高,有流量限制,使得人们在用手机上网的同时也时时刻刻关心流量的耗费。基于以上两点,在目前跨平台性比较高的J2ME平台上开发天气预报软件,不仅能够随时获取实时天气预报,而且由于只接受天气数据,而不像有些wap网站提供的天气数据,需要打开整个wap网页才可浏览,这将大大节省手机获取天气信息时的数据流量,无论从实用角度

12、还是经济角度都是一个很好的方案。1 课题总体介绍1.1 课题介绍基于J2ME的手机天气预报程序,利用手机便捷性的优势还有无限网络的方便,可以使用户无论在何时何地,都可以通过手机上网,实时的获得最新的天气信息。方便的城市管理系统,可以按自己的喜好设定多个城市,并且将城市设为默认,每次启动软件都将显示默认城市的天气预报。利用http连接,手机通过访问互联网,获得iGoogle主页提供的天气API接口来获取天气,使用j2me的xml解析功能,准确的解析出从服务器返回的天气数据文件,经过数据处理,以文字或者图表的形式来在手机终端上显示天气预报查询结果。同时利用j2me所提供的记录集功能,保存默认城市设

13、置和自定义城市列表,方面用户自行管理多个城市。1.2 课题目的及意义随着近年来科学技术的迅猛发展,计算机技术已近慢慢的向微型化、便携化等方向发展。如今,人们对于嵌入式的研究的深入,诞生了各种基于多功能操作系统的手机,使得这些手机上可以安装各种各样的软件,实现功能和性能上的扩展和提高。目前大部分手机分为智能手机(SmartPhone)和非智能手机。智能手机包括以诺基亚和三星手机为代表的Symbian S60操作系统,以摩托罗拉为代表的Linux操作系统,以多普达、HTC(宏达)为代表的Windows Mobile操作系统,还有最近兴起的基于Google操作系统Android的新上市的手机。非智能

14、手机包括诺基亚的S40平台、摩托罗拉早期的P2k平台等等。大部分非智能手机和所有的智能手机都可以运行J2ME软件。J2ME(Java 2 Micro Edition)是Java 2的一个组成部分,它与J2SE、J2EE并称。根据Sun的定义:J2ME是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝电话和可视电话、数字机顶盒、汽车导航系统等等。J2ME技术在1999年的JavaOne Developer Conference大会上正式推出,它将Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。正因为目前大部分手机都可以运行J2ME软件,能够

15、自己开发一个基于J2ME的手机软件,实现“一次编译,到处运行”。能够有效的降低开发成本和提高开发效率。1.3 已了解的本课题国内外研究现状在国内,移动通信大佬中国移动公司在其旗下的WAP站点“移动梦网”上面专门设立了一个下载手机J2ME程序的下载中心,名字叫“百宝箱”。颇受手机用户的欢迎,产生了极大的反响。国内还有好多公司,例如股票软件公司大智慧、同花顺,都开发了基于J2ME的手机证券软件,实现了“手机炒股”。国内著名的IM(InstantMessaging即时通讯)公司深圳腾讯,在2004年的时候就已经将其最受欢迎的IM软件腾讯QQ移植到手机平台,使得广大的网友能够在一台支持J2ME和GPR

16、S互联网通讯的手机上随时随地的与人沟通。在国外,J2ME主要用于开发手机上的各种基于本地或者网络通讯的软件或者游戏。具有代表性的是德国著名的手机游戏公司Gameloft,开发了成百个可以在上百种手机上运行的各种游戏,收效颇丰。1.4 主要研究内容和功能本课题所研究的是基于J2ME平台的天气预报软件。主要内容是能够在熟练使用Java编程语言、在Eclipse平台下面使用WTK 2.5.2(Wireless Toolkit Sun的无线开发工具包)的前提下面,开发出一个基于J2ME、网络通信、数据处理与存储等各种技术的一款能够预报未来3天以内的天气预报软件。本软件主要是充分利用J2ME开发手机程序

17、和网络通信方面的优势,采用http连接方式从互联网上即时获取天气信息,以文字和图片的方式显示在手机屏幕上,优点是迅速,直观,方便,经济代价小。本课题的主要研究项目是研究J2ME的界面编程、网络通信编程、数据存储编程、数据处理编程,充分利用了Java语言的各种优势,包括多线程和图像显示技术,能够以较好的界面,迅速的反应速度和联网速度,较小的网络流量消耗来实现一款方便、实用、小巧的天气预报软件。2 J2ME开发环境的配置和J2ME框架2.1 JDK的安装首先本课题是Java程序的开发,就需要在电脑上首先搭建好Java开发平台,目前搭建Java的基本开发环境所需要的是JDK。JDK(Java Dev

18、elopment Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的第一步。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。 JDK里面包括:SE(J2SE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。

19、EE(J2EE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。ME(J2ME),micro edtion,主要用于移动设备、嵌入式设备上的Java应用程序,从JDK 5.0开始,改名为Java ME。SE(J2SE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。EE(J2EE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。ME(J2ME),micro edtion,主

20、要用于移动设备、嵌入式设备上的Java应用程序,从JDK 5.0开始,改名为Java ME。JDK包含的基本组件包括:(1)Javac 编译器,将源程序转成字节码(2)jar 打包工具,将相关的类文件打包成一个文件(3)Javadoc 文档生成器,从源码注释中提取文档(4)jdb debugger,查错工具(5)Java 运行编译后的Java程序(.class后缀的)appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。Javap:Java反汇编器,显示编译类文件

21、中的可访问功能和数据,同时显示字节代码含义。Jconsole: Java进行系统调试和监控的工具。首先,我们需要从sun的官方网站下载JDK:http:/J点击Download JDK得到安装包,双击运行,一路next下来就安装完毕了。2.2 Java基本开发环境JDK的配置右击我的电脑-属性,点击“高级”选项卡,单击“环境变量”。 新建系统变量Java_HOME ClassPath和Path,具体是:变量名 变量值Java_HOME C:Program FilesJavajdk1.6.0_17ClassPath .;%Java_HOME%libdt.jar;%Java_HOME%libtoo

22、ls.jarPath ;%Java_HOME%bin到这里,基本的JDK的配置就算完成了,然后可以进开始运行cmd,敲入Java和Javac,如果有相关的Java帮助信息就算配置成功了。2.3 安装Java开发平台Eclipse从Eclipse的官方网站http:/www.eclipse.org/下载Pulsar开发平台Pulsar平台是Eclipse基金会为手机专门开发的J2me开发平台,基于Eclipse,在Eclipse的基础上增加了部分型号手机的在线SDK下载功能,整合了EclipseME插件,如果用标准版本的Eclipse开发手机J2ME程序则需要安装EclipseME插件才能进行正

23、常开发。将Eclipse下载后解压到任意目录,运行Eclipse.exe就可以了。2.4 安装WTKWTK(SunJ2MEWirelessToolkit)Sun的无线开发工具包在SUN的官方网站http:/J下载WTK2.5.2,按默认的设置安装就行了。2.5 在Eclipse上面配置SDK双击打开Eclipse,点击windowperformance点击左侧J2MEdevice management点击import,然后点击browse找到wtk安装目录,点击确定即可。最后在device management中选择默认的模拟器就行了。到这里,J2ME开发环境的搭建就算完成了2.6 J2ME体

24、系结构J2ME 体系结构是基于设备的系列和类别的。一个类别定义了一个特定种类的设备:移动电话、简单寻呼机和电脑记事本都是单独的类别。对存储器和处理能力有相近需求的若干类别的设备构成设备的一个系列。移动电话、简单寻呼机和简单个人电脑记事本一起就是占用资源很小的设备的一个系列。图2.1 J2ME环境架构为了支持资源受限设备系列所要求的那种灵活性和可定制部署,人们将 J2ME 体系结构设计成模块化的和可伸缩的。J2ME 技术在一个完整的应用程序运行时模型中定义了这种模块性和可伸缩性,在该模型中的四个软件层都构建在设备的主机操作系统上。图2.2 J2ME体系结构Java 虚拟机层(Java Virtu

25、al Machine Layer):这一层是 Java 虚拟机的一个实现,它是为特定设备的主机操作系统定制的,而且支持一个特定的 J2ME 配置(configuration)。配置层(Configuration Layer):配置层定义了 Java 虚拟机功能的和特定类别设备上可用的 Java 类库的最小集。从某种程度上说,一个配置定义了 Java 平台功能部件和库的共同性,开发者可以假设这些功能部件和库在属于某一特定类别的所有设备上都是可用的。用户不太会见到这一层,但它对框架(profile)实现者非常重要。框架层(Profile Layer):框架层定义了特定系列设备上可用的应用程序编程接

26、口(API)的最小集。框架在一个特定的配置上面实现。应用程序是针对特定的框架编写的,因此可以移植到支持该框架的任何设备上。一个设备可以支持多个框架。用户和应用程序供应商看到最多的就是这一层。MIDP 层:移动信息设备框架(Mobile Information Device Profile(MIDP)是一个 Java API 集合,它处理诸如用户界面、持久存储和联网这样的问题。Java 虚拟机层(Java Virtual Machine Layer)、配置层(Configuration Layer)和框架层(Profile Layer)一起构成了连接限制设备配置(Connected Limite

27、d Device Configuration(CLDC)。MID 框架(MID Profile)和 CLDC 提供了一个标准的运行时环境,这个环境允许把新的应用程序和服务动态地部署在终端用户设备上。用 MIDP API 进行 J2ME 编程:构件CLDC 和 MIDP 组合起来为创建移动电话和简单双向寻呼机上的应用程序提供了完整的环境。MID 框架的核心是一个 MIDlet 应用程序。这个应用程序继承了 MIDlet 类,以允许应用程序管理软件对 MIDlet 进行控制、从应用程序描述符检索属性以及对状态变化进行通知和请求。所有 MIDlet 都继承 MIDlet 类 运行时环境(应用程序管理

28、器)和 MIDlet 应用程序代码之间的接口。MIDlet 类提供了用于调用、暂停、重新启动和终止 MIDlet 应用程序的 API。应用程序管理软件可以在运行时环境内管理多个 MIDlet 的活动。此外,MIDlet 可以自己发起一些状态变化,并把这些变化通知给应用程序管理软件。MIDP API 类的完整集合可以分为两个类别:用于用户界面的 MIDP API:设计这些 API 是为了能以一系列屏幕显示为基础与用户进行交互操作,每一屏幕显示把适量的数据显示给用户。命令以每屏幕为基础提供给用户。这些 API 允许应用程序决定下一屏显示什么、执行什么计算和使用网络服务的何种请求。用于处理数据库的

29、MIDP API:这些 API 负责组织和操作设备数据库,这个数据库由在 MIDlet 的多个调用之间跨越时保持持久的信息组成。底层的 CLDC API 用于处理字符串、对象和整数。还提供了 Java 2 API 的一个子集,用于处理 I/O 和网络通信。如图 2.3 所示,显示了 J2ME的构件。 图2.3 J2ME构件2.7 J2ME生命周期当我们新建一个MIDlet项目和源文件的时候,大概的基本框架如下:public class a extends MIDlet public a() protected void destroyApp(boolean unconditional) thr

30、ows MIDletStateChangeException / TODO Auto-generated method stub protected void pauseApp() protected void startApp() throws MIDletStateChangeException 每一个J2ME的MIDlet程序都需要一个主类,就是MIDlet类,继承超类MIDlet,这个类相当于主程序所整个流程开始的类,里面有3个需要重写的方法:destroyApp、pauseApp、startApp。startApp是当J2ME程序开始的时候所执行的入口方法当程序开始运行的时候,在MI

31、Dlet主类的构造方法调用之后就会立即运行这个方法,需要说明的是,MIDlet构造函数在整个程序的生命周期里面都只执行一次,而startApp则不是。startApp方法当从外部接受到暂停的指令的时候,会暂时跳出,当外部恢复的时候,程序会再次执行startApp。pauseApp是当程序通过外部命令暂停的时候,比如支持J2ME的手机按退出键的时候,会选择关闭程序或者暂停程序,当选择了暂停程序,程序会立即跳到pauseApp,这个时候,我们可以在pauseApp方法中释放一些资源,节省手机的内存空间,而且还要把程序必要的数据保存下载,当再次恢复进入startApp方法的时候,就需要读取之前保存的必要数据来恢复现场。destroyApp是当程序正常退出的时候,比如通过程序的退出菜单、执行了退出命令的时候降被调用。在destroyApp方法中我们可以释放所有的资源,关闭所有的连接(包括文件和网络连接),保存数据到数据集等等。这样可以使程序正常的退出并且保存必要的内存数据机的Flash存储器中。3 天气预报程序的设计3.1 设计准备首先,当我萌生一个开发手机上的天气预报软件的想法的时候,我首要考虑到的问题是跨平台,因为目前来看,手机的操作系统五花八门,在不同的手机上需要采用不同的编

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2