J2ME移动软件程序设计第6章
《J2ME程序设计》课程教学大纲

《J2ME程序设计》课程教学大纲一、课程基本情况开课单位:计算机与信息工程系课程编码:适用专业:软件修课方式:必须总学时:68学时考核方式:考试教材:《J2ME移动应用开发》郝玉龙北方交通大学出版社 2006.9教学参考书:《精通J2ME无线编程》,林胜利,中国铁道出版社,2004年二、课程的性质、任务和目的本课程是计算机软件专业的一门专业基础课程,重在培养学生的移动设备实践开发能力,适应软件企业的工作环境和业界标准,并和国际先进的软件开发理念保持同步。
通过本课程学习,学生应该了解并掌握J2ME技术基础,CLDC与MIDP基本概念,熟练应用J2ME技术开发基于移动设备的应用系统或游戏系统,并了解移动增值业务系统的开发基础。
学习本课程学生应达到如下要求或能力:1、掌握J2ME技术基础以及CLDC与MIDP的基本概念2、熟练应用J2ME技术编写简单应用软件系统3、熟练应用J2ME技术编写简单游戏4、了解无线增值业务(如SMS)应用系统的开发三、课程的主要内容和学时分配(一) 主要内容第1章 J2ME概述 2学时1.1 J2ME简介1.2 J2ME架构1.3 技术规范第2章 Hello World 2+2学时2.1 第一个实例2.2 J2ME程序开发流程2.3 代码解释2.4 JBuilder 9的配置2.5 使用JBuilder 9开发Hello World第3章 MIDlet和MIDlet Suite 4+2学时3.1 MIDlet概述3.2 MIDlet的打包3.3 MIDlet的生命周期3.4 MIDlet的安全管理第4章 MIDP用户界面——高级API 6+2学时4.1 MIDP用户界面概述4.2 高级API详述4.3 开发实用程序第5章 MIDP用户界面库——底层API 8+4学时5.1 Canvas类概述5.2 设备及屏幕属性5.3 基本作图属性设置5.4 基本图形操作5.5 剪切区操作5.6 输入处理5.7 多线程5.8 定制Item5.9 开发实用程序第6章 MIDP游戏编程 6+4学时 6.1 游戏API概述6.2 GameCanvas类6.3 LayerManager和Layer6.4 Sprite6.5 TiledLayer6.6 游戏设计第7章 MIDP网络编程 8+4学时 7.1 通用连接框架7.2 输入输出流7.3 HTTP协议7.4 使用HttpConnection编程7.5 Socket编程7.6 无线消息传递7.7 PushRegistry7.8 网络安全和MIDlet的签名认证第8章永久存储 4+2学时 8.1 永久存储概述8.2 RMS基础8.3 账务管理程序附录A J2ME开发基本环境设置 2+2学时 A.1 获取软件包A.2 软件包安装与配置A.3 J2ME网络资源附录B CLDC概述 2+2学时 B.1 CLDC的目标和功能B.2 CLDC 1.1与CLDC 1.0的区别B.3 CLDC的安全要求B.4 CLDC中虚拟机的变化B.5 CLDC中的类库附录C MIDP概述 2+2学时 C.1 MIDP的范围和软硬件要求C.2 MIDP的包概述C.3 MIDP的部署-Over-The-Air (OTA)C.4 MIDP程序的效率Borland认证课程介绍(二) 学时分配四、课程教学基本要求及重点1.J2ME概述了解J2ME的基本概念,开发架构以及采用的规范,掌握J2ME开发所需基本条件以及开发环境所需软件基础。
《 移动编程技术》课程教学大纲 .doc

