智能手工J2ME项目实训任务书及报告 精品.docx

上传人:b****6 文档编号:4118532 上传时间:2022-11-28 格式:DOCX 页数:19 大小:371.75KB
下载 相关 举报
智能手工J2ME项目实训任务书及报告 精品.docx_第1页
第1页 / 共19页
智能手工J2ME项目实训任务书及报告 精品.docx_第2页
第2页 / 共19页
智能手工J2ME项目实训任务书及报告 精品.docx_第3页
第3页 / 共19页
智能手工J2ME项目实训任务书及报告 精品.docx_第4页
第4页 / 共19页
智能手工J2ME项目实训任务书及报告 精品.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

智能手工J2ME项目实训任务书及报告 精品.docx

《智能手工J2ME项目实训任务书及报告 精品.docx》由会员分享,可在线阅读,更多相关《智能手工J2ME项目实训任务书及报告 精品.docx(19页珍藏版)》请在冰豆网上搜索。

智能手工J2ME项目实训任务书及报告 精品.docx

智能手工J2ME项目实训任务书及报告精品

 

苏州市职业大学

实习(实训)报告

名称智能手机J2ME项目实训

    

2013年6月25日至2013年6月29日共1周

学院(部)计算机工程学院

班级

姓名

 

学院(部)负责人

系主任

指导教师

摘要

J2ME(Java2MicroEdition)是近年来随着各种不同设备,尤其是移动通信设备的飞速发展而诞生的一项新的开发技术。

随着通信技术的发展和手机的日益普及、Java功能在移动设备上的实现,Java应用程序产生的手机增值服务逐渐体现出其影响力,对丰富人们的生活内容、提供快捷的资讯起着不可忽视的作用。

以J2ME为开发平台,利用Java提供强大工具,不但可以在手机上实现静态HTML技术所无法实现的计算处理、数据存储、与服务器的通信等功能,而且能够开发各种手机游戏。

本文介绍了手机的软硬件特性、J2ME的相关技术及本程序的结构分析和具体功能的实现。

本文实际开发了一个基于J2ME平台的小球碰撞程序,描述了借助J2ME的MIDlet类库开发手机游戏的过程。

 

关键词:

J2ME,MIDlet,Java

目录

1实训目的与要求1

2J2ME简介2

2.1什么是J2ME2

2.2J2ME发展与现状2

2.3J2ME的应用领域2

3J2ME开发环境构建2

3.1J2ME开发所需软件2

3.2JDK3

3.2.1JDK的功能3

3.2.2JDK下载网址3

3.2.3JDK的安装步骤3

3.3Eclipse4

3.3.1Eclipse的功能4

3.3.2Eclipse下载网址4

3.3.3Eclipse的安装步骤4

3.4SunJ2MEWirelessToolKit4

3.4.1WTK的功能4

3.4.2WTK下载网址5

3.4.3WTK的安装步骤5

3.5EclipseME7

3.5.1EclipseME的功能7

3.5.2EclipseME下载网址7

3.5.3EclipseME的安装步骤7

3.6Eclipse的汉化10

3.6.1EclipseBabelProject10

3.6.2EclipseBabelProject下载网址10

3.6.3EclipseBabelProject的安装步骤10

4J2ME项目构建10

4.1项目创建与导入10

4.1.1新建J2ME项目10

4.1.2J2ME项目工程文件夹结构10

4.1.3导入实训项目10

4.2实训项目功能与模块11

4.2.1实训项目功能11

4.2.2实训项目模块11

4.3项目调试与运行11

4.3.1运行实训项目11

4.3.2配置实训项目11

4.3.3联网测试实训项目11

实训个人小结12

致谢13

附录(源程序代码)14

1实训目的与要求

1.1实训目的与要求

1.1.1目的:

了解J2ME在智能手机应用领域的作用,掌握J2ME集成软件开发环境构建方案。

了解J2ME项目开发的基本过程,掌握J2ME项目创建步骤及能使用WTK模拟器运行J2ME项目。

1.1.2要求:

认真阅读教师下达任务书,理解任务目的和要求,严格按照实训内容完成实训项目;

实训着重培养学生自主发现问题、思考问题、解决问题的能力,实训过程以学生自主学习为主,教师主要以答疑解惑方式提供指导;

