高手请解释一下CLDC和MIDP的意思,手机介绍中看到的

作者&投稿:闾泼 (若有异议请与网页底部的电邮联系)
midp高级界面有几种displayable类,请简单描述其作用~

j2me中: 低级界面就是Canvas,高级界面就是Form List之类的,他们都是Displayable的子类,所以本质上是一样的。使用Display.setCurrent()方法就可以切换了。
至于j2se 原理是一样的,你去查下api文档就知道了。

J2ME的术语

MIDP
开放分类: 计算机技术、电脑

MIDP(Mobile Information Device Profile,移动信息设备配置文件)建立在 CLDC 的基础之上,用来描述手机和寻呼机这样更加具体化的的无线移动设备。

对于 Java ME 平台,MIDP 定义了一个标准的 Java API 集合,此集合与联网的受限设备配置 CLDC 一起提供了一个面向移动信息设备(如移动电话、双向寻呼机和无线个人电脑记事本)的完整 Java ME 应用程序运行环境。

MIDP 提供了以下功能:

·显示工具箱

·用户输入方法

·持久性数据存储(使用简单的面向记录的数据库模型)

·基于 HTTP 1.1 的网络(使用 CLDC 通用连接框架)

Java 规范请求 (Java Specification Request, JSR)-37 中定义了 MIDP 1.0 标准。

JSR-118 中定义了 MIDP 2.0 标准。

CLDC
开放分类: 计算机技术、电脑

CLDC(Connected Limited Device Configuration,联网的受限设备配置)是用来开发在无线设备上运行的应用程序所要用到的一组最小的 API。CLDC 描述了所有无线移动设备所需的一个最小级别的功能集合。

对于 Java ME 平台,CLDC 为移动电话、双向寻呼机以及类似设备定义了基本配置(Java 语言、虚拟机功能和基本类库)。这些设备具有以下特性:

·总内存量为 128 KB 到 512 KB。

·具有有限电源,如电池。

·可以连接到网络。

·具有相对有限的用户界面,通常只限文本。

CLDC 1.1 是 CLDC 1.0 规范的修订版本,包含很多新增功能(例如浮点和弱引用支持)以及其他增强功能。

Java 规范请求 (Java Specification Request, JSR) 30 中详细指定了 CLDC 1.0 的要求。

JSR 139 中详细指定了 CLDC 1.1 的要求。