GDOU-B-11-213《移动编程技术》课程教学大纲课程简介课程简介:本课程概述了J2ME体系结构、J2ME平台中的两种配置类型CDC和CDLC,介绍了J2ME无线工具箱的结构及J2ME中两种测试环境:命令行和可视化环境。
详细介绍了使用MIDP特征和CDLC配置的应用MIDlet及MIDlet中的GUI编程、I/O编程、MIDlet-Servlet通信、MIDP RMS处理;以及移动Web应用程序的部署和定制移动Web应用程序。
课程大纲一、课程的性质与任务:本课程是软件专业本科生的一门应用性较强的课程。
本课程从Java编程语言着手,按照J2ME开发的特点,系统地阐述了MIDP1.0,CLDC以及一些通用软件开发环境及其设计思想等。
使学生掌握J2ME的开发和部署无线应用。
二、课程的目的与基本要求:1了解J2ME及MIDP的基本概念;2掌握利用Java进行J2ME开发的基本流程和工具;3掌握J2ME中的基本类库、界面设计、IO、数据存储、多线程、网络编程等技术;4能够设计和开发出基本的应用程序。
三、面向专业:软件工程专业四、先修课程:先修课程:Java程序设计五、本课程与其它课程的联系:本课程是以先修的Java程序设计为基础,及编程思想是一致的,J2ME是在J2SE上的扩展。
六、教学内容安排、要求、学时分配及作业:第一章J2ME(4学时)1 J2ME平台(C)2 J2ME体系结构(A)3 J2ME中的配置类型(C)4 移动信息设备特征(MIDP)(C)5 J2ME无线工具箱(Wireless Tookit)的结构(C)6 J2ME应用的测试环境(B)7 Ktoolbar环境的基础(C)第二章 MIDlets(4学时)1MIDlets(C)2MIDlets的生命周期(C)3开发MIDlets的不同阶段(C)4编码MIDlets(A)5编译MIDlets(C)6预检验和调试MIDlets(C)7打包MIDlets(B)8在J2ME环境中测试和执行MIDlets(B)9MIDP GUI编程的命令类(A)第三章CLDC和MIDP(2学时)1 CLDC类属连接框架(B)2 MIDP体系结构(B)3 MIDP中类和接口(A)4 数据类型wrappers(C)5 运行时环境(C)6 MIDP中日期和时间(C)第四章 MIDlets中的GUI编程(4学时)1 MIDP中GUI实用程序(B)2 编码MIDP GUI应用(A)3 命令类和它的功能(C)第五章 MIDlets中的I/O管理(2学时)1 J2ME中连接类(B)2 J2ME中输入和输出类(A)3 J2ME与XML集成(C)第六章 MIDlets-Servlet通信(4学时)1 Servlets在MIDlet编程中的作用(C)2 实现MIDlets-Servlet通信的类(A)3 MIDlets-Servlet集成(C)第七章 MIDP RMS(4学时)1 MIDP RMS及包中的类和接口(A)2部署RMS的MIDP 所用的类(B)3 操纵记录(C)4 编程实例(A)第八章 J2ME功能(2学时)1 J2ME使能设备(C)2 J2ME与其它Java技术汇集(C)3 J2ME在Gadget编程中的作用(C)第九章部署移动Web应用程序(4学时)1 移动Web应用程序简介(C)2 Mobile Internet Designer简介(C)3 用MID创建移动Web应用程序(A)4 移动Web应用程序的执行(B)5 移动Web应用程序的数据管理(B)第十章定制移动Web应用程序(2学时)1 移动Web窗体空件的类型和功能(B)2 设备能力组件的运行时名空间(C)3 特定设备输出方法(C)4 确定移动设备的能力(C)5 用模版集配制设备Web应用程序(B)第十一章 WAP概述(2学时)1 WAP引言(C)2 WAP体系结构(A)3 WAP协议栈(B)4 WAP的组件(A)5 WAP资源(C)第十二章 WML和WMLScript(2学时)1 WML结构(A)2 卡片和卡片组元素(C)3 用WML处理卡片(B)4 WML脚本引言(B)七、实验名称与类别:注:实验类别指:演示型、操作型、验证型、综合型、设计型、研究创新型八、实验目的、内容与要求实验1 J2ME的安装与配置实验目的:了解J2ME所需要的软件和安装实验内容:1 安装J2SE2 配置J2SE环境变量3 安装J2ME4 配置J2ME环境变量5 熟悉无线开发工具包实验要求:正确安装和熟悉软件实验2用命令行环境开发MIDLETS实验目的:了解MIDLET的开发过程实验内容:1 编码MIDLET2 编译MIDLET3 预检验MIDLET4 打包MIDLET5 测试MIDLET实验要求:正确运行MIDLET实验3用KTOOLBAR开发MIDLETS实验目的:了解MIDLET的开发过程实验内容:1 确定不同的命令和要用的接口2 编译MIDLET3 执行MIDLET实验要求:正确运行MIDLET实验4用特定的MIDP API开发MIDLETS实验目的:了解MIDP API并使用它开发MIDLETS 实验内容:1 确定要用的包、类和接口2 编写代码3 构造和执行此代码实验要求:正确运行MIDLET实验5部署不同的MIDP GUI API实验目的:了解MIDP GUI API和掌握部署过程实验内容:1 确定所需要的基类2 确定需要的命令3 确定需要的API4 编写程序代码5 执行程序实验要求:正确运行程序实验6连接MIDLET到文本文件和检索数据实验目的:掌握MIDLET的连接和数据的检索实验内容:1 确定要用的包、类和接口2 编写代码3 运行J2EE服务器4 构建和执行程序实验要求:正确运行程序实验2用命令行环境开发MIDLETS实验目的:了解MIDLET的开发过程实验内容:1 编码MIDLET2 编译MIDLET3 预检验MIDLET4 打包MIDLET5 测试MIDLET实验要求:正确运行MIDLET实验7实现MIDLETS和SERVLETS之间的通信实验目的:掌握实现MIDLETS和SERVLETS之间的通信的编程方法实验内容:1 确定要用的包、类和接口2 编写处理数据库的servlet代码3 编译servlet并部署4 编写创建类代码,该类将使MIDLET建立与HTTP连接5 编写创建将连接到servlet的MIDLET代码6 构建和执行代码实验要求:正确运行程序实验8编写实现RMS的MIDLET程序实验目的:掌握RMS API的部署并编写应用程序实验内容:1 创建输出格式2 确定使用的方法3 编码实现RMS的应用程序4 执行程序实验要求:正确运行程序九、教材与参考书:本课程选用教材:J2ME NIIT,NIIT,2001.NET MOBILE, NIIT,2001WAP PROGRAMMING, NIIT,2001本课程推荐参考书:1 J2ME技术手册 Kim Topley 著张伶,林琪译. 中国电力出版社2 J2ME 手机游戏开发技术详解李振鹏,龚剑. 清华大学出版社十、本课程理论课及实验课的考核方式:理论课考核方式:考试实验课考试方式:验证型实验现场检查;综合型实验现场检查和查阅实验报告书执笔:审核:批准人:时间:。
J2ME移动应用开发——MIDP高级界面编程

}//2、重写方法
在此之前先要声明并实例化”电话本”窗体对象: private Form frmPhone; frmPhone = new Form(“电话本”);
frmMain.setCommandListener(this);//3、在 startApp中将监听器注册到UI组件
2、在构造方法中,实例化按钮对象
3、在startApp中,将按钮对象添加到主界面
第7页共10页
第2-2步 添加按钮响应
public class MainFrame extends MIDlet implements CommandListener//1、实现接口 public void commandAction(Command arg0, Displayable arg1) { if(arg0==cmdPhone)
frmPhone.append(tfName);
第9页共10页
第4步 向“电话本”界面添加“添加”按 钮cmdAdd并处理“添加”按钮响应
第4-1步:向“电话本”界面添加“添加”按钮(同 第2-1步) 1、在类体中,声明按钮对象 private Command cmdAdd; 2、在构造方法中,实例化按钮对象 cmdAdd = new Command(“电话 本”,Command.SCREEN,1); 3、在startApp中,将按钮对象添加到主界面 frmPhone.addCommand(cmdAdd); 第4-2步:处理“添加”按钮响应代码(同 第2-2步) 1、在commandAction方法中,添加如下代码 else if(arg0==cmdAdd) System.out.println("姓名:"+tfName.getString()); 2、给frmPhone窗体注册按钮监听器 frmPhone. setCommandListener(this);
J2ME移动应用开发课程设计 (2)

