【问题标题】:Develop on mobile phones(Java), using SDK or not?在手机(Java)上开发,是否使用SDK?
【发布时间】:2010-02-02 03:54:39
【问题描述】:

最近要在手机上用Java做开发,打算做以下品牌的开发:

诺基亚

三星

索尼爱立信

摩托罗拉

LG

我浏览了每家公司的“开发者网站”,看起来他们都提供了自己的用于 J2ME 开发的 SDK。

我对这个领域真的很陌生,我有几个问题:

  1. 既然都支持 Java 平台,为什么还需要额外的 Java SDK?

  2. 我可以从 SDK 中获得什么好处?

  3. 什么决定了我是否应该使用 SDK?

【问题讨论】:

    标签: java java-me mobile sdk nokia


    【解决方案1】:

    这完全取决于您要开发的应用程序有多复杂。

    开发一个可在多种不同手机上运行的基本应用程序是可行的,但复杂性会随着您添加的每项高级功能而呈指数级增加,特别是如果您想针对现有的、旧的和即将推出的设备。

    您还需要考虑的是,每个制造商都可以支持多个操作系统和平台。

    诺基亚有 Series40(第 3 和第 5 版)、Series60(第 2、第 3 和第 5 版)、Series80。

    三星自有平台至少有 2 个主要版本和 Series60 的最后 2 个版本

    索尼爱立信有 3 个主要版本的 JP8 平台(以及 JP7),Series60 第 5 版、UIQ 2.x 和 UIQ 3.x

    Series80、Series60、UIQ 2.x 和 UIQ 3.x 基于 Symbian 操作系统。不同版本的 Symbian OS 使用了不同的 JVM,并且有几家公司贡献了 JSR 实现。

    摩托罗拉至少有自己平台的 2 个主要版本和几个 UIQ 设备

    1 - 既然它们都支持 Java 平台,为什么我们需要额外的 Java SDK?

    J2ME 的主要问题是碎片化。由于各种原因(无论是好是坏,技术和商业),Java 的“一次编写,随处运行”的承诺在很大程度上被认为在移动行业完全没有实现。

    如果您希望相同的代码同时在多个平台上运行,则需要以特定于平台的方式对许多功能进行编码。

    许多 J2ME 平台还添加了非标准 API、属性、配置、“错误”...

    最重要的是,制造商 SDK 应该允许在设备上进行调试或通过 USB 部署 MIDlet。它们提供了有助于在设备上进行测试的基本或扩展工具,因为这是通用 WTK 通常应该缺乏的领域。

    2 - 我可以从 SDK 中获得什么好处?

    很可能,是的。 好的,所以,它们中的大多数只能在 Windows 桌面计算机上运行,​​但 SDK 本身应该是免费的。

    3 - 什么决定了我是否应该使用 SDK?

    从 WTK 开始。当您意识到您正在尝试做一些特定于手机制造商的事情时,请获取相应的 SDK。

    一个例子:WTK PDAPDemo 示例应用程序包含一个基本的文件系统浏览器。它在不同平台上显示的结果大相径庭。

    正如 Pavel Alexeev 所建议的,DeviceAnywhere 是一个很棒的工具,前提是您有适当的测试预算。诺基亚也提供类似的产品,但显然仅限于诺基亚手机。

    【讨论】:

      【解决方案2】:

      只有在您想使用特定于供应商的 API 时,才能从特定于供应商的 SDK 中获益。在大多数情况下,Sun WTK 就足够了。

      出于测试目的,我不建议依赖模拟器。您最好尝试在设备上进行测试。诺基亚和三星为最近的设备提供删除设备访问权限。你也可以试试deviceanywhere

      【讨论】:

        【解决方案3】:

        我将使用常规的旧 Sun..err...Oracle Java WTK 进行大部分开发,然后如果您需要进行一些测试,请从这些公司获取模拟器/SDK。但除此之外,我大多会避开它们。

        【讨论】:

          【解决方案4】:

          不同品牌手机的内置摄像头功能通常有所不同,并且在尝试执行比拍摄简单快照更高级的操作时,所提供的 API 会非常有用。例如,索尼爱立信手机将允许您通过 VideoCamera 将摄像头馈送直接显示到画布上,这非常快,但不允许您控制馈送在屏幕上绘制的频率。为了在视频源顶部绘制图形而不会过度闪烁,您需要在 VideoCamera 的 initDisplayMode() 调用中添加 OVERLAY 标志 (1

          【讨论】:

            【解决方案5】:

            对于 .NET 人员 - 有一个 Ubiq Mobile 框架。 Ubiq 移动应用适用于 Android、iOS、Windows Phone以及基于 Java 的手机和平板电脑。这是使用 .NET 和基于云的架构的快速跨平台开发。入门文章:How to create simple UbiqMobile applicationvideo

            【讨论】:

              【解决方案6】:

              我的意见是“QuickRecipesOnSymbianOS”是正确的。这是非常容易、简单和技术性的答案。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2018-08-17
                • 1970-01-01
                • 1970-01-01
                • 2016-09-12
                • 1970-01-01
                • 2016-02-02
                • 2011-05-24
                • 2012-08-28
                相关资源
                最近更新 更多