`
7090
  • 浏览: 279467 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(转)手机开发JavaME MIDlet Suites简介

    博客分类:
  • J2me
阅读更多
1. JAM

  JAM (Java Application Manager) 中文一般翻译为应用程序管理器。在有些文档中,JAM也被叫做AMS (application manager software),这两个术语所描述的概念是完全一样的。简单来讲,JAM是管理移动设备上所有J2ME应用程序的软件,负责J2ME应用程序的下载、 安装、更新与删除。JAM由是移动设备本身所提供的,不同公司的实现略有不同,初级开发人员只要知道其作用就可以了。

  2. MIDlet Suite

  对MIDlet Suite简单理解是MIDlet程序的一个集合。MIDlet Suite包含了一个或多个MIDlet、资源文件以及JAR  manifest,这些内容被打包成一个JAR包。通常情况上讲MIDlet Suite还需要一个外部的JAD描述文件。

  MIDlet Suite是为了解决多个MIDlet受控访问、共享资源的问题而提出的模型。举个共享资源的例子:在前面的章节中我们已经介绍过,RMS的共享在一般情 况下是以MIDlet Suite为单位进行的,即同一个MIDlet Suite中的MIDlet可以安全的共享所在MIDlet Suite中的RMS。因此,当多个MIDlet要共享RMS时,就可以将它们放进一个MIDlet Suite中。为了保证安全性,MIDlet Suite中的MIDlet、资源文件都不能独立安装、删除或更新。即MIDlet Suite必须作为一个整体包来对其操作。对于设备来讲MIDlet Suite是一个基本单位。

 3. JAR manifest

  AR文件就是经打包后的可执行文件,包括下面各种元素:

1)  实现MIDlet的类文件;
2)  MIDlet中用到的任何资源文件(包括图像、声音文件等);
3)  关于JAR内容的一份JAR manifest描述。

  根据MIDP规范的规定,每个MIDlet Suite的JAR文件中必须包含一个名为mainifest.mf的文件,这个文件用于描述MIDlet Suite的各种属性。

  其中,必须包含以下属性:

包含以下属性

  如果JAD描述文件中未提供下列属性,则JAR manifest必须提供的属性:

JAR manifest必须提供的属性

  可选以下属性:

可选以下属性

  注意:所有属性都可以通过调用MIDlet.getAppProperty方法取得。

  范例:我们假设一个名字为MyGame的MIDlet Suite,由PPJ2me公司提供,版本为1.1.1。其中包括两个MIDlet:MyGame01,MyGame02。那么对应mainifest.mf文件可能是这样的:

  mainifest.mf

  MIDlet-Name: MyGame

  MIDlet-Version: 1.1.1

  MIDlet-Vendor: PPJ2me

  MIDlet-1: MyGame01, /MyGame01.png, com.PPJ2me.MyGame01

  MIDlet-2: MyGame02, /MyGame02.png, com.PPJ2me.MyGame02

  MicroEdition-Profile: MIDP-2.0

  MicroEdition-Configuration: CLDC-1.1

  4. JAD描述文件

  下面谈谈JAD描述文件,虽然某些设备上,JAM并不一定要求有JAD描述文件。尤其在MIDP1.0时,JAD描述文件似乎用处不大。但在 MIDP2.0中,JAD描述文件涉及了许多安全方面问题,显得尤为重要。一般而言,在下载JAR文件前,会先下载JAD描述文件,以让设备了解该 MIDlet Suite是否适合自己。避免直接下载JAR文件导致大量的成本消耗。这也是设计JAD描述文件的初衷之一。另一个目的就是提供在不更改JAR的前提下修 改某些属性值的能力。

  JAD描述文件为纯文本文件,文件扩展名为.jad。JAD描述文件和JAR manifest有很多相似的地方,所以部分说明请参见上一节。

  如果有JAD描述文件,则JAD描述文件必须提供如下属性:

JAD描述文件必须提供如下属性

  如果JAR manifest未提供下列属性,JAD描述文件中则必须提供:

JAD描述文件中则必须提供

  可选以下属性:

可选以下属性

  对应用程序自己的属性的说明

  应用程序可以利用jad来记录自己的专用属性,只要不以“MIDlet-或“MicroEdition-”开头。这往往非常流行。因为一旦打包 成 jar,就不方便对其进行修改。而jad是文本文件,方便修改。因此这些属性常用来记录和设备相关的信息或者是网络地址等。这在移植程序时,减轻了很大的 工作量。所有属性都可以通过调用MIDlet.getAppProperty方法取得。

  范例:我们假设一个名字为MyGame的MIDlet Suite,由PPJ2me公司提供,版本为1.1.1。其中包括两个MIDlet:MyGame01,MyGame02。那么其对应的JAD描述文件可能是这样的:

  MyGame.jad

  MIDlet-Name: MyGame

  MIDlet-Version: 1.1.1

  MIDlet-Vendor: PPJ2me

  MIDlet-1: MyGame01, /MyGame01.png, com.PPJ2me.MyGame01

  MIDlet-2: MyGame02, /MyGame02.png, com.PPJ2me.MyGame02

  MicroEdition-Profile: MIDP-2.0

  MicroEdition-Configuration: CLDC-1.1

  MIDlet-Description: That our sample game.

  MIDlet-Jar-URL: http://www.ppj2me.com/game/MyGame.jar

  MIDlet-Jar-Size: 7378

  MIDlet-Data-Size: 256

  5. JAD 描述文件与JAR manifest的关系
前面介绍JAD描述文件的时候已经介绍了:为什么有了JAR manifest的同时还要有JAD描述文件存在的原因。那么这两者之间还有什么必然的联系吗?

  JAD描述文件和JAR manifest中都包括了三个相同的必备属性:

  属性名:

    * MIDlet-Name
* MIDlet-Version
* MIDlet-Vendor

  出于安全性考虑,MIDP规范规定,如果JAD描述文件及JAR manifest中这三个必备属性有任何不同的话,JAM是不会安装该MIDlet Suite的。

  在调用MIDlet.getAppProperty的时候:对于不可信任的MIDlet  Suite,JAD描述文件的属性会覆盖JAR manifest中的属性。对于可信任的MIDlet Suite,两者必须相同。

原文出处:http://www.21eic.com/eda/14642.html

分享到:
评论

相关推荐

    从零开始学Java ME手机开发光盘

    从零开始学Java ME手机开发光盘,该书系统地介绍了Java ME在手机应用开发方面的知识。全书以无线行业Java技术规范JTWI(JSR-185)为基础,内容涵盖了用户界面设计、事件处理、游戏设计、网络编程、多媒体、本地持久...

    JavaME开发配置

    JavaME的开发通常涉及到多个组件,包括编译器、模拟器和开发工具。在这个场景中,我们主要关注的是JavaME的开发配置。 首先,我们要理解JavaME的开发环境。JavaME通常使用Sun Microsystems(现在是Oracle)提供的...

    javaME 开发源码javaME 开发源码

    开发JavaME应用,首先需要一个集成开发环境(IDE),如NetBeans或Eclipse。这些IDE提供了代码编辑、调试和模拟器等功能,便于开发者编写和测试源码。此外,Sun Microsystems(现已被Oracle收购)还提供了Java ...

    JavaME中文教程.pdf

    尽管JavaME曾经在移动应用开发领域占据主导地位,但随着智能手机和移动操作系统(如iOS和Android)的兴起,其市场份额逐渐萎缩。然而,JavaME在某些细分市场,如功能手机和低端设备上,仍然保持着一定的影响力。对于...

    Java ME实用详解——用Eclipse进行移动开发【源码】

    Java ME(Micro Edition)是Java平台的一个重要分支,主要用于嵌入式设备和移动设备的开发,如智能手机、功能手机和一些物联网设备。本教程将详细讲解如何使用Eclipse这一强大的集成开发环境(IDE)来进行Java ME的...

    JavaME

    ### JavaME在Symbian OS上的应用开发:深入了解与实践 #### Java技术与语言概览 Java技术自1995年由Sun Microsystems发布以来,迅速成为全球范围内最广泛使用的编程语言之一。其“一次编写,到处运行”的理念,...

    Animated_Midlet.rar_j2me mtk_javame

    标题“Animated_Midlet.rar_j2me mtk_javame”揭示了这是一个关于Java ME(Micro Edition)平台的动画应用,特别针对MTK(MediaTek)芯片组的设备。Java ME是Java的一种轻量级版本,用于在移动设备、嵌入式系统和...

    JAVA ME手机应用开发大全 源码

    6. **游戏开发**:JAVA ME也常用于开发手机游戏,通过低级别的Graphics类和Sound类实现游戏逻辑和音效。例如,基于Canvas的自定义绘图可以创建动态游戏场景。 7. **优化技巧**:由于JAVA ME的资源限制,开发者需要...

    开发JavaMe(j2me)的Eclipse插件

    JavaME,全称为Java Platform, Micro Edition,是Java平台针对嵌入式设备和移动设备的一套开发标准。它主要用于开发和部署在手机、智能手表、电视等小型设备上的应用程序。而EclipseME则是专为JavaME(J2ME)开发...

    javame讲解PPT

    JavaME,全称为Java Micro Edition,是Java技术在嵌入式...提供的"PPT"资料可能涵盖这些主题,包括详细的解释、示例代码和最佳实践,建议按照文件列表中的顺序(JAVA_1至JAVA_8)逐一学习,以便全面理解JavaME开发。

    java me 手机应用开发源代码

    这个压缩包文件包含的是Java ME手机应用开发的源代码,对于想要学习和理解J2ME应用程序开发的人来说,这是一个宝贵的资源。 J2ME是Java 2 Platform的简化版本,设计用于资源有限的设备,如早期的智能手机和平板电脑...

    JavaME实用详解源码

    1. **用户界面**:JavaME使用WTK(Wireless Toolkit)提供的Midlet类来构建用户界面。源码中可能会展示如何使用LWUIT(Lightweight User Interface Toolkit)或者MIDP API创建图形界面元素,如按钮、文本框等。 2. ...

    JAVAME猜数字游戏

    在这个“JAVAME猜数字游戏”中,我们可以探讨以下几个关键知识点: 1. **Java ME基础**:Java ME为开发移动应用程序提供了一个框架,包括用户界面、网络连接和数据存储等功能。它由配置(Configurations)和 ...

    手机网络游戏项目java ME

    这个项目显然是关于使用Java ME开发手机网络游戏的,让我们深入探讨一下相关知识点。 1. **Java ME概述**:Java ME是Sun Microsystems(现已被Oracle收购)为小型设备和嵌入式系统设计的一套开发框架。它提供了Java...

    Java ME Hello World

    **Java ME Hello World** Java ME(Micro Edition)是Java平台的一个子集,主要用于移动设备、嵌入式...通过这个简单的实例,开发者可以开始了解Java ME平台的工作原理,进而深入学习如何开发更复杂的移动应用程序。

    java ME 手机开发大全源代码

    这个"Java ME手机开发大全源代码"涵盖了Java ME应用开发的基础到高级技术,是学习和实践Java ME编程的理想资源。下面将详细探讨Java ME的相关知识点。 1. **Java ME基础** - **KVM(Java Virtual Machine for ...

    java手机开发入门框架代码

    Java手机开发,特别是Java ME(Java Micro Edition)是面向移动设备和嵌入式系统的编程平台。这个"java手机开发入门框架代码"很可能是为初学者准备的一个基础开发环境,包含了必要的库、示例代码和可能的开发工具。...

    配置JAVA ME开发环境

    ### 配置JAVA ME开发环境 本篇指南旨在帮助开发者们了解如何配置Java ME(Micro Edition)开发环境,包括Eclipse 3.3、EclipseME 1.7.6及WTK 2.5.2等关键组件的安装与配置步骤。下面将详细介绍每个步骤及其背后的...

    javaMe

    Java ME,全称为Java Platform, Micro Edition,是Java技术在嵌入式设备和移动设备上的一个版本,尤其针对机顶盒、手机和掌上电脑(PDA)等消费电子设备设计。这个平台允许开发者创建可以在各种小型设备上运行的应用...

Global site tag (gtag.js) - Google Analytics