J2ME移动应用开发课程设计1. 简介随着移动互联网的飞速发展,移动应用的重要性越来越突出。
Java平台微型版(Java 2 Platform, Micro Edition, J2ME)是一种专门针对嵌入式设备制定的Java平台,可用于开发移动设备上的Java应用程序。
本课程设计旨在介绍J2ME 移动应用开发的基础理论和实践技术,帮助学生熟悉J2ME平台,掌握常用的应用程序开发技术,提升移动应用开发水平。
2. 学习目标1.了解J2ME平台的基础知识和发展历程。
2.熟悉J2ME开发环境的配置和使用。
3.掌握J2ME移动应用程序的基本开发技术。
4.能够开发一个简单的J2ME移动应用程序。
3. 课程安排3.1 第一周:J2ME平台介绍主要内容:J2ME平台概述、J2ME体系结构、J2ME应用程序类型、J2ME与J2SE 的区别与联系。
3.2 第二周:J2ME开发环境搭建主要内容:J2ME开发环境介绍、J2ME IDE Eclipse的安装与配置、J2ME手机模拟器的安装与使用、J2ME开发的准备工作。
3.3 第三周:J2ME应用程序开发基础主要内容:J2ME应用程序的结构、J2ME应用程序的生命周期、J2ME界面设计与事件处理、J2ME应用程序的调试与测试。
3.4 第四周:J2ME应用程序开发实践主要内容:基于J2ME平台的应用程序开发实践,包括聊天室、计算器、迷宫游戏等。
3.5 第五周:课程总结与展望主要内容:对本课程进行总结,回顾学习内容,展望J2ME应用程序开发的前景和发展。
4. 课程设计要求1.学生需要在规定时间内完成J2ME应用程序开发的任务,提交所开发应用程序的源代码和应用程序截图。
2.学生需要在课堂上积极参与讨论、提问和答辩环节,了解和掌握相关知识和技能。
3.学生需要在考核环节中完成J2ME应用程序的演示和答辩,展示自己的学习成果。
5. 参考文献1.《J2ME移动应用开发实践》(高文华等著)2.《Java平台微型版Java ME程序设计》(徐鸿义等著)3.《J2ME入门经典》(曹天元等著)。
J2ME手机游戏程序教程

第1章J2ME 技术概述1.1 什么是J2ME1.2 J2ME平台体系结构1.3 MIDlet应用程序的生命周期第1 章J2ME 技术概述随着移动通信的突飞猛进,移动开发这个新鲜的字眼慢慢成为开发者关注的热点。
在CSDN的最近一份调查显示,有24.34%的受访者涉足嵌入式/移动设备应用开发,这个数字可能略高于实际的比例,但也足可说明嵌入式/移动设备应用开发是一块诱人的新鲜奶酪。
J2ME(Java 2Micro Edition)是嵌入式/移动应用平台的王者,Linux 和WinCE 分列二、三位。
Nokia 等厂商力推的Symbian 平台目前开发者占有率尚未达到满意水平,考虑到调查项合并了嵌入式设备(例如PDA)和移动设备(例如智能手机),Symbian、WinCE 系列在移动平台上会是竞争的主要两方。
如果厂商能在标准实现上做得更加规范,则J2ME 的跨平台特性会发挥得更加淋漓尽致,继续保有王者地位。
本章将从J2ME 的体系结构和MIDlet 应用程序模型。
1.1 什么是J2ME学习J2ME 以前知道什么是J2ME 是非常重要的。
J2ME 是SUN 公司针对嵌入式、消费类电子产品推出的开发平台,与J2SE 和J2EE 共同组成Java 技术的三个重要的分支。
J2ME 实际上是一系列规范的集合,由JCP 组织制定相关的Java Specification Request(JSR)并发布,各个厂商会按照规范在自己的产品上进行实现,但是必须要通过TCK 测试,这样确保兼容性。
比如MIDP2.0 规范就是在JSR118 中制定的。
可能接触过J2ME 的开发者会觉得说J2ME 是一系列的规范不准确吧。
因为我们在开发中用到了很多例如CLDC(Connected Limited Devices Configuration)和MIDP(Mobile Information Devices Profile)等内容。
【设计】参考j2me应用开发课程设计报告书

