官术网_书友最值得收藏!

1.1 J2ME基本概述

1.1.1 Java概述

Java是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計(jì)語(yǔ)言和Java平臺(tái)的統(tǒng)稱。經(jīng)過多年的發(fā)展,Java已經(jīng)成為一個(gè)全面成熟的面向?qū)ο髴?yīng)用程序開發(fā)平臺(tái),使用廣泛。

Java分為3個(gè)體系:J2SE、J2EE和J2ME。

J2SE,即Java2 Platform Standard Edition,Java平臺(tái)標(biāo)準(zhǔn)版。它是允許開發(fā)和部署在桌面、服務(wù)器、嵌入式環(huán)境和實(shí)時(shí)環(huán)境中使用的Java應(yīng)用程序。J2SE 包含了支持Java Web服務(wù)開發(fā)的類,并為J2EE提供基礎(chǔ),主要用于傳統(tǒng)且成熟的桌面系統(tǒng)。

J2EE,即Java2 Platform Enterprise Edition,Java平臺(tái)企業(yè)版。企業(yè)版本的Java平臺(tái)幫助開發(fā)和部署可移植、健壯、可伸縮且安全的服務(wù)器端Java2應(yīng)用程序。J2EE是在J2SE的基礎(chǔ)上構(gòu)建的,它提供Web服務(wù)、組件模型、管理和通信API,可以用來(lái)實(shí)現(xiàn)企業(yè)級(jí)的面向服務(wù)體系結(jié)構(gòu)(Service-Oriented Architecture,SOA)和Web 2.0應(yīng)用程序。

J2ME,即Java2 Platform Micro Edition,Java平臺(tái)微型版。J2ME為在移動(dòng)設(shè)備和嵌入式設(shè)備(比如手機(jī)、PDA、電視機(jī)頂盒和打印機(jī))上運(yùn)行的應(yīng)用程序提供一個(gè)健壯且靈活的環(huán)境。J2ME包括靈活的用戶界面、健壯的安全模型、許多內(nèi)置的網(wǎng)絡(luò)協(xié)議,以及對(duì)可以動(dòng)態(tài)下載的聯(lián)網(wǎng)和離線應(yīng)用程序的豐富支持。基于J2ME規(guī)范的應(yīng)用程序只需編寫一次,就可以用于許多設(shè)備,而且可以利用每個(gè)設(shè)備的本機(jī)功能。

Java的版本結(jié)構(gòu)如圖1-1所示。

圖1-1 Java的版本結(jié)構(gòu)

1.1.2 J2ME的體系結(jié)構(gòu)

J2ME根據(jù)其技術(shù)架構(gòu)分為簡(jiǎn)表層(Profiles)、配置層(Configurations)和Java虛擬機(jī)(Java Virtual Machines,JVM)3層,然后在每一層中再細(xì)分。J2ME體系的一般結(jié)構(gòu)是由Configurations定義的Java虛擬機(jī)運(yùn)行于設(shè)備的宿主操作系統(tǒng)(Host Operating System)之上,構(gòu)成整個(gè)平臺(tái)的基礎(chǔ)。Configurations提供了基本的語(yǔ)言特性,Profiles提供針對(duì)設(shè)備的特殊功能API和擴(kuò)展類庫(kù)。應(yīng)用程序的運(yùn)行環(huán)境需要一個(gè)Configuration和至少一個(gè)Profile,多個(gè)Profile可以共存,也可以疊加。J2ME的分層結(jié)構(gòu)如圖1-2所示。

圖1-2 J2ME 的分層結(jié)構(gòu)

Java虛擬機(jī)層針對(duì)設(shè)備操作系統(tǒng)定制的Java虛擬機(jī)的實(shí)現(xiàn),支持特定的J2ME配置,是J2ME運(yùn)行的核心。

Configurations層的分類是根據(jù)計(jì)算能力的不同來(lái)劃分的,同類設(shè)備的計(jì)算能力相近。Configurations是一個(gè)規(guī)范,定義了這類設(shè)備的共同Java平臺(tái),定義與設(shè)備無(wú)關(guān)的Java虛擬機(jī)和核心庫(kù),是平臺(tái)相容性的基礎(chǔ)。Configurations定義了一個(gè)基本的J2ME運(yùn)行環(huán)境,滿足該設(shè)備的Java虛擬機(jī)功能的最小子集和針對(duì)該族設(shè)備的Java類庫(kù)的最小集合,主要針對(duì)的是系統(tǒng)級(jí)的特性。

