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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(J2ME课程综述Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

J2ME课程综述Word文件下载.docx

1、它们的组合取舍形成了具体的运行环境。Configuration主要是对设备纵向的分类,分类依据包括存储和处理能力,其中定义了虚拟机特性和基本的类库。已经标准化的Configuration有- Connected Limited Device Configuration(CLDC)和Connected Device Configuration(CDC)。Profile建立在Configuration基础之上,一起构成了完整的运行环境。它对设备横向分类,针对特定领域细分市场,内容主要包括特定用途的类库和API。CLDC上已经标准化的Profile有Mobile Information Device

2、 Profile (MIDP)和Information Module Profile(IMP),而CDC上标准化的Profile有Foundation Profile(FP)、Personal Basis Profile(PBP)和Personal Profile(PP)。可选包独立于前面两者提供附加的、模块化的和更为多样化的功能。目前标准化的可选包包括数据库访问、多媒体应用、蓝牙等等。二、J2ME平台体系结构J2ME总共有3层体系。J2ME的3层体系结构依照各种设备的资源特性,将J2ME技术架构分为简表(Profile)、配置(Configuration)和Java Virtual Mach

3、ine(JVM)3层,然后再进一步细分,这使J2ME能够在每一类设备的限制下工作,而同时提供最低限度的Java语言功能性。1、Java虚拟机(JVM)层这一层针对设备本地操作系统定制的Java虚拟机的实现,支持特定的J2ME配置,就像使用所有的Java技术一样,J2ME的核心也在一中虚拟机中。2、配置(Configuration)层面对的是大量各种不同的小型嵌入式设备,它们在外观和功能上均各不相同。J2ME将这些设备进行分类,将一些共同提取出来形成适合于某个范畴中设备的规范,称为“配置”。3、简表(Profile)层简表层定义了特定系列设备上可用的应用程序编程接口(API)的最小集。简表在一个

4、特定的配置上面实现。应用程序时针对特定的简表编写的,因此可以移植到支持该简表的任何设备上。另外,一个设备可以同时支持多个简表。用户和开发人员看到最多的就是这一层。三、J2ME 目标设备 1、CDC支持的设备使用 CDC 开发的 J2ME 应用程序的目标设备通常具有以下特征: 可供 Java 平台使用的 160 到 512 千字节的总内存 功率有限,常常是电池供电 网络连通性,常常是无线的、不一致的连接并且带宽有限 用户接口混乱,程度参差不齐;有时根本就没有接口 2、 CLDC支持的设备一些 CLDC 支持的设备,包括无线电话、寻呼机、主流个人数字助手 (/pda/ PDA),以及小型零售支付终

5、端。依照 Sun Microsystems,CDC 的目标设备通常具有以下特征: 使用 32 位处理器 2 兆字节或更多可供 Java 平台使用的总内存 设备要求的 Java 2 “蓝皮书”虚拟机的全部功能一些 CDC 支持的设备,包括常驻网关、智能电话和通讯器、PDA、管理器、家用电器、销售网点终端以及汽车导航系统。四、MIDlet应用程序的生命周期理解J2ME的体系结构并不像想象的那么容易,我们觉得读更多的资料帮助也不大,我们直接迈向J2ME开发也许会对你解J2ME平台体系结构这个重要的概念有所帮助。在MIDP中定义了一种新的应用程序模型MIDlet,它是被Application Mana

6、gement Software(AMS)管理的。AMS负责MIDlet的安装、下载、运行和删除等操作。AMS控制MIDlet的方法:startApp()、 pauseApp()、destroyApp(boolean);MIDlet主动请求AMS改变其状态的方法:resumeRequest()、notifyPaused()、notifyDestroyed()。在被AMS管理的同时,MIDlet可以和应用管理软件通信通知应用管理软件自己状态的变化,通常是通过方法notifyDestroyed()和notifyPaused()实现的MIDlet有三个状态,分别是pause、active和destro

7、yed。在启动一个MIDlet的时候,应用管理软件会首先创建一个MIDlet实例并使得他处于pause状态,当startApp()方法被调用的时候MIDlet进入active状态,也就是所说的运行状态。在active状态调用destroyApp(boolean unconditional)或者pauseApp()方法可以使得MIDlet进入destroyed或者pause状态。值得一提的是destroyApp(boolean unconditional)方法,事实上,当destroyApp()方法被调用的时候,AMS通知MIDlet进入destroyed状态。在destroyed状态的MIDl

8、et必须释放了所有的资源,并且保存了数据。如果unconditional为false的时候,MIDlet可以在接到通知后抛出MIDletStateChangeException而保持在当前状态,如果设置为true的话,则必须立即进入destroyed状态。其状态转化图如图2所示:五、J2ME、J2SE与J2EE之间的比较在Java中,类库以包(package)的形式提供,不同版本的Java提供不同的包,以面向特定的应用。Java2平台包括标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。1、Java 2平台标准版 (J2SE)Standard Edition(标准版) J2S

9、E 包含那些构成Java语言核心的类。比如:数据库连接、接口定义、输入/输出、网络编程。2、Java 2平台企业版(J2EE) Enterprise Edition(企业版) J2EE 包含J2SE 中的类,并且还包含用于开发企业级应用的类。EJB、servlet、JSP、XML、事务控制。3、Java 2平台微型版(J2ME)Micro Edition(微缩版) J2ME 包含J2SE中一部分类,用于消费类电子产品的软件开发。呼机、智能卡、手机、PDA、机顶盒。他们的关系是:J2SE包含于J2EE中,J2ME包含了J2SE的核心类,但新添加了一些专有类。他们的应用场合、API的覆盖范围各不相

10、同。笼统的讲:J2SE是基础;压缩一点,再增加一些CLDC等方面的特性就是J2ME;扩充一点,再增加一些EJB等企业应用方面的特性就是J2EE。对J2EE更恰当的说,应该是JAVA2企业开发的技术规范,不仅仅是比标准版多了一些类。六、J2ME程序设计的几个原则1、使用面向对象编程虽然使用面向过程编程可以减小文件的尺寸,但是为了以后维护的方便和利于扩展,还是要使用面向对象编程。2、使用MVC模式 将模型、界面和控制分离。现在很多的程序将三者合一,但是如果你做的程序比较大的话,还是建议你进行分离。3、自动存储用户设定使用RMS来存储用户的信息,例如存储用户上次输入的用户名、密码、用户对于系统的设定

11、等,这样不仅可以减少用户的输入,而且对用户友好。很多程序甚至做了自动登陆等。4、设置关闭一些系统设置允许用户关闭,如背景音乐、背景灯显示等。5、使用线程将低级用户界面的绘制动作放在一个独立的线程里面去。6、给定界面在需要大量时间才能完成的工作时,给用户一个等待界面。七、课程设计思路网络开发思路主要是客户端和服务端的设置。在进行无线网络开发时需注意环境配置:将“2013”拷入tomat/webapps双击tomcat/bin里的startup开启服务器。现在就详细的讲解网络程序加自定义协议的程序编写:1、自定协议(最终类或接口)对自定义动作加以区分,制定自己的协议,如:登录1,接到1后服务器验证

12、,将验证结果返回:public final class MyProtocal / public interface MyProtocal public static final byte LOGIN = 0; /登载 public static final byte LIST = 1; /查询 public static final byte INSERT = 2; /插入public static final byte OK= 3;public static final byte ERROR= 4;2、案例(1)描述:登录后,出现主菜单,选择主菜单的查询和插入后分别执行相应的功能:图3预测结

13、果(2)类图:一个主程序类,一个协议,四个屏显图4 类图结构(3)核心代码:客户端:(以登录为例)new Thread()dos.writeByte(MyProtocal.MSG_LOGIN);dos.writeUTF(nameTextField.getString();dos.writeUTF(pwdTextField.getString();dos.flush();byte ms=dis.readByte(); if(ms=MyProtocal.OK) clientMIDlet.display.setCurrent(mainList); .start()服务端:switch(ms) cas

14、e MyProtocal.LOGIN: login(dis,dos);break; case MyProtocal.QUEUE: queue(dis,dos); case MyProtocal.INSERT: insert(dis,dos);dos.close();dis.close();public void login(DataInputStream dis,DataOutputStream dos)String name = dis.readUTF();String pwd=dis.readUTF();if(name.equals(liyi)&pwd.equals(123) dos.wr

15、iteByte(MyProtocal.OK); dos.flush();else dos.writeByte(MyProtocal.ERROR); 具体的程序代码:public class ClientMIDlet extends MIDlet Display display = Display.getDisplay(this); LoginForm loginform = new LoginForm(login,this); public ClientMIDlet() / TODO Auto-generated constructor stub protected void destroyA

16、pp(boolean arg0) throws MIDletStateChangeException / TODO Auto-generated method stub protected void pauseApp() protected void startApp() throws MIDletStateChangeException display.setCurrent(loginform);public class InsertForm extends Form implements CommandListener MainList mainList; ClientMIDlet cli

17、entMIDlet; Command backCommand=new Command(back,Command.EXIT,1); Command insertCommand=new Command(insert,Command.SCREEN,1); TextField scoreTextField=new TextField(score:,10,TextField.ANY); public InsertForm(String title) super(title); this.addCommand(backCommand); this.addCommand(insertCommand); th

18、is.setCommandListener(this); public void setInsertData(MainList mainList,ClientMIDlet clientMIDlet) this.append(welcom +LoginForm.name+,please insert:); this.append(scoreTextField); this.mainList=mainList; this.clientMIDlet=clientMIDlet; public void commandAction(Command c, Displayable d) if(c=backC

19、ommand) clientMIDlet.display.setCurrent(mainList); else new Thread() public void run() try HttpConnection hc = (HttpConnection)Connector.open(http:/localhost:8080/2013/ServerHttpServlet,Connector.READ_WRITE); hc.setRequestMethod(HttpConnection.POST);DataOutputStream dos=new DataOutputStream(hc.openO

20、utputStream(); dos.writeByte(MyProtocal.INSERT); dos.writeUTF(scoreTextField.getString(); dos.flush(); DataInputStream dis=new DataInputStream(hc.openInputStream(); byte ms=dis.readByte(); if(ms!=MyProtocal.OK) Alert alert=new Alert(Insert Rack alert.setType(AlertType.ERROR); alert.setTimeout(Alert.

21、FOREVER); alert.setString(没有插入成功 clientMIDlet.display.setCurrent(alert,InsertForm.this); else alert.setType(AlertType.CONFIRMATION);插入成功 catch (IOException e) e.printStackTrace(); .start(); public class LoginForm extends Form implements CommandListener TextField nameTextField=new TextField(name: Tex

22、tField pwdTextField=new TextField(pwd: Command loginCommand=new Command( static String name=null; static String pwd=null; public LoginForm(String title,ClientMIDlet clientMIDlet) mainList=new MainList(main,Choice.EXCLUSIVE,new String查询插入,null,clientMIDlet); this.append(nameTextField); this.append(pw

23、dTextField); this.addCommand(loginCommand); if(c=loginCommand)HttpConnection hc= dos.writeByte(MyProtocal.LOGIN); dos.writeUTF(nameTextField.getString(); dos.writeUTF(pwdTextField.getString();DataInputStream dis=new DataInputStream(hc.openInputStream(); System.out.println(con:+ms); if(ms=MyProtocal.

24、OK) /将合法的用户名和密码保存起来 name=new String(); name=nameTextField.getString(); pwd=new String(); pwd=pwdTextField.getString(); /跳转到主界面 clientMIDlet.display.setCurrent(mainList); / TODO Auto-generated catch block public class MainList extends List implements CommandListener Command goCommand=new Command(go Que

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

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