J2ME是一种使用Java语言进行嵌入式设备编程的技术,但是嵌入式设备的种类过于繁多,至少有几百种之多,为了降低编程的复杂度,SUN公司将所有的嵌入式设备分为了两大类:
1 CDC(连接设备配置)
有稳定的电源供应
设备性能强劲
例如车载设备、机顶盒等。
2 CLDC(连接有限设备配置)
使用电池供电
设备性能有限
其中手机属于CLDC类别。
上面的说法都是从硬件划分的角度来说明CLDC的,下面从程序员的角度来理解一下CLDC的概念。其实对于程序员来说,CLDC主要包含三个部分:
1 Java虚拟机(又称JVM)
这个是所有Java程序运行的基础。对于手机来说,在手机出厂以前,已经固化在手机中了,出厂了以后就不能进行修改了。
2 一套标准的API实现
该标准的API主要包含java.io、java.lang、java.util包以及javax.microedition.io包中的部分。这个是规范要求必须实现的API,也固化在手机中,不能修改。
3 本地方法实现
在标准的API中,很多都是接口,这些就要求厂商在手机中提供真实的实现,而且很多本地方法也要求手机厂商进行实现。

  。MID(Mobile Information Device )的特性。
  由于MID这类设备,在屏幕、内存、处理器等问题上有诸多限制,在手机或是PDA等MID上开发应用程序必须要考虑一些技术上的特殊点。
  下面给出一些设备的特性:
  显示(display):96x54 (最小屏幕尺寸),1bit(最小色深,单色)
  输入设备: “one-handed keyboard”(指ITU-T手机键盘)“two-handedkeyboard” (指标准键盘,即QWERTY键盘)触摸屏。
  内存:128kb-MIDP组件。
  8kb-应用程序生成的Persistent data(关于Persistent data,我会在将来讲RMS时,详细说明,这里有个概念就行了)
  32kb-java runtime环境。
  网络: 双向的,无线的,间断的,带宽有限的网络
  内核(kernel):至少要能运行KVM
  还有很多软件上的特性,如读写non-volatile内存(就是掉电后不会失去内容的内存,如flash)。读写无线设备接口的API,等等。
  除了上诉技术上的问题,你还得注意你的程序要简单易用且稳定可靠。尤其是可靠性,你开发的是通讯设备,用户是不能忍受程序有什么纰漏而影响到通话的。 你要牢记这一点。
  1。MIDP的类库
  如前文所述,sun在CLDC之上定义了MIDP(Mobile Information Device Pro-file)层,用以提供对UI、永久存储介质(persistinace storage)、和网络等更高层的(相对于CLDC)支持。那么,让我们来具体看看MIDP的类库。MIDP由四个javax.microedition包组成,它们包括:
  javax.microedition.rms-----关于永久存储介质(注:rms是Record Management System的缩写)
  javax.microedition.midlet--定义了MIDlet的框架,以及MIDlet与环境的交互。
  javax.microedition.io------网络支持
  javax.microedition.lcdui---UI(User Interface)(注:UI分为high-level和low-level两种API。)
  注:如果在加上语言和实用类(java.lang和java.util)则有六个。
  2。MIDPlet
  MIDP中定义的应用程序称为MIDlet。任何一个MIDlet都是javax.microedition.midlet.MIDlet的子类,必须继承自javax.microedition.midlet.MIDlet。这很显而易见。我们在J2SE中编过Applet,Applet就必须继承自java.applet.Applet。是不是很类似。请看下图,说明了MIDlet的继承体系。
  ┌—————————————————┐
  │javax.microedition.midlet.MIDlet│
  └—————————————————┘
  ↓
  ┌——————┐
  │ MyMIDlet │
  └——————┘
  图1 MIDlet的继承体系
  3.编译一个简单的MIDlet,并执行。
  下面我先给出一个简单的HelloWorld程序,然后进行分析。
  ===============================源程序==================================
  //HelloWorld.java,一个最简单的MIDlet程序。

  import javax.microedition.midlet.*;
  import javax.microedition.lcdui.*;

  public class HelloWorld extends MIDlet implements CommandListener {
  private Command exitCommand;
  private TextBox tb;

  public HelloWorld(){
  exitCommand =new Command("Exit",Command.EXIT,1);
  tb =new TextBox("Hello MIDlet","Hello,World!",15,0);
  tb.addCommand(exitCommand);
  tb.setCommandListener(this);
  }

  protected void startApp(){
  Display.getDisplay(this).setCurrent(tb);
  }

  protected void pauseApp(){
  }

  protected void destroyApp(boolean u){
  }

  public void commandAction(Command c,Displayable d){
  if (c ==exitCommand){
  destroyApp(false);
  notifyDestroyed();
  }
  }
  }
  ===============================源程序完================================
  该程序显示“HelloWorld”字符串。程序本身非常简单,如果你熟悉JavaApplet编程的话,你会发现与Applet很类似。好,我们先把它编译,运行一下看看。

  编译之前的准备:
  硬件:因为是Java,所以内存最少有128MB以上,CPU最好是PII或更高。
  平台:最好是win2000,win98的中文显示会有问题,解决起来比较麻烦。Linux我没有试过,英文我想应该都没什么问题,但中文显示我估计可能会有些麻烦如果有试过的朋友,请一定告诉我。
  SDK:你需要有(下述软件都可在sun网站上免费下载)
  1。Java 2 SDK 1.3或以上。
  2。J2ME Wireless Toolkit 1.0.3
  以下可选:
  sun的IDE:Forte for java。(如果你上的是宽带,或不是自己付网费的话 ^-^)
  下载好后,先安装JDK1.3,(具体关于安装和设置我就不详述了,想来大家都很清楚。如果您不清楚,请参考相应资料。)在安装J2ME Wireless Toolkit 1.0.3,它会自动找到您的JDK1.3,并作相应设置。如果您不用命令行的话,环境变量也不用设置直接可在图形界面上运行,非常方便。关于环境变量的设置请自己参考手册。

  编译的步骤:
  如果你按上述已经安装好JDK和J2mewtk,请按以下步骤编译,实际上是非常简单的:
  (注:下述默任JDK安装在c:\JDK1.3,J2ME Wirless Toolkit 安装在c:\J2mewtk\)
  1. 开始->程序->J2ME Wirless ToolKit 1.0.3->KToolBar
  2. 这时会出现"J2ME Wirless ToolKit"窗口,点"New project"按键,在Projectname项填:HelloWorld;在MIDLet Class Name填:HelloWorld。点击Creat project。
  3. 这时会出现Setting for project对话窗,采取默认即可。点击ok。
  4. 这时请注意,因为没有down sun的IDE,所以你要手工把你事先编辑好的HelloWorld.java放置在c:\j2mewtk\apps\HelloWorld\src\目录下。这时,按“Build” 键,如果一切正常,将提示编译完毕。这时在device下拉选单中选定你想要的设备,再按“run”键,终于大功告成。你可以多选几个不同设备,感受一下,不错吧。

  4.MIDlet的Lifecycle
  在上一节里,我们已经成功编译并运行了一个简单的MIDlet程序。现在,让我们来分析一下MIDlet的结构,和其Lifecycle。
  通过对源程序的观察,我们可以发现MIDlet程序的运行是由startApp(),pauseApp()和destroyApp()这3个方法控制的。它们在javax.microedition.midlet.MIDlet中定义。所有的MIDlet都必须有这3个方法。顾名思义startApp()方法用于标志一个MIDlet的开始执行。不过这里要注意一点,与HelloWorld程序的constrctor不同。startApp()不光是在初始化完一个MIDlet时执行,只要该MIDLet被从Paused态激活(变为Active态),startApp()就会被调用。pauseApp()方法标志着MIDlet进入Pause态。而destroyApp()方法标志着MIDlet进入destroyed态。(注意:这里严格的讲应该说成:方法被调用并成功返回标志着...)
  看完上面的描述,大家可能会满头雾水,又是方法,又是状态的,什么跟什么吗?这还得从MIDlet的执行机制讲起。MIDlet的执行是通过Application Managementsoftware来管理的。这玩意儿是处在操作系统级别上来管理MIDlet运行的底层机制的总称,所谓MIDlet state(MIDlet状态)就是它一手操办,控制管理的。MIDletstate确保了AMS随时可以消灭该MIDlet,同时MIDlet也有办法进入一个Pause态,并可再次激活。MIDlet State 分为Paused,Active,destroyed三种。当AMS创生一个新的MIDlet实体时,对应于MIDlet,表现为其constructor被调用,进入Paused状态。当所有的准备工作都做好后,AMS判断现在MIDlet可以运行了,于是调用MIDlet.startApp()方法。进入Active态。当AMS决定要把MIDlet转入Paused态,就会调用MIDlet.pauseApp()方法,MIDlet就会暂停执行,通常Paused态会用于释放所占资源。当AMS判断MIDlet不再需要,就会调用MIDlet.destroyApp(),MIDlet被消灭。请注意我上述是站在AMS的角度在谈AMS如何控制MIDlet的状态改变。程序员也可请求MIDlet的状态的变换,通过调用resumeRequest,notifyPaused,notifyDestroyed这三个方法。
  例如,我在上一节给出的例子中有如下程序片段:
  ...
  public void commandAction(Command c,Displayable d){
  if (c ==exitCommand){
  destroyApp(false);
  notifyDestroyed();
  }
  ...
  这里先把destroyApp()的unconditional值置为false,抛出一个MIDletStateChangeException 异常,表示MIDlet这时还不想被destroy。notityDestroyed()通知AMSMIDlet进入destroyed态。具体的细节请参阅MIDP API文档。

  下面给出一个最简单的MIDlet流程:
  ===========================FlowMIDlet.java================================
  import javax.microedition.midlet.*;
  public class FlowMIDlet extends MIDlet {
  public void startApp() {
  System.out.println( "In startApp..." );
  pauseApp();
  }
  public void pauseApp() {
  System.out.println( "In pauseApp..." );
  destroyApp( true );
  }
  public void destroyApp( boolean unconditional) {
  System.out.println( "In destroyApp..." );
  }
  }
  ===========================FlowMIDlet.java完===============================

  关于MIDlet状态的改变可以用下图表示:
  destoryApp()
  +----------------------->--------------------------+
  | |
  new() +========+ startApp() +========+ destroyApp() +===========+
  ----->| Paused |------------->| Active |--------------->| Destroyed |
  +========+ +========+ +===========+
  | pauseApp() |
  +---------<---

  CLDC的目的
  ·为小型的,且资源有限,Connected Limited的设备定义一个标准的Java平台。
  ·允许动态的向这些设备发布内容与应用程序。
  ·方便第三方软件厂商与开发者向这些设备移植内容与应用程序。
  CLDC的范围
  ·Java语言与虚拟机的特性
  ·核心Java类库(如java.lang.*, java.util.*)
  ·输入/输出
  ·对网络的支持
  ·对安全性的支持
  ·对国际化的支持
  CLDC不包括的范围(即由MIDP解决的)
  ·对应用程序life-cycle的管理(就是指一个应用程序是如何安装,运行,删除的)
  ·UI界面(User Interface)
  ·Event处理
  ·高级应用程序模式(这里指用户与应用程序的交互)。

JAVA的不同平台。


...4s是否国行及激活日期!在线等!序列号为∶C31H6CLDDTD2
产品型号iPhone 4S 产品序列号(SN)C31H6CLDDTD2 移动设备IMEI码013026001646355 销售地中国 购买时间2012年4月7日 保修截止2013年4月6日 全新国行

号:MD128CH\/A 机型 IPHONE4 系列号DX4J4JCLDPON 013277004410915 请高...
设备型号: iPhone 4 (8GB)激活状态:已激活 序列号:DX4J4JCLDP0N 硬件保修到期:2013年09月18日 生产日期:2012年7月 (30周)剩余保修日期:364天保修 生产地区:中国 电话客服日期:2012年12月18日 全新国行,恭喜你,请采纳。

TLD5085EJ这个IC第5脚玙第6脚这间的电容怎么选!附电路图。电路要求是...
LED CLD-DS33 工作电压与电流:2.9V-700MA,3.1V-1500MA,3.35-3000MA,输入电压为7.4V,那应该是二颗LED串联工作方式,芯片TLD5085EJ 5与6脚间的电容 为末级功率驱动升压电容,电容值的选择可以从小至大测试,检测芯片5脚电压值必须大于8脚电压值,电容可以先由1UF试着增加,直至5脚电压...

java Date类型 按年,月,日 取出并输出 求高手.
System.out.println("日:"+cld.get(Calendar.DAY_OF_MONTH));\/\/方法er System.out.println("年份:"+date.toString().split("-")[0]);System.out.println("月份:"+date.toString().split("-")[1]);System.out.println("日:"+date.toString().split("-")[2]);} } 如有疑问,请...