Profiles層的分類是根據(jù)設(shè)備功能劃分的,同類功能的設(shè)備的其他各種硬件條件和需求也相近。Profiles是一組API,在某一個(gè)Configuration的基礎(chǔ)上擴(kuò)展了針對(duì)設(shè)備特定功能的API,使得標(biāo)準(zhǔn)能夠完全適應(yīng)特殊的設(shè)備,徹底發(fā)揮設(shè)備的功能。簡(jiǎn)表Profiles是構(gòu)建在配置層Configurations之上的一層類庫(kù),提供Configurations層中所缺失的功能以支持特定的設(shè)備,主要提供了應(yīng)用程序級(jí)的接口

注意:一個(gè)設(shè)備可以支持多個(gè)Profile。

1.1.3 J2ME規(guī)范

在國(guó)際上,有一個(gè)由Sun主導(dǎo)的標(biāo)準(zhǔn)化組織JCP(Java Community Process),該組織根據(jù)領(lǐng)域的不同,分為3個(gè)大的工作方向,即J2EE、J2SE和J2ME。而J2ME領(lǐng)域的標(biāo)準(zhǔn)的制定者,包括業(yè)界知名的運(yùn)營(yíng)商,如Vodafone、Orange、中國(guó)移動(dòng)等;終端制造商,如Nokia、Motorola、Sumsung等;提供Java虛擬機(jī)的廠商,如IBM、Aplix、Esmertec等;以及一些感興趣的公司團(tuán)體。

JCP中的每個(gè)規(guī)范被稱為JSR(Java Specification Request)。各個(gè)JSR分別從不同的角度對(duì)Java虛擬機(jī)的能力進(jìn)行了規(guī)范,并對(duì)應(yīng)一個(gè)數(shù)字編號(hào),如JSR75規(guī)定了Java應(yīng)用如何通過虛擬機(jī)提供的接口來(lái)訪問終端操作系統(tǒng)的PIM數(shù)據(jù)和文件系統(tǒng)。此外,還包括針對(duì)藍(lán)牙、多媒體、短信、彩信等的規(guī)范。而這些規(guī)范的發(fā)布、更新和維護(hù)由JCP來(lái)統(tǒng)一管理,確保了讓業(yè)界不同角色的廠商能夠共同參與定義J2ME平臺(tái)的能力,共同推進(jìn)Java技術(shù)向前發(fā)展。

JTWI(Java Technology for the Wireless Industry,JSR185)正是為了完成“建立一個(gè)標(biāo)準(zhǔn)來(lái)保證J2ME應(yīng)用程序的跨平臺(tái)性”這個(gè)目的而出現(xiàn)的。

JTWI對(duì)如下的一些方面進(jìn)行了規(guī)范,實(shí)現(xiàn)JTWI的設(shè)備必須遵守這些規(guī)范。

(1)規(guī)定了標(biāo)準(zhǔn)應(yīng)用程序的大小,設(shè)備必須支持64KB大小的應(yīng)用程序和5KB大小的JAD文件。持久性存儲(chǔ)的大小為30KB,heap空間從MIDP 2.0中的128KB提高到256KB。

(2)記事功能,可以使用PushRegistry的registerAlarm()方法來(lái)實(shí)現(xiàn)。

(3)JSR185對(duì)設(shè)備的屏幕尺寸建議為125×125/12bit。設(shè)備必須支持JPEG格式的圖片。HTTP1.1必須被支持。

(4)JSR185是基于WMA的,因此設(shè)備必須具備發(fā)送和接受短消息的能力,JSR185還規(guī)定,應(yīng)用程序在準(zhǔn)備發(fā)送短消息的時(shí)候,當(dāng)提供了TextField和TextBox組件時(shí),應(yīng)該可以給用戶彈出本機(jī)的電話本以供選擇。

(5)對(duì)移動(dòng)多媒體進(jìn)行支持,必須實(shí)現(xiàn)對(duì)MIDI和單音的支持。

表1-1中列舉了一些在J2ME發(fā)展史上比較重要的JSR及其功能描述。

表1-1 J2ME規(guī)范及其功能描述

1.1.4 手機(jī)平臺(tái)開發(fā)

隨著手機(jī)的迅速普及和不斷更新,人們對(duì)于手機(jī)的要求已不單單是通信,還有很多增值服務(wù)及娛樂功能,所以手機(jī)平臺(tái)上的軟件開發(fā)已經(jīng)成為IT產(chǎn)業(yè)中增長(zhǎng)最快的部分之一。

手機(jī)已經(jīng)與現(xiàn)代生活方式緊緊地結(jié)合在一起。它們是人們最普遍攜帶的個(gè)人用品中僅次于鑰匙和錢包的東西。你可以隨時(shí)看到一個(gè)人在任何地點(diǎn)低頭擺弄自己的手機(jī),巨大的使用量使得手機(jī)平臺(tái)上的軟件開發(fā)成為一個(gè)非常具有潛力的行業(yè),尤其是手機(jī)游戲的開發(fā)。那么由于手機(jī)平臺(tái)具有自己獨(dú)特的性質(zhì),它也為手機(jī)游戲開發(fā)提出了獨(dú)特的要求。