为培养学生团队合作精神,参加实训学生可以2~4人为单位组成实训小组,协同完成实训任务;

实训学生应注意培养自己独立地发现问题、查找资料和解决问题的能力,以独立完成本人负责模块为主,小组成员讨论为辅的方式进行团队合作;

实训报告是实训过程的重要组成部分,学生均应独立完成本人实训报告,报告内容应真实、严谨,报告结构应合理、紧凑,报告格式应规范、完整。

1.2实训内容简介

构建基于JDK+WTK+Eclipse+EclipseMe+EclipseBabel方案的J2ME汉化集成软件开发环境。

在J2ME集成开发环境构建完成的基础上,创建J2ME项目,了解J2ME项目框架结构,导入既有的J2ME项目,在模拟器运行该项目。

本实训中J2ME项目是一个基于Socket网络编程协议的智能手机J2ME网络通信应用程序,该系统同时包含服务器和客户端功能,可以根据通信需要启用服务器端功能或客户端功能,可以指定通信端口号,在分别代表客户端的手机模拟器和代表服务器端的手机模拟之间发送和接收文本信息,网络通信分别由独立的线程完成。

1

1.3实训时间安排

2013年6月25日至2013年6月29日共1周。

2J2ME简介

2.1什么是J2ME

JavaME以往称作J2ME(JavaPlatform,MicroEdition),是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的JavaAPI。

它和JavaSE、JavaEE一起构成Java技术的三大版本,并且同样是通过JCP(JavaCommunityProcess)制订的。

2.2J2ME发展与现状

J2ME平台由于自身的特点,己经成为当前业界流行的无线应用开发支柱平台。

利用J2ME提供的功能,电子商务、企业的商务应用等都可以扩展到无线上来,基于J2ME平台的手机应用开发已经成为热点。

同时,J2ME针对嵌入式和移动设备,提供了开发和运行应用的平台,随着新的规范的不断推出和众多制造商、软件开发商的支持,J2ME正在飞速向前发展。

JTWI将保证J2ME应用程序在不同制造商的产品上的兼容性。

今后J2ME将借助WebServices的力量,真正成为企业级信息解决方案中不可或缺的一部分。

2.3J2ME的应用领域

它主要应用于手机、PDA(掌上电脑)、双工寻呼机、家电产品,机顶盒、汽车导航系统等。

3J2ME开发环境构建

3.1J2ME开发所需软件

所需的软件是JDK,WTK,Eclipse,EclipseMe和EclipseBabel。

2

3.2JDK

3.2.1JDK的功能

JDK是SunMicrosystems针对Java开发员的产品。

自从Java推出以来,JDK已经成为使用最广泛的JavaSDK。

JDK是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。

JDK是学好Java的第一步。

而专门运行在x86平台的Jrocket在服务端运行效率也要比SunJDK好很多。

从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。

3.2.2JDK下载网址

3.2.3JDK的安装步骤

点击“下一步”,出现下图:

点击“下一步”,得到下图

3

3

直接点击“下一步”,出现下图:

完成进度后,得到下图:

点击“关闭”,安装成功

3.3Eclipse

3.3.1Eclipse的功能

Eclipse是Java语言的开发平台,可以为开发者提供各种开发工具的集成,是完全免费的开放源代码软件,最初是IBM公司的产品,后来IBM将Eclipse捐赠给了开源社区,Eclipse具有强大的开发功能,它是靠插件来完成集成开发环境配置的。

3.3.2Eclipse下载网址

http:

//www.eclipse.org/

3.3.3Eclipse的安装步骤

下载完成后直接解压缩,在其文件夹中找到eclipse.exe点击后就能启动eclipse软件。

3.4SunJ2MEWirelessToolKit

3.4.1WTK的功能

4

WTK是Sun的无线开发工具包。

这一工具包的设计目的是为了帮助开发人员简化j2me的开发过程。

使用其中的工具可以开发与JavaTechnologyfortheWirelessIndustry(JTWI,JSR185)规范兼容的设备上运行的j2me应用程序。

该工具箱包含了完整的生成工具、实用程序以及设备仿真器。

3.4.2WTK下载网址