【关键字】设计《J2ME应用程序开发》课程设计报告书题目:赛车游戏专业:计算机科学与应用系学号: 3学生姓名:李阳坡指导教师:臧利萍完成日期:2013年12月23日目录一前言1.1引言随着科学技术的发展,手机已经成为人们生活中的必需品。
手机的普及,特别是智能机时代的到来,手机软件的开发也成了必不可少。
如何通过手机来吸引消费者的眼球,已经成为让很多商家之间的竞争热点。
其中手机游戏也成为了其中的重大分支,如何让以前只能在电脑上的玩的游戏变成让人们随时随地都能玩的手机游戏已经成为现在游戏开发的主流。
J2ME的普及为手机游戏的发展提供了最适合的土壤。
因为JVM的平台无关性使得标准的J2ME游戏几乎可以在所有内置了JVM的手机上运行,一方面提高了游戏的传播性,另一方面提高了开发者的积极性。
于是逐渐开始有第三方公司专门从事J2ME游戏的开发,形成了手机游戏产业化。
随着硬件水平的发展,手机游戏也一改往日的朴素形象,开始加入了更多的媒体元素,由最早的黑白两色、单音发展到了彩色动画与和弦音效甚至3D加立体声,手机厂商甚至推出了专门的游戏手机,如诺基亚的N-Gage。
然而更多的情况下,手机只是PC与游戏机的一种替代。
条件满足的话,人们肯定更愿意选择速度与交互性都更加出色的后者。
与之相比,手机游戏最大的优势便是其易携性与网络支持性。
因为它的易携,使得它可以满足人们随时随地玩游戏的需求,是无聊时打发时间的最好选择。
至于网络支持性,在目前网络带宽有限的情况下优势还不明显,预计在将来成为手机网游发展的最大助力。
基于以上差别,目前最有可能成功的手机游戏就是那些临时小游戏,它可为广泛的玩家在所有的社交场合提供娱乐。
1.2 J2ME简介概述Java ME(Java Platform,Micro Edition)是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供Java语言平台,包括虚拟机和一系列标准化的Java API。
它和Java SE、Java EE一起构成Java技术的三大版本,并且同样是通过JCP (Java Community Process)制订。
J2ME移动软件程序设计课程设计

J2ME移动软件程序设计课程设计1. 概述本课程设计旨在帮助学生掌握使用J2ME平台进行移动应用程序设计的基本技能和方法,同时通过设计与实现一个实用的移动应用程序,培养学生的软件开发能力和实践经验。
2. 设计目标本课程设计的主要目标包括:1.熟悉J2ME移动应用程序设计的基本概念和技术,包括MIDP(MobileInformation Device Profile)和CLDC(Connected Limited DeviceConfiguration)等;2.掌握J2ME移动应用程序开发的基本流程和方法,包括需求分析、设计、编码、测试和发布等;3.实现一个具有实用性的J2ME移动应用程序,提高学生的软件开发能力和实践经验。
3. 设计内容本课程设计主要包括以下内容:3.1 需求分析根据学生自由选择的主题,进行移动应用程序的需求分析,包括功能需求和非功能需求等。
3.2 概要设计根据需求分析的结果,进行移动应用程序的概要设计,包括界面设计、数据结构设计和算法设计等。
3.3 详细设计根据概要设计的结果,进行移动应用程序的详细设计,包括界面设计、模块设计和接口设计等。
3.4 编码实现根据详细设计的结果,进行移动应用程序的编码实现,包括编写程序代码、进行调试等。
3.5 测试和发布对移动应用程序进行测试和调试,并将其发布到相关的移动设备或应用商店中。
4. 设计要求本课程设计要求学生:1.自主选择移动应用程序的主题,体现创造性和实用性;2.遵循软件工程的基本原则,进行需求分析、设计、编码、测试和发布等环节;3.选择合适的开发工具和技术,包括J2ME开发环境、Java编程语言等;4.给出详细的开发文档和用户使用手册,方便其他人理解和使用。
5. 实现步骤本课程设计的实现步骤如下:1.进行主题的选择和需求分析;2.进行应用程序的概要设计;3.进行应用程序的详细设计;4.进行应用程序的编码实现和测试;5.发布应用程序并总结经验教训。
J2ME课程标准