比如文档1包含了 名字 性别 年龄 文档2中只有名字 怎么样在文档1里面...
您好,很高兴为您解答!根据你的描述你应该是根据文档2的名字查找对应的性别和年龄应该用vloolup函数请参阅http:\/\/baike.baidu.com\/link?url=0USz6B3_IH8JBYVE7Dq0pH577hKABpiBjDsDrJxIsQI9fziMxMa6psCLdYXD1MQvyfsoVvVnbAglhjTNEMMhIq 如有疑问,请点击我的头像提问或访问​WPS官方论坛,...

成长的故事手抄报
我宁愿做一个穷人,住在藏书很多的阁楼里,也不愿当一个不能读书的国王。 王亚南睡三脚床 王亚南小时候胸有大志,酷爱读书。 他在读中学时,为了争取更多的时间读书,特意把自己睡的木板床的一条脚锯短半尺,成为三脚床。每天读到深夜,疲劳时上床去睡一觉后迷糊中一翻身,床向短脚方向倾斜过去,他一下子被惊醒过...

请问猪脚与猪手怎样区分?
5. 猪手 -多用作拜神,过年取其意头 - 横财就手 (蠔豉发菜炆猪手)。(白云猪手 -得层皮,少肉)猪脚 - 煲羌醋,取其多肉,脚头好。6. 冻肉店售的是猪手 (直毕甩一辘),雪藏猪脚很少有售,多用作knuckle(咸猪手,其实是猪脚)。7. 肉枱卖的,多肉,新鲜,大只便是靓。图片参考:imgcld....

