手机开发(Java),是否使用SDK?

发布于 2024-08-20 02:43:49 字数 331 浏览 5 评论 0原文

最近要使用Java进行手机开发,打算对以下品牌进行开发:

Nokia

Samsung

SonyEricsson

Motorola

LG

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

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

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

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

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

Recently I have to develop on mobile phones using Java and I am planning to do the development on the following brands:

Nokia

Samsung

SonyEricsson

Motorola

LG

I've browsed the "developer site" of each company and looks like they all have provided their own SDKs for J2ME development.

I am really new to this field and I have a few questions:

  1. Since they all support Java platform, why do we need additional Java SDKs?

  2. What can I benefit from the SDKs?

  3. What determines whether I should use the SDKs or not?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

七度光 2024-08-27 02:43:50

对于 .NET 用户 - 有一个 Ubiq Mobile 框架。 Ubiq Mobile 应用程序适用于 Android、iOS、Windows Phone 以及基于 Java 的手机和平板电脑。这是基于云架构的 .NET 快速跨平台开发。入门文章:如何使用 视频

For .NET guys - there is a Ubiq Mobile framework. Ubiq Mobile apps work on Android, iOS, Windows Phone and Java-based phones and tablets. This is rapid cross-platform development with .NET with cloud-based architecture. Getting started article: How to create simple UbiqMobile application with video.

怀中猫帐中妖 2024-08-27 02:43:50

我的观点是“QuickRecipesOnSymbianOS”是正确的。这是一个非常简单、简单且技术性的答案。

My opinion is "QuickRecipesOnSymbianOS" is correct. It is very easy, simple and technical answer.

╄→承喏 2024-08-27 02:43:49

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

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

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

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

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

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

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

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

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

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

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

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

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

2 - 我可以从 SDK 中受益什么?

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

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

从WTK 开始。当您意识到您正在尝试执行特定于手机制造商的操作时,请获取相应的 SDK。

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

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

It all depends on how complex the application your want to develop will be.

Developing a basic application to run on that many different handsets is doable but complexity will increase exponentially with each advanced feature you add, especially if you want to target existing, old and upcoming devices.

What you also need to consider is that each manufacturer can support several operating systems and platforms.

Nokia has Series40 (3rd and 5th editions), Series60 (2nd, 3rd and 5th editions), Series80.

Samsung has at least 2 major versions of their own platform and the last 2 editions of Series60

SonyEricsson has 3 major versions of their JP8 platform (and JP7 too), Series60 5th edition, UIQ 2.x and UIQ 3.x

Series80, Series60, UIQ 2.x and UIQ 3.x are based on the Symbian operating system. Different versions of Symbian OS have used different JVMs and several companies have contributed JSR implementations.

Motorola has at least 2 major versions of their own platform and a couple UIQ devices

1 - Since they all support Java platform, why do we need additional Java SDKs?

The major problem of J2ME is fragmentation. For a variety of reasons (both good and bad, both technical and commercial), the Java promise of "Write Once, Run Anywhere" is largely considered utterly unfulfilled in the mobile industry.

Many functionalities need to be coded in a platform-specific way if you want the same code to work on many platforms at once.

Many J2ME platforms also add non-standard APIs, properties, configurations, "bugs"...

Most importantly, manufacturer SDKs are supposed to allow things like on-device debugging or MIDlet deployment over USB. They provide basic or extended tools that help on-device testing because that is an area where a generic WTK should typically be lacking.

2 - What can I benefit from the SDKs?

Very probably, yes.
Ok, so, most of them will only run on a Windows desktop computer but the SDKs themselves should be free.

3 - What determines whether I should use the SDKs or not?

Start with the WTK. When you realize you're trying to do something that is specific to the handset manufacturer, get the corresponding SDK.

One example: The WTK PDAPDemo sample application contains a rudimentary filesystem browser. It displays widely different results on different platforms.

As suggested by Pavel Alexeev, DeviceAnywhere is a great tool, assuming you have a proper test budget. Nokia also offers something similar but that is obviously limited to Nokia handsets.

岁吢 2024-08-27 02:43:49

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

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

Benefit from vendor-specific SDKs is only if you want to use vendor-specific APIs. In most cases Sun WTK would be enough.

As for testing purposes, I would not suggest to rely on emulators. You better try on-device testing. Nokia and Samsung provide remove device access for recent devices. And you can also try deviceanywhere.

半寸时光 2024-08-27 02:43:49

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

I would do most of my development with the regular old Sun..err...Oracle Java WTK, and then if you need to do some testing, get the emulators/SDK's from those companies. Other than that I'd mostly avoid them though.

赴月观长安 2024-08-27 02:43:49

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

Built in camera functionality typically differs between different brands of phone and the API's provided can be very helpful when trying to do anything more advanced than take a simple snapshot. SonyEricsson phones for example will allow you to display a camera feed through a VideoCamera directly to a canvas which is very fast but does not not allow you to control how frequently the feed is drawn to the screen. In order to draw graphics on top of the video feed without excessive flickering you need to add the OVERLAY flag (1<<8) to the VideoCamera's initDisplayMode() call, not all brands support the additional flag.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文