j2me

时间:2024-05-12 12:00:23编辑:揭秘君

android与j2me、j2ee有什么关系?

j2me、j2ee是Java演化出不同的应用平台,都属于java的三大体系,共有三个,包括:1、J2SE (Java 2 Platform Stand Edition) java 的标准版,是基础,用来做桌面程序开发的。2、J2EE (Java 2 Platform Enterprise Edition ) java企业版本,定义一系列的服务,API,协议等,使用与开发分布式,多层式,以组件为基础,以Web为基础的应用程序。做企业项目一般用这个,主要是Web开发。 3、J2ME (Java 2 Platform Micro Edition ) 这个一般都用在手机等微型数字设备开发及部署应用程序平台上,移动终端程序开发的,也就是常说的Java 手机游戏之类。扩展资料:JDK(Java Development Kit)称为Java开发包或Java开发工具,是一个编写Java的Applet小程序和应用程序的程序开发环境。JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一些Java工具和Java的核心类库(Java API)。不论什么Java应用服务器实质都是内置了某个版本的JDK。主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如,IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK。另外,可以把Java API类库中的Java SE API子集和Java虚拟机这两部分统称为JRE(JAVA Runtime Environment),JRE是支持Java程序运行的标准环境 。JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。而JDK里面已经包含了JRE,因此只要安装了JDK,就可以编辑Java程序,也可以正常运行Java程序。但由于JDK包含了许多与运行无关的内容,占用的空间较大,因此运行普通的Java程序无须安装JDK,而只需要安装JRE即可。参考资料来源:百科百科-JAVA

j2me 的重点是什么?

重点,个人觉得吧:1.J2ME属于JAVA,那么***面向对象编程***是个重点。利用对象会让你的编程变得更有灵活性,可变性,扩展性等,那么它就是个重点 2.J2ME出要运用于微型设备,比如说运用广泛的手机。那么***网络***是个重点 3.由2可知,运用了网络,就会用到流,那***流***就是个重点 4.运用了流,要读取数据难免会从网络或本地读取数据以备下次使用,那么就少不了RMS,那么***RMS存储***也是个重点 5.剩下的就是做一些界面,有界面就有难免会有交互,那高级界面(简单,灵活)可以说是你的必备之选,那么***高级界面***是个重点 6.说了5,就想再说一点:如果想对界面做随心所欲的改变,那就得了解低级低级啦,只要继承Canvas类,然用就可以用画笔(Graphics)画出你想要的一切啦!那么***低级界面***也是个重点吧 7.最后对你的程序进行优化(记住微型设备的内存可很小哦),***防止内存泄漏***!呵呵,个人的一点看法,供参考!


J2ME的几个问题

1、什么是J2ME?(10分)
Java ME 以往称作J2ME(Java Platform,Micro Edition),是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的Java API。

2、简述J2ME的体系结构(10分)
JAVA ME的架构分为Configuration、Profile和Optional Packages(可选包)。它们的组合取舍形成了具体的运行环境。   Configuration主要是对设备纵向的分类,分类依据包括存储和处理能力,其中定义了虚拟机特性和基本的类库。已经标准化的Configuration有- Connected Limited Device Configuration(CLDC)和Connected Device Configuration(CDC)。   Profile建立在Configuration基础之上,一起构成了完整的运行环境。它对设备横向分类,针对特定领域细分市场,内容主要包括特定用途的类库和API。CLDC上已经标准化的Profile有Mobile Information Device Profile ( MIDP)和Information Module Profile(IMP),而CDC上标准化的Profile有Foundation Profile(FP)、Personal Basis Profile(PBP)和Personal Profile(PP)。   可选包独立于前面两者提供附加的、模块化的和更为多样化的功能。目前标准化的可选包包括数据库访问、多媒体、蓝牙等等。


3、什么是MIDlet的生命周期,它包括哪几种状态?(10分)
当MIDlet被应用程序管理器成功地初始化之后,就开始展开了它的生命周期。MIDlet的生命周期完全由应用程序管理器控制,也就是说,当MIDlet要从一个状态变成另外一个状态时,应用程序管理器会调用对应的回调函数(call back,也就是MIDlet类定义的那三个抽象方法)。基本上,MIDlet有三种状态,分别是停止状态(Paused)、激活状态(Active)以及消灭状态(Destroyed)。MIDlet一开始一定是先进入停止状态,然后应用程序管理器再将它转换成激活状态,然后调用startApp()。



4、简要说明下列组件的作用(40分)
⑴、TextBox
全屏文本输入框,用于输入较大段的文本或任何字符型的数据

⑵、List
全屏选择列表,用于全屏下,做单项或多项选择。

⑶、Alert
警告控件,用于提示、确认、错误、等待过程等信息的全屏提示框。