汇编语言中 buf1是自定义缓冲区,buf1+1是什么意思
其他回答 buf+1就是缓冲区放置数据的第一位地址QQ群:73150630 汇编\/系统\/单片机群 lsbywzh | 发布于2008-11-18 举报| 评论 1 1 buf1表示的是这个缓冲区的第一个字节单元的地址,buf1+1就代表下一个字节单元的地址。 ynus | 发布于2008-11-18 举报| 评论 2 1 ...

普通车床车锥度,小托板的角度是怎么扳的,是怎么计算的啊,请高手指教...
1:5为五分之一 d=45-(1\/5)×50=35 三角函数法 D=d+2Ltana\/2 d=D - 2Ltana\/2 L=(D-d)÷(2tana\/2)例已知圆锥半角a\/2=7度7分30秒,D=56mm,L=44mm d=D-2Ltan(a\/2)=56-2×44tan7度7分30秒=45mm 尾座车锥度。尾座偏移量等于锥度除二乘工件全长。锥度计算大径减小径除...

求水浒传中的人物、绰号、及主要事迹
河北蓟州人,道号一清,持一柄纹松古铜七星剑,能呼风唤雨,师傅是罗真人。曾与晁盖等人一同劫生辰纲。 梁山人马攻打高唐州时,高廉手下有三百飞天神兵,高廉会用妖法,使宋江折兵损将。吴用让宋江请公孙胜来破高廉。公孙胜是罗真人的大徒弟,名叫清道人。结果与高廉斗法,大获全胜。高廉驾起一片黑云想逃走,被公孙胜...