1.手機(jī)游戲的優(yōu)勢(shì)

(1)規(guī)模小、周期短:由于手機(jī)平臺(tái)硬件設(shè)備上的限制,所以手機(jī)游戲通常不需要大量的人力、物力,三五個(gè)人的團(tuán)隊(duì)即可,而且開發(fā)周期很多,如果有較好的構(gòu)思和創(chuàng)意,可能一周甚至幾天就可以完成一個(gè)手機(jī)游戲的開發(fā)。

(2)網(wǎng)絡(luò)支持:隨著手機(jī)的不斷發(fā)展,手機(jī)對(duì)于網(wǎng)絡(luò)的支持已經(jīng)比較成熟,因此對(duì)于一些聯(lián)網(wǎng)游戲的開發(fā)也提供了很大的空間。

(3)龐大的用戶群:以目前的手機(jī)市場(chǎng)規(guī)模來(lái)看,已經(jīng)是人手一機(jī),而且因?yàn)槭謾C(jī)隨身攜帶方便,已經(jīng)逐漸取代MP3、MP4、電子書及游戲機(jī)。

2.手機(jī)游戲的限制

(1)內(nèi)存空間有限:盡管手機(jī)在不斷地發(fā)展,無(wú)論是硬件平臺(tái)還是各種各樣的智能系統(tǒng)都不能改變手機(jī)在內(nèi)存及硬件空間上無(wú)法與普通計(jì)算機(jī)比擬的現(xiàn)狀,所以在進(jìn)行手機(jī)游戲開發(fā)時(shí)要注意應(yīng)用程序的大小。

(2)屏幕大小:現(xiàn)在的手機(jī)已經(jīng)在盡可能地節(jié)省空間,擴(kuò)大屏幕,例如全觸屏的實(shí)現(xiàn),但是為了保持它隨身攜帶的方便,屏幕沒有辦法無(wú)限大,這樣在進(jìn)行游戲開發(fā)時(shí)畫面大小與美工排版都是開發(fā)者需要考慮的問題。

(3)耗電:手機(jī)功能的不斷完善是對(duì)手機(jī)電池的一種考驗(yàn),在進(jìn)行游戲開發(fā)時(shí)除了考慮到手機(jī)性能之外,還要考慮耗電的問題,這個(gè)問題可能更多的時(shí)候要從美工的角度來(lái)考慮。

3.成功的手機(jī)游戲應(yīng)具有的特征

(1)可中斷性:當(dāng)用戶在玩游戲時(shí),突然有電話進(jìn)來(lái),這時(shí)正在進(jìn)行的游戲就會(huì)中止,這就要求游戲程序必須能夠自動(dòng)暫停游戲的執(zhí)行,而且保存玩家的進(jìn)度。

(2)短時(shí)間的游戲:因?yàn)槭謾C(jī)游戲往往是在一些短的時(shí)間間隙來(lái)進(jìn)行的,例如候車、等人,所以設(shè)計(jì)的游戲要在一個(gè)相對(duì)較短的時(shí)間內(nèi)給玩家一個(gè)過關(guān)的游戲體驗(yàn)。

(3)小型化:手機(jī)游戲一定要小型化,適合在手機(jī)平臺(tái)上玩,避免游戲加載時(shí)間過長(zhǎng),避免元素過多,避免界面混亂。

(4)易于學(xué)習(xí):既然手機(jī)游戲面向的是普通消費(fèi)者而不是計(jì)算機(jī)高手,那么他們不可能深入地學(xué)習(xí)游戲技巧,更不可能像網(wǎng)絡(luò)游戲一樣會(huì)有一本專門的游戲攻略,所以游戲必須是一下載就可以玩的。

主站蜘蛛池模板: 和硕县| 宁晋县| 肇庆市| 腾冲县| 东兰县| 许昌县| 宜兴市| 古田县| 苗栗县| 青岛市| 沙湾县| 郓城县| 德令哈市| 苍溪县| 卢湾区| 许昌市| 长寿区| 海林市| 佛冈县| 中宁县| 济源市| 原平市| 绥江县| 石棉县| 兴文县| 福贡县| 祥云县| 稷山县| 山阳县| 平凉市| 磐安县| 阿城市| 桐城市| 宁海县| 调兵山市| 阿图什市| 阜城县| 陇南市| 双桥区| 蒙城县| 竹北市|