《J2ME程序设计》课程标准一、概述(一)课程性质《J2ME程序设计》课程是江苏省五年制高职软件技术专业的专业实训课程JA V A分支第六学期的一门必修专业技术课程。
要求学生在进入本模块学习之时已经学过了《编程逻辑》、《SQL SERVER数据库及应用》、《面向对象程序设计(C#)》、《软件开发生命周期》等前期课程,有了完整的面向对象程序开发的基础,熟悉面向对象语言,能独立开发桌面数据库应用程序。
(二)课程基本理念JA V A语言是当今最流行的编程语言,手机、PDA等掌上移动设备的发展也是极快,随着3G网络的逐渐开放使用,手机平台的软件开发必然称为新的热点。
《J2ME程序设计》就是随着时代的发展应运而生的课程。
通过这门课的学习,同学对JA V A语言的跨平台特性有更深入的了解,对掌上移动设备的操作系统以及网络连接模式也有充分的认识。
(三)课程设计思路由于本课程与《J2SE程序设计》并行开设,学习初期学生对JA VA语言特征较为陌生,因此本课程的标准制定采用案例教学法。
课程中以理论和实践相结合,以实践引出理论并增进理论理解的方式进行教学,多采用浅显易懂的案例讲解如何开发MIDP程序,突出熟练度训练,强调多动手、多实践。
本课程注重学生创新能力的培养。
建议本课程学期课时数为64学时,其中实训课32学时。
各校可实施周课时4学时的计划,或者可与《J2SE程序设计》课程串联,安排在完成《J2SE程序设计》课程之后于学期后半开设,但必须于第六学期结束本课程教学。
二、课程目标1、总目标(1)理论知识方面了解并掌握J2ME环境体系架构及CLDC和MIDP规范的基础知识,对3G网络有一定的认识,熟悉无线网络环境下的数据交换方式及其原理,了解手机等手持移动设备的多媒体功能并且对游戏开发有初步认识。
(2)实践能力方面能够搭建相应的开发平台,掌握MIDLet编程,掌握MIDP高级用户界面设计,MIDP低级用户界面设计,MIDP游戏程序设计,MIDP多媒体程序设计,MIDP数据管理程序设计,MIDP 网络程序设计。
J2ME应用程序开发指南

简介简介使用Java编写Palm OS程序的解决方案(1)现在,使用Java语言为Palm OS编写程序的领域还没有完全统一,并且也有许多程度上的差异,目前,市面上有好几种不同的可用的应用程序接口,每种应用程序接口都给出了一个到当前的Palm OS应用程序不同程度的访问权限。
也许这其中大家最熟悉的是Sun微系统出品的产品;但是能够为Palm OS写程序的绝不只有这一种产品。
本文这一部分并不是介绍使用Java编写Palm程序的教程--因为每种我们将要讨论的解决方案都有自己的要求和值得注意的地方--而是一篇向开发者概括介绍开发工具的的文章,我们将纵观这一领域,找出在使用Java语言开发Palm OS应用程序时,你应该使用什么工具以及你又能够得到什么。
一、Sun的解决方案:KVM、Configuration和ProfileKVM是Kilobyte Virtual Machine (千字节虚拟机),那么命名是因为它的内存大小是以千字节来量度,而不是像Java虚拟机那样需要兆字节。
因为有这么苛刻的内存要求,KVM的功能只是完整JVM的的子集。
你可以从Javasoft站点上找到全部的信息,但是值得注意的是它遗漏了映射(reflection)、JNI和自定义类装载器以及一个可变的安全机制。
Sun已经制订一个计划,提供了configuration和profile来满足设备程序设计的需要。
configuration是一个应用程序接口,是设计来提供一个基础,用于一类广泛的一般的设备,所有的这些设备都有相似的特性,比如说有限的内存,偶然性强的网络连接性,低电力消耗,可运行在电池上,所以,J2Me被设计得既一般又抽象。
现在Java 2 Micro Edition(J2ME)可用的configuration有CLDC(Connected,Limited Device Configuration)和CDC (Connected Device Configuration)两种,后者用于比Palm功能更强大的设备,这就超出了我们讨论的范围;而前者,代表有限连接设备配置,是像PDA,双通道呼叫器以及移动电话。
基于J2ME手机移动课程表的设计与实现

到 星期 日的上课信 息 。 从上 面 的需 求 分 析 可 知 , 动课 程 表 查 询 系 移 统主 要包 括 了课程 表查 询和课 程 表设 置两 个大 的 功能模 块 , 在主 界 面下可 设计 对应 的 3个菜 单 , 其 逻辑 模块框 图如 图 2所 示 , 系统 以主界 面为 依据 ,
Opi a pca e( 选 包 ) t n l akg s可 o
随着科 学技 术 的发 展 , 机 软 件 业 务 发 展 迅 手
速 , 调查 , 机各 种 业 务 功 能 中 , 据 手 除话 音 、 信 、 短
电话簿 或记 事方 面使 用 之 外 , 有 专 门~ 款 适 用 没 于提醒 学 生上课 信 息 的软件 。在 青 岛职业 技术 学 院移 动 学 习 课 题 背 景 下 , 文 提 出 一 种 基 于 本 JME手 机移 动 课 程 表 查 询 系 统 , 2 以手 机 为 载 体
醒 开关 是否 打开 等 。系统 介绍 给 出了移动 课程 表
系统的相关介绍信息 。
三 、 面设计 及 主要方 法 界
3设 置课 程信 息 ( 括 课 程 名 称 、 课 教 师 、 . 包 授
上课 地点 ) 。
4设 置闹 钟提 醒开关 是 否打 开 。 .
为了实现数据信息 的存储 , 以分别使用以 可
Jv r a Mahn sJv 虚 拟 机 ) aaVi u l c ie(aa t
Ho t eaigS se 主机操作 系统 ) s Op rt ytm( n
图 1 2 E体 系 结构 J M
( ) 二 系统 总 体 架 构
( ) 动课程 表 开发 平 台 一 移
移动课 程 表查 询系 统是 一个 主要 面 向学生 的 单 机 版 J ME手机 应 用 系 统 , 生 在 学 期 初将 课 2 学
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
china_54@
J2ME移动软件程序设计
open()方法的三种形式: open(String name) open(String name, int mode) open(String name, int mode, boolean timeouts) open()方法的参数: name包含三个部分:protocol、target和params。 mode 参 数 描 述 了 打 开 连 接 的 三 种 通 信 模 式 , Connector.READ 、 Connector.READ_WRITE 和 Connector.WRITE 。 timeouts 参数指定了调用 open() 方法后超时失败的时 间长短。若到了超时时间仍没有建立连接,open()方
china_54@
J2ME移动软件程序设计
检查数据发送结果 • int rc = conn.getResponseCode(); • if( rc == HttpConnection.HTTP_OK ){ • // safe to process the response • } else { • // deal with errors, warnings, redirections, etc. • } 如 果 Web 服 务 器 返 回 的 状 态 代 码 不 是 HttpConnection.HTTP_OK ,就表示可能在数据传输的 过程中出现了错误,那么 MIDlet 就应该重新向 Web服务 器发送数据。
J2ME移动软件程序设计
第6章
J2ME网络编程
china_54@
J2ME移动软件程序设计
知识点:
J2ME的网络连接框架 HTTP协议概述 使用HTTP协议发送和接收数据 网络通信中的数据加密 网络通信中的常用实例
本章导读:
本章将主要介绍J2ME中支持网络通信的类和接口, 重点介绍最重要的通信方法——HTTP通信,以及网络编 程中的数据加密问题,并讲解实用网络编程的例子。
法就会抛出一个InterruptedIOException异常。
china_54@
J2ME移动软件程序设计
J2ME中支持的通信协议
协议名称
file
描
使用本地文件I/O进行通信
述
socket comm
Datagram
使用socket进行通信 使用串行通信协议进行通信
使用UDP协议进行通信
http
使用HTTP协议进行通信
china_54@
J2ME移动软件程序设计
各种通信模式的例子
HTTP通信: Connection hc = Connector.open(""); 基于连接的socket通信: Connection sc = Connector.open("socket://localhost:9000"); 基于数据报的socket通信: Connection dc = Connector.open("datagram://localhost:9000/localhost/:9000"); 串口通信: Connection cc = Connector.open("comm:0;baudrate=9000"); 文件I/O: Connection fc = Connector.open("file://foo.dat");
china_54@
J2ME移动软件程序设计
6.1.2 J2ME支持的网络协议
Connector 对象中包含了一系列基本函数,以建立连接 进行通信。 open() openDataInputStream() openDataOutputStream() openInputStream() openOutputStream()。
J2ME移动软件程序设计
设 置 HTTP 头 : 在 MIDP 规 范 中 规 定 了 必 须 设 置 UserAgent和Content-Language头。 • conn.setRequestProperty( "User-Agent", "Profile/MIDP-1.0 Configuration/CLDC-1.0" ); • conn.setRequestProperty("Content-Language", "enUS" );
china_54@
J2ME移动软件程序设计
6.2.4与 HTTP协议相关的方法
从HTTP通信附加的头中获得信息的方法: getDate() getExpiration() getFile() getHeaderField() getHeaderField() getHeaderFieldDate() getHeaderFieldInt() getHeaderFieldKey() getLastModified()。
china_54@
J2ME移动软件程序设计
HttpConnection ContentConnection
StreamConnection
StreamConnectionNotifier
DatagramConnection n
InputConnection
OutputConnection
china_54@
J2ME移动软件程序设计
从URL中获得各个信息部分 GetHost() getPort() getProtocol() getQuery() getRef() getRequestMethod() getRequestProperty() getResponseCode() getResponseMessage() getURL()
china_54@
J2ME移动软件程序设计 6.3 使用HTTP协议发送和接收数据
6.3.1 HTTP协议通信模型
HTTP 协议是一个请求 —— 响应型的协议,在发送请求 时必须同时发送请求所需要的数据。 数据发送的方式:GET和POST
在 GET 方式下,表单的数据被当作 URL 的一部分被发送 到Web服务器的QUERY_STRING环境变量中。GET方式 只能传送编码的文本信息,并且传送的数据大小有限制。 在 POST 方 式 下 , 表 单 的 数 据 被 当 作 服 务 器 的 Input Stream 来 进 行 传 送 , 数 据 的 长 度 存 放 在 CONTENT_LENGTH 环境变量中。可以传递任意格式的 数据(包括二进制格式的数据),并且传送的数据没有大 小限制。
• • • • • • • • • • • • import java.io.*; import javax.microedition.io.*; try { String url = ....; // a URL HttpConnection conn = (HttpConnection) Connector.open( url ); conn.setRequestMethod( HttpConnection.POST ); ..... // other code here } catch( IOException ioe ){ china_54@ // handle I/O errors }
china_54@
J2ME移动软件程序设计 6.1 J2ME的网络连接框架
6.1.1 J2ME的网络连接层次
javax.microedition.io包的目的是实现通用的网络通信和 本地I/O 。 javax.microedition.io 里包含了一个类、 9 个接口和一个 异常
Connection
图6-1 javax.microedition.io中接口的层次关系 china_54@t来自J2ME移动软件程序设计
Connection接口:提供了打开连接和关闭连接的功能。 InputConnection接口是从Connection接口派生出来的, 代表了从一个连接上读取数据。 StreamConnection 接口:从 InputStreamConnection 和 OutputStreamConnection 派 生 出 来 的 , 提 供 InputStream和OutputStream两种连接功能。 ContentConnection 接口:在 StreamConnection 接口的 基础上派生出来的,并且添加了一些自己的方法。 StreamConnectionNotifier 包 含 了 一 个 扩 展 的 方 法 : acceptandOpen() 。 acceptandOpen() 返 回 一 个 StreamConnection,代表在服务器上打开的 socket连接。
china_54@
J2ME移动软件程序设计
6.2.2与 I/O 相关的方法
当一个 HttpConnection 对象建立连接以后,可以使用 openDataInputStream() 和 openDataOutputStream() 方
法来打开这些通信流。
china_54@
china_54@
J2ME移动软件程序设计 6.2 HTTP协议概述
6.2.1 HttpConnection类
使用HttpConnection类可以使MIDlet通过HTTP协议与外 界进行通信。 HTTP 协议是最主要的通信协议之一,所有厂商的设备 都支持HTTPConnection。 可以使用 socket 或 datagrams 协议与外界进行通信,但
是使用这些协议可能有程序移植上的问题。
china_54@
J2ME移动软件程序设计
HttpConnection接口是从ContentConnection接口扩展来 的 继承了StreamConnection中所有的I/O流通信方法 继承所有ContentConnection的MIME处理方法 添加一些处理HTTP协议的特殊方法。