贵南县17879556936: JAVA上的CLDC和MIDP是什么意思
奚家谓宜: J2ME的术语 MIDP 开放分类: 计算机技术、电脑 MIDP(Mobile Information Device Profile,移动信息设备配置文件)建立在 CLDC 的基础之上,用来描述手机和寻呼机这样更加具体化的的无线移动设备. 对于 Java ME 平台,MIDP 定义了一个...

贵南县17879556936: JAVA上的CLDC和MIDP是什么意思? -
奚家谓宜: cldc是有限资源设备上的java基本平台标准,也称kjava.后面的midp是它的加强版,可以安装更大更绚丽的应用程式,适用于资源相对充裕的设备.

贵南县17879556936: MIDP还有CLDC是什么意思?
奚家谓宜: MIDP(Mobile Information Device Profile,移动信息设备配置文件)建立在 CLDC 的基础之上,用来描述手机和寻呼机这样更加具体化的的无线移动设备. 对于 Java ME 平台,MIDP 定义了一个标准的 Java API 集合,此集合与联网的受限设备配...

贵南县17879556936: 谁能解释“MIDP”的意思!要详细!!
奚家谓宜: MIDP MIDP(Mobile Information Device Profile,移动信息设备配置文件)建立在 CLDC 的基础之上,用来描述手机和寻呼机这样更加具体化的的无线移动设备. 对于 Java ME 平台,MIDP 定义了一个标准的 Java API 集合,此集合与联网的受限...

贵南县17879556936: Java MIDP 2.0 CLDC 1.1是什么意思?
奚家谓宜: 是JAVA的版本

贵南县17879556936: Java MIDP 2.0 CLDC 1.1谁知道是什么
奚家谓宜: 刚才我查看了一些s40第三版的手机,好像大部分都是MIDP 2.0 CLDC 1.1 的这个版本了,比如nokia 5310.当然对于那些s60的智能手机就更不用说了,应该都是这个版本了,像我的6120c就是.你可以下载qq 2007版的就没有问题了. MIDP ...

贵南县17879556936: Java MIDP 2.0 CLDC 1.1 是什么意思???
奚家谓宜: 就是此手机支持jar或jad的扩张软件!1.1只支持jad!

贵南县17879556936: 手机上的MIDP应用程序是什么? -
奚家谓宜: MIDP: 移动信息设备描述(Mobile Information Device Profile,MIDP)是一套Java应用编程接口(Application Programmer's Interfaces(APIs)).它们与有限连接设备配置(Connected Limited Device Configuration,CLDC)一起向诸如蜂窝电话等...

贵南县17879556936: 什么是MIDP?和MOBILE 3D GRAPHICS API? -
奚家谓宜: MOBILE 3D GRAPHICS API是一种规范,此规范定义了一套轻量级的、交互式的3D图形API,API是一种函数. MIDP也是一种规范,MIDP: 一个MIDP应用或称为MIDet,它必需只使用MIDP和CLDC规范中所定义的APIs.该类应用能在应是在MID设备上最常见的应用.

贵南县17879556936: java有什么用
奚家谓宜: Java手机软件平台采用的基本Java平台是CLDC (Connected Limited Device Configuration)和MIDP (Mobile Information Device Profile),是J2ME (Java 2 Micro Edition)的一部分,在中国一般称为“无线Java”技术.此前,有人把它叫做“K-Java...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网