Java J2ME无线工具包和选择哪个工具包有什么区别?

Java J2ME无线工具包和选择哪个工具包有什么区别?,java,java-me,sdk,wireless,midp,Java,Java Me,Sdk,Wireless,Midp,我已经知道Java编辑(ME、SE、EE)、ME配置(CDC和CLDC)、概要文件(如MIDP)和JSR指定的其他API之间的区别 但我完全不知道几个无线工具包的不同之处 例如,显式支持这些,并声明其他也存在: Sun无线工具包 适用于JavaME的MOTODEV SDK 诺基亚SDK S40/S60 索尼爱立信J2ME SDK Sprint PC无线Java工具包 西门子60系列SMTK mpowerplayer 微型模拟器 我想开发一个在尽可能多的设备上运行的MIDP应用程序,我将用于构

我已经知道Java编辑(ME、SE、EE)、ME配置(CDC和CLDC)、概要文件(如MIDP)和JSR指定的其他API之间的区别

但我完全不知道几个无线工具包的不同之处

例如,显式支持这些,并声明其他也存在:

  • Sun无线工具包
  • 适用于JavaME的MOTODEV SDK
  • 诺基亚SDK S40/S60
  • 索尼爱立信J2ME SDK
  • Sprint PC无线Java工具包
  • 西门子60系列SMTK
  • mpowerplayer
  • 微型模拟器
我想开发一个在尽可能多的设备上运行的MIDP应用程序,我将用于构建自动化。无论如何,我必须安装一个或多个工具包,但不知道是哪个

因此,有以下子问题:

  • 有什么区别
  • 有没有最好的
  • 或者我需要安装几个/全部吗
  • 我有一台索尼爱立信设备用于测试,这是否意味着我需要索尼Erricson J2ME SDK

特定于设备的工具包通常只包含调试工具和模拟器、传输程序和自定义库(即特定于设备的音频库)

通用midp代码应与所有设备兼容,尤其是索尼爱立信

我发现通常是音频代码有助于满足对设备SDK的需求。诺基亚过去也使用一种特殊的帆布,但这只适用于真正的老式手机


编辑:一般来说,如果你需要SDK,请安装它,否则请使用Sun WTK。我发现索尼工具包最容易使用,主要是因为它有标准尺寸的屏幕(即176x220和240x320),可以在模拟器上轻松切换


如果您使用天线构建应用程序,则只需安装WTK和Blackberry SDK即可获得完整的构建集,除非您打算使用特定于设备的API,否则每个工具包都提供所需的基本CLDC/MIDP类。在某些情况下,它们是特定于设备的,例如,如果您选择诺基亚S60第三版FP1工具包(我已经使用过),它将使用CLDC 1.1和MIDP 2.0。除此之外,您会发现每个特定于供应商的工具包都会附带额外的工具,这些工具仅在某些设备上可用。由于您希望为尽可能多的设备编写代码,因此您不会使用这些额外的设备,因此可能应该坚持使用Sun WTK


使用天线构建时,如果您也使用Sun WTK,则可以指定要使用的CLDC和MIDP版本。如果您使用任何其他工具包,您可能会遇到天线问题,因为它查找非常特定的文件(硬编码),因此如果您将WTK.home变量指定为诺基亚S60,它将找不到所需的文件,因此您需要进行一些黑客攻击(诺基亚S60的所有类文件都打包在一个jar文件中,不像Sun WTK将它们全部分离到JSR中)。

是的,但实际上Sun-Java ME SDK 3.0中有一个更新的SDK(用于替换WTK)。这就是J2ME抛光的用武之地