3.4.3WTK的安装步骤

点击“Next”

点击“Accept”

5

默认路径,点击“Next”

点击“Next”

点击“Next”

点击“Next”

6

点击“Next”

点击“Next”

点击“Finish”

3.5EclipseME

3.5.1EclipseME的功能

EclipseME作为Eclipse一个插件,致力于帮助开发者开发J2ME应用程序。

EclipseME并不为开发者提供无线设备模拟器,而将各手机厂商的实用模拟器紧密连接到Eclipse开发环境中,为开发者提供一种无缝统一的集成开发环境。

3.5.2EclipseME下载网址

http:

//eclipseme.org/

3.5.3EclipseME的安装步骤

1、打开Eclipse界面,Help——InstallNewSoftware,接下步骤如图:

7

2、点击“Add”后,如图:

3、点击“Archive”后,出现如下图选择文件:

4、点击OK后,出现下图,点击“SelectAll”,并将最下面的一个勾去掉:

8

5、点击“Next”后,出现下图:

6、然后点击“Next”,出现下图对话框,点击“Iaccept……”:

7、点击“Finish”后,出现下图警告,点击“OK”:

8、出现下图对话框,单击“Yes”:

9、重新启动Eclipse后,点击“Help

9

”可看到EclipseME就代表已安装完成。

3.6Eclipse的汉化

3.6.1EclipseBabelProject

Eclipse有一个Project,叫Babel,官方的描述这样:

Eclipseisaglobalcommunity.Itisineveryone'sinteresttoensurethatEclipseisavailableandtranslatedinasmanylocalesaspossible。

3.6.2EclipseBabelProject下载网址

http:

//www.eclipse.org/babel/

3.6.3EclipseBabelProject的安装步骤

将Eclipse语言包解压缩得到的名为“eclipse”文件夹,其中包含名为“features”和“plugins”的两个子文件夹,在Eclipse安装目录中也可以找到与这两个子文件夹同名的文件夹。

将语言包中的这两子文件夹整体复制到Eclipse安装目录中,覆盖Eclipse安装目录中的同名文件夹。

重启动Eclipse即可看到已经汉化的中文界面。

4J2ME项目构建

4.1项目创建与导入

4.1.1新建J2ME项目

打开Eclipse,文件——新建——项目——J2ME下的J2MEMidletSuite,点击下一步,输入项目名,点击下一步,完成。

上,右击新建——其他——J2ME下的J2MEMidlet,点击下一步,输入名称,完成。

4.1.2J2ME项目工程文件夹结构

4.1.3导入实训项目

10

打开Eclipse,文件——导入——常规中的现有项目到工作空间中,点击下一步,选择根目录,选中项目,点击将项目复制到工作空间中,点击完成。

4.2实训项目功能与模块

4.2.1实训项目功能

在屏幕上的随机位置上出现小球,当小球与四周发生碰撞时,小球弹出。

4.2.2实训项目模块

4.3项目调试与运行

4.3.1运行实训项目

4.3.2配置实训项目

先安装JDK,然后安装Eclipse和WTK,在Eclipse中安装EclispeME的插件,把Eclipse语言包解压缩得到的两个子文件夹整体复制到Eclipse安装目录中,覆盖Eclipse安装目录中的同名文件夹。

4.3.3联网测试实训项目

在联网的情况下进行测试,显示测试结果成功。

11

实训个人小结

这次实训主要是安装J2ME汉化集成软件的开发环境,在J2ME集成开发环境构建完成的基础上,创建J2ME项目,并对其进行运行和调试。

在安装前,根据老师提供的下载网址,将其开发所需的软件一一下载。

刚开始的时候,面对网上许多版本,我们无从下手,并不知道应该下哪个,后来经过同学讨论和询问老师,我们才正确下载了所需的版本。

在安装的时候,因为根据老师提供的步骤,所以并没有遇到太大的问题,一些小问题后来也经过小组讨论和查阅资料解决了。

而我只是在最后汉化过程中出现了问题,由于步骤没有问题,所以自己并找不出错误在哪,后来还是经过同学的发现,才知道是文件包解压时出了错。

总体来说,在安装过程中,还是比较顺利的。