⑷、Form
全屏表单,可以将其他Item类控件加在其上,比如填空、选择、图片等,组成一个复杂的表单。


J2ME是什么?

Java ME 以往称作J2ME(Java Platform,Micro Edition),是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的Java API。它和Java SE、Java EE一起构成Java技术的三大版本,并且同样是通过JCP(Java Community Process)制订的。根据Sun的定义:Java ME是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝电话和可视电话、数字机顶盒、汽车导航系统等等。JAVA ME技术在1999年的JavaOne Developer Conference大会上正式推出,它将Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。

什么叫J2EE?什么叫J2ME?

J2EE平台

J2EE平台是运行J2EE应用的标准环境,由J2EE部署规范(一套所有J2EE平台产品都必须支持的标准)、IETF标准集和CORBA标准组成。最新的J2EE平台还添加了JavaBean组件模型。开发人员可以利用JavaBean组件模型来自定义Java类实例,并可通过已定义的事件访问Java类。

J2EE支持EJB,因此开发人员可以执行多用户交易功能。当在J2EE服务器上运行时,Enterprise JavaBeans将应用逻辑分成可再利用和可扩展的代码段。Enterprise JavaBeans并不是新特征,但是通过定义标准客户端和服务API,J2EE增强了它的能力和可移植性。

EJB在服务器的一个容器内运行,提供所有典型的中间层服务,如事务管理、安全、远程客户连接、生存周期管理和数据库连接缓冲。为了让事务系统在存在EJB容器的情况下运行,开发人员只需在部署描述文件中定义Beans的事务属性即可。


J2ME(Java 2 Platform Micro Edition)是为无线电子市场所设计的,包括JVM规范和API规范。其API规范是基于J2SE(Java 2 Standard Editon)的。J2ME 定义了一套合适的类库和虚拟机技术。这些技术可以使用户、服务提供商和设备制造商通过物理(有线)连接或无线连接,按照需要随时使用丰富的应用程序。

J2ME又被称为Java 2 微型版,被使用在各种各样的消费电子产品上,例如智能卡、手机、PDA、电视机顶盒等方面。当然了,J2ME也提供了Java语言一贯的特性,那就是跨平台和安全网络传输。它使用了一系列更小的包,而且Javax.microedition.io 为J2SE包的子集。J2ME可以升级到J2SE和J2EE。

在J2ME出现之前,我们更多接触到的是Java卡(Java Card)、嵌入式Java(Embedded Java)和实时Java(Real Time Java)等。其中Java卡是针对SIM卡、智能卡等设备而定制的最小Java子集,比J2ME还要小,移植性也不强。嵌入式Java则针对特殊用户自行配置Java类库和VM(Virtual Machine,虚拟机)。它对资源需求极小,可运行在无图形用户接口和网络的设备上,可以添加用户专用的API,但是它就无法移植。实时Java是由IBM领导的实时定制Java专家组负责实施的,现在还在不断完善中。不过,从严格意义上来说,它们都不是真正的J2ME。


J2ME主框架介绍

这个里面MIDlet创建了一个画布mycanvas
画布里启动一个线程作为主线程
就是canvas里的start()
在这里new Thread(this).start
启动一个线程
同时mycanvas必须 implements Runnable
然后实现run()方法作为程序的主循环
在run()方法里 写

while(isGame){
long oldTime = Runtime.getCurrentTime();
dologic();
repaint();
serviceRepaints();
while(Runtime.getCurrentTime()- oldTime < 60){}
}
exitMidlet();
}
dologic执行逻辑
repiant()调用paint()方法绘制
看看下面这个:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class GameActionTest extends MIDlet {
private Display display;

public GameActionTest() {
display=Display.getDisplay(this); // 获得主窗体
}

public void startApp() throws MIDletStateChangeException {
display.setCurrent(new GameActionTestCanvas());//设置窗体画布
}
public void pauseApp() { }
public void destroyApp(boolean unconditional) { }

class GameActionTestCanvas extends Canvas {
private String s=" ";
int width = this.getWidth(); //获得屏幕宽
int height = this.getHeight(); //获得屏幕高
public GameActionTestCanvas() {
}
}
}
还可以这样
class GameActionTestCanvas extends Canvas implements Runnable {
private String s=" ";
int width = this.getWidth(); //获得屏幕宽
int height = this.getHeight(); //获得屏幕高
public GameActionTestCanvas() {
new Thread(this).start();//启动线程 调run方法
}
public void run(){//主循环
while(isGame){
dologic();//逻辑
repaint();//调paint() 绘制
serviceRepaints();

}
}
public void dologic(){
}
public void piant(Graphcis g){//画
g.setColor(0);
g.fillRect(0,0,10,10);
}
}


上一篇:io1.1

下一篇:miracle歌词