分享
 
 
 

J2ME学习笔记整理(一)

王朝java/jsp·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

作者:夏彦端

一直想写点东西为我学习J2ME做个总结,自从上次笔记本在寝室莫名其妙弄丢后,就再没写过J2ME的学习笔记,今天终于股起勇气再动笔,同时也为准备学习J2ME的兄弟姐妹起个抛砖引玉的作用,呵呵,希望不让大家失望。

先从最基本的开始说起吧~

J2ME的全称是Java2 Platform Micro Edition,其技术架构如下

Optional Package

Profile

Configuration

Optional Package是厂商选择性实现的,Profile是针对特殊硬件规定制定的高级API,Configuration则是起定义硬件功能与低级API的作用。

先从最下层的Configuration开始说起,它是J2ME规定嵌入式设备能够执行Java程序的规范,J2ME把运算功能有限,电力有限这类的嵌入式设备叫做Connected Limited Device,规定这些设备如果能执行JAVA程序,则必须遵守哪些规范,而这些规范就定义在Connected Limited Device Configuration里面,简称CLDC,类似有个可连接,资源相对来说无限的设备则被称为Connected Device,同样有个CDC规范。我们平时所使用的手机属于Connected Limited Device范畴,支持J2ME的手机必须支持支持CLDC规范。就目前来看 CLDC有1.0和1.1两种,两者最大的不同则是后者支持浮点运算,而前者不支持,CDC1.0和CDC1.1的核心类库(java.lang.*,java.io.*,java.util.*)和J2SE几乎没什么区别,CLDC1.0则差别较大,CLDC1.1相对来说增强了CLDC1.0的功能,最小内存数量也从160K提升到 192K。CLDC加入的支持扩展类库为有javax.microedition.io.*等。

通过查阅CLDC的类库文档

可以得到以下一些信息,为了方便大家做个了解,我把几个大类做了一下整理:

系统类:

java.lang.Object

java.lang.Class

java.lang.Runtime

java.lang.System

java.lang.Thread

java.lang.Runnable(接口)

java.lang.String

java.lang.StringBuffer

java.lang.Throwable

数据类型类:

java.lang.Boolean

java.lang.Byte

java.lang.Short

java.lang.Integer

java.lang.Long

java.lang.Float(从1.1版本开始支持)

java.lang.Double(从1.1版本开始支持)

java.lang.Character

集合容器类:

java.util.Vector

java.util.Stack

java.util.Hashable

java.util.Enumeration(接口)

输入/输出类:

java.io.InputStream

java.io.OutputStream

java.io.ByteArrayInputStream

java.io.ByteArrayOutputStream

java.io.DataInput(接口)

java.io.DataOutput(接口)

java.io.DataOutputSteam

java.io.DataInputStream

java.io.Reader

java.io.Writer

java.io.InputSteamReader

java.io.OutputStreamReader

java.io.PrintStream

日历和时间类:

java.util.Calendar

java.util.Date

java.util.TimeZone

其他附加类:

java.util.Random

java.lang.Math

错误类:

java.lang.Error

java.lang.NoClassDeFoundError(从1.1版本开始支持)

java.lang.OutOfMemoryError

java.lang.VirtualMachineError

异常类:

java.lang.Exception

java.lang.ArithmeticException

java.lang.ArrayIndexOutOfBoundsException

java.lang.ArrayStoreException

java.lang.ClassCastException

java.lang.ClassNotFoundException

java.lang.IllegalAccessException

java.lang.IllegalArgumentException

java.lang.IllegalMonitorStateException

java.lang.IllegalThreadStateException

java.lang.IndexOutOfBoundsException

java.lang.InstantiationException

java.lang.InterruptedException

java.lang.NegativeArraySizeException

java.lang.NullPointerException

java.lang.RuntimeException

java.lang.NumberFormatException

java.lang.SecurityException

java.lang.StringIndexOutOfBoundsException

java.util.EmptyStackException

java.util.EmptyNoSuchElementException

java.io.EOFException

java.io.InterruptedIOException

java.io.IOException

java.io.UnsupportedEncodingException

java.io.UTFDataFormatException

弱引用:(从1.1版本开始支持)

java.lang.ref.Reference

java.lang.ref.WeakReference

以下为CLDC1.1扩展类库:

javax.microedition.midlet.*

javax.microedition.lcdui.*

javax.microedition..rms.*

javax.microedition..io.*

javax.microedition.lcdui.game.*

javax.microedition.pki.*

javax.microedition..media.*

javax.microedition.media.control.*

下面来说说Profile,既然Profile构建在Configuration之上,其所规范的配备需求自然不会比Configuration低,而我们通常所提到的Profile有Mobile Information Device Profile(简称MIDP),针对的是手机和寻呼机,等移动设备。还有一种常见的Profile,Information Module Profile,是针对没有屏幕的移动设备所设计的。

目前MIDP,最高的规格是2.0,硬件要求为:

内存:256Kb非易失性内存可供MIDP组件使用,8Kb非易失性内存可工应用程序创建持久化数据,128Kb易失性内存可供虚拟机运行时环境使用。

显示:屏幕大小96*54,显示深度:1位,象素形状(长宽比):1:1。

输入:单手键盘或者双手键盘或者触摸屏。

网络:双向,无线,可以是间歇的,带宽有限的。

声音:播放不同声调的能力,可以通过专用硬件也可以通过软件算法获得。

J2ME规范中还定义了厂商可以选择实现的包,那就是Optional Packages,通常不同的厂商不同的产品会有一些不同的功能,那么制造厂商可以通过Optioanl Packages规范来为实现某些产品的特殊功能制定相应的API。

那我们通常所说的J2ME开发,大部分其实都是MIDP程序设计,那我们先来看几个名词的解释:

MIDlet:一个可执行的应用手机程序的基本单位。

MIDlet Suite:许多MIDlet所构成的集合一般称做MIDP Application(MIDP应用程序)。

MIDlet和 MIDlet Suite的关系如下图所示

JAR文件(JAR File,.jar文件)

实际是包裹着MIDlet Suite的文件,属于ZIP压缩格式。

JAD文件(Descriptor File,.jad文件)

用来描述MIDlet Suite的基本信息的文本文件,它是一个外部文件(不存在于JAR文件内部,独立存在的文件)。

它们只的关系如下图所示:

最后要介绍一下应用程序管理器(Java Application Manager),它可是很重要的哦,它负责将MIDlet的执行及其生命周期。它是一个用来执行J2ME的原生程序。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有