我们创建的J2ME项目是小球碰撞试验,导入程序后,也能成功运行。

总体来说,通过这次的实训,让我们学习到了一些知识。

因为整个试验都是靠自己操作一步一步完成,从安装软件环境到在其环境中运行程序,实训做下来,对自己的操作能力也有所提高。

所以在今后的学习过程中,不仅要学好理论知识,也要多动手提高自己的操作能力。

 

12

致谢

在这次一周的实训任务中我获益良多。

虽然真正实训操作的时间仅仅只有三天却培养了我接受新事物的能力、理论分析的能力、实践操作的能力以及发现并解决问题的能力。

并且,通过这次实训项目开阔了了我的视野,增添了自己挑战的信心,认准了自己努力的方向。

首先,我要由衷地感谢我的指导老师。

在有些地方不懂的时候,老师给予了认真的指导和分析。

针对这次实训的项目从一开始对J2ME不熟悉到现在能够自己实现安装有了很强的优越感。

在次期间,通过参考不同的程序代码,加上自己的想法,进行尝试,锻炼了自己独立思考的能力。

另外,衷心感谢我的小组成员,在实验过程中对我提供的帮助,与他们的探讨交流使我受益颇多。

在与他们的交流中拓展了我的视野和思路,使我能更好的完成这次

实训项目。

 

13

参考文献

1.《javaME实用详解-用Eclipse进行移动开发》刘斌著.电子工业出版社

2.《javaME开发技术原理与实践教程》陈东林等.电子工业出版社

14

附录(源程序代码)

1.

importjavax.microedition.lcdui.Canvas;

importjavax.microedition.lcdui.Command;

importjavax.microedition.lcdui.CommandListener;

importjavax.microedition.lcdui.Displayable;

importjavax.microedition.lcdui.Graphics;

publicclassLuckyBollCanvasextendsCanvas{

privateintx;//球的x坐标

privateinty;//球的y坐标

privateintoffx,offy;//球跳跃的步长

publicbooleanpause;//控制是否结束

publicLuckyBollCanvas(){

offx=offy=10;

x=(this.getWidth()+offx)/2;

y=(this.getHeight()+offy)/2;

pause=false;

this.addCommand(newCommand("Start",Command.OK,1));

this.addCommand(newCommand("Stop",Command.BACK,1));

this.setCommandListener(newCanvasCommand());

}

protectedvoidpaint(Graphicsarg0){//刷新画板

arg0.setColor(255,255,255);

arg0.fillRect(0,0,this.getWidth(),this.getHeight());

//画球

arg0.setColor(0,0,0);

arg0.fillArc(x,y,10,10,0,360);

}

//线程内部类

classLuckyBollThreadimplementsRunnable{

publicLuckyBollThread(){

super();

newThread(this).start()

}

publicvoidrun(){

while(pause){

x+=offx;

y+=offy;

if(x<0){

offx=10;

x=0;

}elseif(x>getWidth()-offx){

x=getWidth()-offx;

15

offx=-10;

}

if(y<0){

offy=10;

y=0;

}elseif(y>getHeight()-offy){

y=getHeight()-offy;

offy=-10;

}

repaint();

serviceRepaints();

try{

Thread.sleep(1000);

}catch(InterruptedExceptione){

e.printStackTrace();

}

}

}

}

//Command内部类

classCanvasCommandimplementsCommandListener{

publicvoidcommandAction(Commandarg0,Displayablearg1{

switch(arg0.getCommandType()){

caseCommand.OK:

System.out.println("oo");//测试

pause=true;

LuckyBollThreadt=newLuckyBollThread();

break;

caseCommand.BACK:

pause=false;

System.out.println("ll");//测试

break;

}

}

}

}

2.

importjavax.microedition.lcdui.*;

importjavax.microedition.lcdui.Display;

importjavax.microedition.midlet.MIDlet;

publicclassMidletextendsMIDlet

{

Displaydisplay;

16

LuckyBollCanvaslbc;

publicvoidstartApp()

{

this.display=Display.getDisplay(this);

this.lbc=newLuckyBollCanvas();

this.display.setCurrent(lbc);

}

publicvoidpauseApp()

{

}

publicvoiddestroyApp(booleanunconditional)

{

}

17

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1