BlackBerry J2ME 编程指南(一)
作者: 王志 刚
第一 篇 J2M E 编程基本指南
1 引言
根据 mobil e v i si o n 的最新报告,目 前在移 动开发 市场 , 200 8 年之前一直占据 开发 者关注度 主要地 位的 Java ME 已经慢慢被新 兴开发 技术 所领先。 但是依 然占据 前三 的位置。 作为 blackb e rr y 开 发策略和 平台的 一个重 要补充, J2ME 的开发在 blackbe r r y 设备的应用中, 也占 据着极为 重要的 位置。 这篇文章 ,主要 从 J2ME 的编程的具体 角度来 评估和 衡量 J2ME 开发的具体方法, 通过 与标准 J2S E 的比较,结 合 Blac k Be r r y 开发平台上的 J2M E 编程的特点,为广 大 Black B er r y 开发者提供一 个指 南。
本文的主 要内容 分为三 个部 分: 第一部分 是关于 J2ME 的概览 ,包括 J2ME 的框架和 API 的构成结构 第二部分 是 J2ME 的差异,主 要从编程 的角度 来讨论 和识别 J2M E 编程和标准 J2SE 的区别不同
第三部分 是 Black B er r y 的 J 2 M E 编程环境介绍 ,这部 分主 要介绍 BlackB e rr y 环境下的 J2ME 编程指南,包括开 发环境, 编码测 试帮助 以及 一些开发 上的功 能增强 。 关于 J2ME 编程的详细指 南和 入门,可 以参考 oracle 的官方网站: htt p :/ / ww w .o r a c l e. c om / t e chn e tw o rk / ja v a/ j av a me / o v erv i ew / in d ex . ht ml
2 J2ME 概述
2. 1 介绍
这 一章将 开始教 您使 用 J2ME 。我们将从定义 J2M E 开始,然后讨论 它的总 体架构并 学习 J2M E 目标 设备。作 为架构 讨论的 一部 分,我们 将提供 有关简 表和 配置的概 述(后 面的章 节中 将详细介 绍简表 和配 置)。
2. 2 J2M E 是什么 ?
S u n Mi c ro s ys t em s 将 J 2M E 定义为“一种以广 泛的 消费性产 品为目 标的的 高度 优化的 Jav a 运行时环 境,包括 寻呼机 、移动 电话 、可视电 话、数 字机顶 盒和 汽车导航 系统。 ”
自从 1 9 9 9 年 J av a On e D eve lop e r C on f er e nc e 上声明之后, J2M E 为小型设备 带来了 Jav a 语言的跨平 台功能, 允许移 动无线 设备 共享应用 程序。 有了 J2M E , Su n 已经使 Ja v a 平台能够适应集 成了或 基于小 型 计算设备 的用户 产品。
2. 3 J2M E 总体架 构
J2M E 使用配置和简表 定制 Jav a 运行时环境 (J R E ) 。作为一个完整 的 JR E , J2M E 由配置和简表组 成,配置 决定了 使用的 JVM ,而简表 通过添 加特定 于域 的类来定 义应用 程序。
配置将基本运行 时环境 定义为一 组核心 类和一 个运 行在特定 类型设 备上的 特定 JVM 。我们将在 J2M E 配 置一章中 详细讨 论配置 。
简表定义应用程 序;特 别地,它 向 J2M E 配置中添加特定于 域的类 ,定义 设备 的某种作 用。我 们将在
J2M E 简表一章中深 入介绍 简表。
下面的图表描述 了不同 的虚拟机 、配置 和简表 之间 的关系。 它同时 把 J2S E A P I 和它的 Jav a 虚拟机进 行了比较 。虽然 J2S E 虚拟机通常被 称为 一 种 JVM ,但是 J2M E 虚拟机、 KV M 和 C V M 都是 J V M 的子集。
KV M 和 CV M 均可被看作是 一种 Jav a 虚拟机 - - 它们是 J2S E J V M 的压缩版,并 特定于 J2M E 。
2. 4 配置概述
配 置将基 本运行 时环 境定义为 一组核 心类和 一个 运行在特 定类型 设备上 的特 定 JVM 。虽然还可能在 将
来定义其 他的配 置,但 当前 J2 M E 存在两种配置:
· 连接限制设备配置 (CLDC ) 特别与 KV M 一起用于内存有限 的 1 6 位或 3 2 位 设备。这 是用于 开发小
型 J2M E 应用程序的配 置( 虚拟机) 。(从 开发的 角度 来看)它 的大小 限制让 它比 CD C 更有趣、更具 挑战 性。 CLD C 同时还是用于开 发绘图工 具应用 程序的 配置 。 Pal m 电脑便是一个 运行 小应用程 序的小 型无线 设 备的示例 。我们 将在 J2M E 配置一章 中深入 介绍 CLD C 。
· 连接设备配置 (CDC ) 与 C 虚拟机 (CV M ) 一起使用,用于 要求内 存超过 2 兆的 3 2 位体系结构。 互 联网电视 机顶盒 便是这 类设 备的一个 示例。 虽然稍 后我 们将在 CD C A P I 一章中简要介绍 CD C ,但它并不 在
本教程的 范围内 。
2. 5 简表概述
简 表定义 了您的 应用 程序所支 持的设 备类型 。特 别地,它 向 J2M E 配置添加了特定于 域的类 来定义 设 备的某种 作用。 简表建 立在 配置的顶 部。已 经为 J2M E 定义了两 种简表 : KJav a 和 移动信息 设备简 表
(MI D P ) ,它们也被建立 在 CDL C 上。这两种简表适 用于 小型设备 。 有一种纲要简表 ,您可 以在它的 上面创 建自己 的简 表,这种 纲要简 表也称 为基 础表,可 供 CD C 使用。
然而,在 本教程 中,我 们只 重点介绍 建立在 CLD C 顶部,适用于 小型设 备的简 表。 我们将在后面的 章节中 讨论上述 这些简 表,还 会使 用 MID P 建立一些示例 应用 程序。
2. 6 J2M E 目标设 备
使 用 CLD C 开发的 J 2 M E 应用程序的目标 设备通 常具有以 下特征 :
· 可供 J av a 平台使用 的 16 0 到 51 2 千字节的总 内存
· 功率有限,常常是电 池供电
· 网络连通性,常常是 无线的、 不一致 的连接 并且 带宽有限
· 用户接口混乱,程度 参差不齐 ;有时 根本就 没有 接口
一些 C L D C 支持的设备,包括无 线电话 、寻呼 机、 主流 个人 数字助 手 (PDA) , 以及小型 零售支 付终端 。 依照 S u n M ic r os y st e ms , CD C 的目标设备通常 具有 以下特征 :
· 使用 3 2 位处理器
· 2 兆字节或更多可 供 Jav a
BlackBerry J2ME 编程指南(一)相关推荐
- blackberry平台J2ME编程指南(四)
2.4 配置概述 配置将基本运行时环境定义为一组核心类和一个运行在特定类型设备上的特定 JVM.虽然还可能在将来定义其他的配置,但当前 J2ME 存在两种配置: · 连接限制设备配置 (C ...
- javassist编程指南(一)
javassist编程指南(主译) javassist是什么? Javassist(Java 编程辅助)使得Java字节码操作更简单. Javassist可用于编辑字节码的类库. 允许Java程序可以 ...
- 《树莓派Python编程指南》——2.2 一个Python游戏:猫和老鼠
本节书摘来自华章计算机<树莓派Python编程指南>一书中的第2章,第2.2节,作者:(美) Alex Bradbury Ben Everard更多章节内容可以访问云栖社区"华章 ...
- 《树莓派Python编程指南》—— 1.3 树莓派快速指南
本节书摘来自华章计算机<树莓派Python编程指南>一书中的第1章,第1.3节,作者:(美) Alex Bradbury Ben Everard更多章节内容可以访问云栖社区"华章 ...
- 《树莓派Python编程指南》——2.3 小结
本节书摘来自华章计算机<树莓派Python编程指南>一书中的第2章,第2.3节,作者:(美) Alex Bradbury Ben Everard更多章节内容可以访问云栖社区"华章 ...
- 写给NLP研究者的编程指南
点击上方↑↑↑蓝字关注我们~ 参加 2019 Python开发者日,请扫码咨询 ↑↑↑ 作者 | 赤乐君,日本某大手研发部门的NLP工程师.关注关系抽取与知识图谱的相关研究. 来源 | 赤乐君的知乎专 ...
- 高并发编程_高并发编程系列:7大并发容器详解(附面试题和企业编程指南)...
不知道从什么时候起,在Java编程中,经常听到Java集合类,同步容器.并发容器,高并发编程成为当下程序员需要去了解掌握的技术之一,那么他们有哪些具体分类,以及各自之间的区别和优劣呢? 只有把这些梳理 ...
- 《Python面向对象编程指南》——1.2 基类中的__init__()方法
本节书摘来自异步社区<Python面向对象编程指南>一书中的第1章,第1.2节,作者[美]Steven F. Lott, 张心韬 兰亮 译,更多章节内容可以访问云栖社区"异步社区 ...
- 类型参数的约束(C# 编程指南)
类型参数的约束(C# 编程指南) Visual Studio 2005 其他版本 38(共 55)对本文的评价是有帮助 - 评价此主题 在定义泛型类时,可以对客户端代码能够在实例化类时用于类型参数的类 ...
- IA-32系统编程指南 - 第三章 保护模式的内存管理【1】
第三章 保护模式的内存管理[1] [作者:lion3875 原创文章 参考文献<Intel 64 and IA-32 system programming guide>] IA-32保护模 ...
最新文章
- alter system switch logfile与alter system archive log current的区别
- 找到多个与名为“ Home”的控制器匹配的类型
- 世界-中国-省-市-县 天气预报
- Python 内建函数
- USB port 如何识别不同的Charger类型
- ROS 服务和参数:ROS Services and Parameters
- java webservice用户验证_java webservice 用户验证 (服务端 + 客户端)
- 题目1544:数字序列区间最小值
- ATP-EMTP中变压器联结方式与电压的关系
- DB2 查看表空间使用率
- 蓝牙安全与攻击案例分析
- [CVPR2021]pi-GAN: Periodic Implicit Generative Adversarial Networks for 3D-Aware Image Synthesis
- 开始撸lodash源码
- 数据结构几个最简单的阐述完整版(带你入门:链表,栈,队列,哈希表,树)通俗易懂简单明了
- 通过windows自带远程桌面,实现不同局域网的电脑相互访问(默默P2P远程桌面管理工具-直接内网穿透)
- virtuoso小白入门
- 计算机教室布置软木,软木照片墙布置,让孩子体验手工的乐趣
- 2020年自考计算机应用基础和实践是什么,2020年自考计算机应用基础复习重点8
- Java中的值传递和地址值传递
- php 用count 变量,countif函数的使用方法 PHP的可变变量名的使用方法分享
热门文章
- BIGEMAP如何发布百度离线地图及二次开发API
- segmentation fault
- 运行Map Reduce报错Got exception: java.net.ConnectException: Call From master.localdomain/127.0.0.1 to
- 【vn.py】SpreadTrading价差交易
- 2022.4.21 python中关于sklearn 0.18的错误—— cannot import name comb
- [译]How To Use the Linux Auditing System on CentOS 7
- 60+张PPT,教你如何搭建Spark离线数仓!
- DevExpress 皮肤控件 更换皮肤
- idea服务关不掉的问题
- Linux下安装各种常用软件