一直想写点东西为我学习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的原生程序。
今天就写到这里吧,基本上手机J2ME开发所需的预备知识这里都提到了,Woosah..............................好困~去睡觉了~
分享到:
相关推荐
韩顺平 Java 从入门到精通视频教程学习笔记整理(齐全) 本文档是韩顺平 Java 从入门到精通视频教程的学习笔记整理,共 94 讲,涵盖 Java 基础知识、Java SE、Java EE、Java ME 等方向的内容。 Java 基础知识 1. ...
JavaSE学习笔记整理涵盖了Java编程语言的基础知识,包括Java的基础概念、数据类型、数组、类和对象的使用、面向对象的高级特性、系统常用类、异常处理以及集合框架。在具体学习这些知识点前,理解Java的基本命令、...
本知识点总结来自于"Java从入门到精通视频教程(全94讲)学习笔记整理",涵盖了Java基础教程入门与精通视频教程笔记的要点,内容包括Java程序的运行机制、开发环境配置、基础语法、程序结构以及面向对象编程等多个方面...
### Java 学习笔记知识点梳理 #### Java 平台概述 - **J2SE(Java 2 Platform Standard Edition)**: 标准版平台,适用于桌面应用程序的开发。 - **J2EE(Java 2 Platform Enterprise Edition)**: 企业版平台,...
### 韩顺平Java视频教程(全94讲)学习笔记整理 #### Java平台概述 - **J2SE(Java Platform Standard Edition)**: 标准版Java开发平台,适用于桌面应用程序开发。 - **J2EE(Java Platform Enterprise Edition)**...
### 韩顺平Java从入门到精通视频教程学习笔记整理 #### Java开发平台与运行机制 - **J2SE(Java 2 Platform Standard Edition)**:Java的标准版平台,适用于开发桌面应用程序,包含了Java的核心类库和技术。 - **...
【Java 平台与版本】 ...总的来说,这个文档是韩顺平 Java 入门到精通视频教程的学习笔记,涵盖了从 Java 平台介绍、开发环境配置、语言基础到 Web 开发框架等多个方面,是全面学习 Java 技术的宝贵资源。
Java是一种广泛使用的编程语言,由James Gosling在1990年代初为Sun Microsystems开发,最初命名为Oak。1995年,Sun正式发布了...通过持续学习和实践,可以深入理解并掌握这些知识点,从而成为一名熟练的Java开发者。
Java 是一种广泛使用的高级编程语言,以其强大的跨平台特性而闻名。根据用途的不同,Java 可以分为三个主要版本:Java SE(标准版)、Java EE(企业版)以及 Java ME(微型版)。这些版本分别对应着不同的应用领域。...
由于本人目前允许上传的资源太小,所以无法上传整个的技术学习笔记(JAVA 五年的工作经验和学习笔记),待以后有机会会分享给大家。 技术体系包括: J2SE/J2ME/J2EE/JAVA代码优化/Flex(BlazeDS、PureMVC等技术)...
3. **Java ME (J2ME)**:Java Micro Edition,用于嵌入式设备和移动应用,如手机开发。 学习Java的步骤通常包括编写源代码(.java文件),使用J2SE或J2EE编译器将其编译为类文件(.class文件),然后在Java虚拟机...
总之,Java从入门到精通涉及众多知识点,包括基础语法、面向对象编程、图形界面开发、数据库连接、文件处理、网络编程和多线程等,通过深入学习和实践,开发者可以掌握这一强大而灵活的编程语言。
Java学习笔记整理(齐全) 本资源是 Java 学习笔记的详细整理,涵盖了 Java 的基本概念、开发平台、编程步骤、面向对象编程、图形界面开发、数据库编程、文件IO流编程、网络编程、多线程编程等方面的知识点。 一、...
本资源摘要信息是根据马士兵的java视频整理的JAVA笔记,涵盖了JAVA基础知识、数据结构、语法基础、面向对象编程、异常处理、数组、集合类、线程、网络编程、图形化用户接口、元数据、正规表达式、JDK、Java Web编程...
面试材料则提供了一套完整的面试准备资源,包括常见面试题、学习笔记和技巧,帮助学习者更好地应对就业挑战。 总的来说,这套Java学习资源以视频教程为主,辅以实践项目和面试指导,形成了一条从基础知识到实战经验...