簡體   English   中英

使用SDK開發手機(Java)還是不開發?

[英]Develop on mobile phones(Java), using SDK or not?

最近我必須使用Java開發手機,我計划在以下品牌上進行開發:

諾基亞

三星

索尼愛立信

摩托羅拉

LG

我瀏覽了每家公司的“開發者網站”,看起來他們都為J2ME開發提供了自己的SDK。

我對這個領域很陌生,我有幾個問題:

  1. 由於它們都支持Java平台,為什么我們需要額外的Java SDK?

  2. 我可以從SDK中受益匪淺?

  3. 是什么決定我是否應該使用SDK?

這一切都取決於您希望開發的應用程序的復雜程度。

開發一個基本應用程序以在許多不同的手機上運行是可行的,但復雜性將隨着您添加的每個高級功能呈指數級增長,特別是如果您想要定位現有的,舊的和即將推出的設備。

您還需要考慮的是,每個制造商都可以支持多種操作系統和平台。

諾基亞擁有Seri​​es40(第3和第5版),Series60(第2版,第3版和第5版),Series80。

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

SonyEricsson有他們的JP8平台的3個主要版本(以及JP7),Series60第5版,UIQ 2.x和UIQ 3.x

Series80,Series60,UIQ 2.x和UIQ 3.x基於Symbian操作系統。 不同版本的Symbian OS使用了不同的JVM,並且有幾家公司提供了JSR實現。

摩托羅拉至少有兩個主要版本的自己的平台和幾個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是一個很好的工具,假設你有一個合適的測試預算。 諾基亞也提供類似的東西,但顯然僅限於諾基亞手機。

只有在您希望使用特定於供應商的API時,才能從特定於供應商的SDK中獲益。 在大多數情況下,Sun WTK就足夠了。

至於測試目的,我不建議依賴仿真器。 您最好嘗試在設備上進行測試。 諾基亞和三星為最新設備提供移除設備訪問權限。 你也可以嘗試設備

我會使用常規的舊版本... Oracle Java WTK進行大部分開發,然后如果您需要進行一些測試,請從這些公司獲取模擬器/ SDK。 除此之外,我主要是避開它們。

內置攝像頭功能通常在不同品牌的手機之間有所不同,並且在嘗試執行比拍攝簡單快照更高級的任何操作時,提供的API非常有用。 例如,SonyEricsson手機將允許您通過VideoCamera將攝像機直接顯示到畫布,該畫布速度非常快,但不允許您控制饋送到屏幕的頻率。 為了在視頻源之上繪制圖形而不會過度閃爍,您需要將OVERLAY標志(1 << 8)添加到VideoCamera的initDisplayMode()調用中,並非所有品牌都支持附加標志。

對於.NET人員 - 有一個Ubiq Mobile框架 Ubiq Mobile應用程序適用於Android,iOS,Windows Phone 和基於Java的手機和平板電腦 這是.NET與基於雲的架構的快速跨平台開發。 入門文章: 如何使用視頻 創建簡單的UbiqMobile應用程序

我的觀點是“QuickRecipesOnSymbianOS”是正確的。 這是非常簡單,簡單和技術的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM