浅谈将所有Java ME资源整合到一个SDK中

开发 后端
最近发布了新Java ME SDK 3.0的初期访问版本,将CLDC,CDC, Blu-ray Disc Java和LWUIT这些Java ME 开发者工具合并到一个SDK中。了解一下它是如何进行工作的。

Java ME中的“Device fragmentation”这个问题一直困扰着移动应用程序的开发者。在市场上出现的数以百计的设备中,很难知道哪些设备可以拥有新的应用程序。甚至当只针对一些设备的时候,也很难决定这些设备所支持的特征和功能的最小公分母。这使得构建应用程序变得非常困那。(有关device fragmentation的各种问题的信息请参看Damith C. Rajapakse的Web page)。

虽然“device fragmentation“一直是——可能永远都是Java Platform Micro Edition (ME)开发中棘手的问题,但至少Java ME 开发者现在可以期待在SDK中的一些碎片整理。2008年底,Sun发布了Java ME SDK version 3.0的初期访问版本。这个包将Java ME开发者工具(runtime, emulator & code editors)合并到一个SDK中,工具还包括:

Connected Limited Device Configuration (CLDC)

Connected Device Configuration (CDC)

Blu-ray Disc Java (BD-J)

尽管它带有“3.0”的字样,但是不要去寻找1.0或是2.0 SDK版本。这是该工具的***个发布版本。据推测,它的版本号事实上是基于先前已存在的Sun Wireless Toolkits for CLDC (WTK)的两个主要版本。但是,这个工具也合并了在Sun Java Toolkit for CDC (version 1.0)中的工具,同时也合并了BD—J的工具和库和Lightweight User Interface Toolkit (LWUIT)。

Java ME下载并安装

你可以从java.sun.com下载Java ME SDK 3.0 的初期访问版本。根据Sun的网页上的产品要求,你的开发机器必须是WindowsXP或是Vista(32bit)系统,带有最小200MB硬盘空间,1GB RAM和1GHz Pentium CPU。除此之外,SDK需要Java 6 (a.k.a Java 1.6)。其他的软件或是库需要取决于你开发和测试的应用程序类型。

SDK需要在一个你必须安装的55+ MB可执行文件中下载。当下载的时候,在你的系统中执行sun_java_me_sdk-3_0-ea-win.exe。安装非常简单.简单的指定哪里安装SDK,指出哪里放置Java SDK (Java 1.6 或更好的)(参见Figure 1)。你也可以选择是否让软件检查自动更新,这是这个初期访问产品的有先见之明的地方。

  Java截图

#p#

它看起来像NetBeans!

当你开始使用SDK的时候,NetBeans 开发者可能会注意到一个同NetBeans UI极其相似的情况(参看Figure 2 &Figure 3)。

  NetBeans UI

事实上,SDK是基于NetBeans平台。SDK和NetBeans 分享一个项目平台,可以再SDK和NetBeans之间往来开发(通过使用NetBeans Mobility Pack)。我有很多在NetBeans中构建的Java ME 应用程序 。在SDK中使用相同的NetBeans项目所做的所有事情就是在SDK的File菜单中使用Open Project选项并在我的旧NetBeans项目中显示SDK位置。通过将一个Java ME SDK图标放在包含Java ME 代码的文件夹旁边(参见Figure 4),SDK的Open Project对话框窗口帮助从我的NetBeans项目文件夹中的其他类型的项目中识别出Java ME项目。

Open   

对于那些在WTK和CDC Toolkits中的项目,这些项目通过New Toolkit 对话框可以被输入或转换成新的工具包,只要从SDK的File菜单中选择New Project,而且对话框窗口会一步一步引导你来将这些项目转换成NetBeans/Java ME SDK 项目系统(参见Figure 5& Figure 6)。

  New

#p#

显著特点

所以,这个新的SDK能提供什么呢? 它与其他的工具有什么不同?以下列出在Java ME SDK3.0中的一些显著特点。

Profiling

定位和消除潜在的性能瓶颈和内存问题都是在任何类型的应用程序中非常苦难的任务。但JVM管理内存的时候,你可以不经意的创建一些在一个应用程序中引用它们的有效性的Java对象,创建一个实际上存在的内存泄漏。在Java ME应用程序中,资源是很有限的,这些类型的问题会迅速变成灾难性的问题。

Profiler是可以让你可以监测正在运行的程序的很多方面,例如堆,线程,内存消耗和性能的工具,这些都是为了避免在部署程序中的资源问题。SDK同时伴有一个profiler,你可以使用它监测CLDC/MIDP程序。另外,profiler是基于NetBeans profiler的,反过来,使用Visual VM,它是Sun提供的profiler是同Java SE6 一起的。

你必须为每一个设备模拟器启用profiler。当你已经创建一个应用程序并且它成功的在设备模拟器上运行的时候,在SDK的Device Selector窗口中右键点击device并选择Properties。在设备的Properties窗口中,通过检查Enable Profiler复选框启用profiling。你可能还想要检查将要收集profiling data的文件位置(参看Figure 7 & Figure 8)。

  Properties窗口

设备设置prolife之后,在设备模拟器上运行一个程序来测试你想要收集的执行数据的代码。Profile数据直到程序退出时才被收集。当你退出程序的时候,检查Output窗口。Profile文件的位置会再次在Output窗口中列出(参见Figure 9)。

  Output窗口

Profile数据收集之后,从SDK上的Profile菜单中选择Import Java ME SDK Snapshot。在接下来的窗口中,输入profile数据的位置,该位置是在程序结束运行时在Output窗口中指定的位置。一个窗口将显示在程序执行期间的CPU snapshot(参见Figure 10 & Figure 11)。各种标签和粒度设置(package, class 和methods)让你深入到方法调用和次数以杜绝潜在的问题。

  Java

Java ME SDK不支持CDC 应用程序的profiling。根据来自Sun Java ME SDK开发小组的 Radko Najman所讲,CDC profiler打算在下一个SDK版本中推出。

【编辑推荐】

  1. Java连接MySQL中文乱码处理
  2. 在Java应用程序中使用Jfreechart配置
  3. Java虚拟机内部构成浅析
  4. 浅谈Java线程的生命周期
  5. 关于Java继承的一些复习
责任编辑:张燕妮 来源: IT专家网
相关推荐

2013-06-24 16:32:30

2016-04-29 09:27:34

模界

2013-08-20 15:55:49

移动app营销app营销资源整合

2022-10-25 08:46:03

配置中心Spring服务端

2015-05-14 17:33:10

T客帮

2022-05-31 19:03:10

微软Windows 11账户

2023-02-02 19:12:24

ChatGPT人工智能

2011-03-07 10:14:39

网络虚拟化数据中心资源整合

2020-11-04 08:00:57

虚拟机stio网格

2010-08-19 21:24:53

网络虚拟化

2015-09-08 10:28:52

数据中心资源清单

2011-08-08 09:33:50

数据中心IO虚拟化

2020-04-13 11:46:12

物联网医疗技术

2015-08-14 09:39:46

大数据

2023-03-07 07:43:07

微软ChatGPT工具

2011-11-21 17:24:13

Java MEJavaSDK

2013-07-24 18:06:07

存储存储虚拟化

2011-07-06 15:44:26

iPhone XCode Leopard

2009-09-23 08:14:23

Windows 7嵌入Silverlight

2018-05-13 15:47:31

点赞
收藏

51CTO技术栈公众号