明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

《新一代Java手機程序設(shè)計– Symbian EPOC篇》

[摘要]主  題:大家給這本書的內(nèi)容提點建議,好嗎?我們打算出版:《新一代Java手機程序設(shè)計– Symbian EPOC篇》,臺灣王森著(華中科技大學(xué)出版社)。作  者:yeka所屬論壇:嵌入式開發(fā)《新一代Java手機程序設(shè)計– Symbian EPOC篇》,臺灣王森著。內(nèi)容簡介(作者提供):電信大廠N...
主  題:大家給這本書的內(nèi)容提點建議,好嗎?我們打算出版:《新一代Java手機程序設(shè)計– Symbian EPOC篇》,
臺灣王森著(華中科技大學(xué)出版社)。
作  者:yeka
所屬論壇:嵌入式開發(fā)

《新一代Java手機程序設(shè)計– Symbian EPOC篇》,臺灣王森著。

內(nèi)容簡介(作者提供):

電信大廠Nokia在2001年11月,宣布成立一個由多家廠商組成的聯(lián)盟,來共同制定未來的移動電話技術(shù)標(biāo)準(zhǔn)。其中Java技術(shù)是這個標(biāo)準(zhǔn)中非常重要的一部分。

Nokia的CEO Jorma Ollila在Comdex的演講中,稱呼這個新的標(biāo)準(zhǔn)制訂組織為"Open Mobile architecture initiative"(開放行動架構(gòu)組織)。
目前加入的成員包括手機制造商和電信業(yè)者,名單上有AT&T Wireless,
NTT DoCoMo,Sony,Ericsson,Motorola,Siemens,Sharp,Samsung,
NEC,Matsushita等等。
這個聯(lián)盟將支持一些技術(shù)標(biāo)準(zhǔn),第一個是Java。Java平臺可以成為一個
各家手機、各種應(yīng)用程序通用的運算平臺,也同時具備網(wǎng)絡(luò)通訊功能和
可靠的網(wǎng)絡(luò)安全特性。另外包括的技術(shù)標(biāo)準(zhǔn)有MMS(Multimedia Messaging Service,多媒體傳訊服務(wù)),將可以發(fā)送圖片或其它多媒體檔案,不只是目前簡單的文字簡訊功能。其它的標(biāo)準(zhǔn)還有XHTML,SyncML,以及WAP2.0。
另外這個組織也會加入用戶身分認證的功能,第一考慮是由Sun發(fā)起的
自由聯(lián)盟(Liberty Alliance)。我們在前幾期介紹過這個計劃,它是由
Sun和數(shù)十家各種行業(yè)的領(lǐng)導(dǎo)廠商所組成,目的是制訂一個Internet用
戶認證機制,用來和微軟一家獨攬的Passport相抗衡。
Nokia認為經(jīng)由這個行動電話技術(shù)標(biāo)準(zhǔn)的統(tǒng)一,將有助于各家廠商的產(chǎn)品開發(fā)、市場規(guī)模以及產(chǎn)品銷售。
然而,這個技術(shù)的統(tǒng)一標(biāo)準(zhǔn),正是建構(gòu)在Symbian公司所發(fā)展設(shè)計的EPOC操作系統(tǒng)之上。本書正是一本專門描述如何在執(zhí)行EPOC操作系統(tǒng)的手機上,利用Personal Java與Java Phone這兩組標(biāo)準(zhǔn)的API來開發(fā)應(yīng)用程序。
由于EPOC操作系統(tǒng)分成三種參考設(shè)計實現(xiàn): Crystal、Quartz、以及Smart phone。雖然都屬于EPOC操作系統(tǒng),但是開發(fā)程序時仍有不小的差異,因此,本書將會分別介紹這三種參考設(shè)計實現(xiàn)的程序開發(fā)。

回復(fù)貼子:
回復(fù)人: SummerFlower(冬天) (2001-12-15 10:57:32)得0分
歡迎這本書的出版,不過有兩個疑問
1:這本書應(yīng)該是基于EPOC的Personal Java與Java Phone這兩組標(biāo)準(zhǔn)的API來開發(fā)應(yīng)用程序,也就是說這些API不具有通用性能,請問作者,目前哪些手機采用EPOC操作系統(tǒng)?再者2:手機上面應(yīng)用程序的發(fā)展方向是什么?我相信在手機上狹窄的屏幕,難使用的鍵盤上玩游戲,等開發(fā)的應(yīng)用程序,我想手機應(yīng)用程序的特點是可以網(wǎng)絡(luò)連接,那么應(yīng)用程序一定要做到和網(wǎng)絡(luò)交互,如果要和網(wǎng)絡(luò)交互,必定要知道GSM協(xié)議棧的各種接口,可惜這是許多通信廠商吃飯的東西,估計暫時不會公開,畢竟手機平臺不同于PC機平臺,無論是硬件平臺還是操作系統(tǒng)÷協(xié)議棧軟件平臺都沒有一家獨霸天下,考慮到這些問題,開發(fā)跨平臺的應(yīng)用程序,不是一件容易的事情,及時是開發(fā)出來,應(yīng)用前景如何?
回復(fù)人: xh0001(Wave Alee) (2001-12-15 12:09:01)得0分
樓上的朋友所說甚是!雖然JAVA具有跨平臺性,但是在支持JAVA虛擬機上面的跨平臺,因手機的硬件的巨大差別性,特別是用戶界面部分的差別,即使能開發(fā)出塊平臺的應(yīng)用程序,在屏幕較小的和屏幕較大的手機上面也是讓用戶沒法接收的。
不管怎么說,僅僅是憑空而談,我還是很希望看到這本書,然后再作詳細的評論。
不過目前還要繼續(xù)做自己的手機開發(fā)。

回復(fù)人: alaofangel(天使之翼) (2001-12-16 9:18:32)得0分
好像motorola已經(jīng)推出了基于j2me的芯片于開發(fā)平臺的整體方案,不知詳情如何,有那位朋友對此較熟悉,請賜教

回復(fù)人: moli(王森) (2001-12-16 17:35:22)得0分
大家好,

沒想到書的內(nèi)容正在Nokia 9210上測試而已,
華中就開始宣傳了...害我一身冷汗 ^^"
回答上面朋友的問題:
"Personal Java與Java Phone這兩組標(biāo)準(zhǔn)的API來開發(fā)應(yīng)用程序,也就是說這些API不具有通用性能"
這句話是有問題的, Perosnal Java是標(biāo)準(zhǔn)的Sun官方規(guī)格,也就是說,同樣的程式碼,
只要使用Personal Java標(biāo)準(zhǔn)中的API來撰寫,也可以在Pocket PC上執(zhí)行,
甚至同樣的byte code,也可以在PC上(如果不用到Swing的話)
同樣的, JavaPhone也是官方標(biāo)準(zhǔn),讓java可以與手機上的通訊錄,行事曆作溝通以取得資料,
只要符合標(biāo)準(zhǔn),任何手機都可以執(zhí)行,我想這個是沒有問題.
我寫這本書,就是賭Symbian EPOC的未來,就好像如果有人認為未來行動平臺是MS的天下,
那麼他就會努力的學(xué)Windows CE Programming,結(jié)果一樣無法跨平臺,對嗎?
小第這一本著作只是各種門派之間其中一派而已,而原因只是因為使用EPOC這一段時間
讓我愛上了EPOC,不得不讓我想為它寫一本書.

另外,"如果要和網(wǎng)絡(luò)交互,必定要知道GSM協(xié)議棧的各種接口"這句話我個人也覺得怪怪的,
這就好像有人說"如果要寫無線網(wǎng)路程序,要先懂得802.11規(guī)格和接口",感覺很奇怪.
因為不管在任何平臺上,應(yīng)用程序都是靠著TCP/IP來作聯(lián)繫,只要懂socket,甚至HTTP協(xié)定即可.

目前EPOC上的程序開發(fā)只有三種方式:
1. C++
2. Java
其中,Java又分成
a. Personal Java(以後叫做Foundation Profile/Personal Profile)
b. MIDP
尤其是將來NOKIA的主力 - NOKIA 7650,也是完全支援MIDP.
而支援MIDP也是所有行動設(shè)備廠商致力的目標(biāo)(Motorola, Ericson, Motorola, Siemens ..etc)
前面的朋友說:
"無論是硬件平臺還是操作系統(tǒng)÷協(xié)議棧軟件平臺都沒有一家獨霸天下,考慮到這些問題,開發(fā)跨平臺的應(yīng)用程序,不是一件容易的事情",
這也就是為什麼本來我想寫C++而後來改成Java的原因.

另一位朋友說:
"因手機的硬件的巨大差別性,特別是用戶界面部分的差別,即使能開發(fā)出塊平臺的應(yīng)用程序,在屏幕較小的和屏幕較大的手機上面也是讓用戶沒法接收的".
我想這也是MIDP設(shè)計時所考量的重點.

由於目前的內(nèi)容已經(jīng)很多,本來打算把MIDP也寫進書裡,
但是由於MIDP不只應(yīng)用在EPOC之上,所以才抽出來,變成另外一本書,
希望MIDP 2.0問世時也可以讓這本書與大家見面.

不管如何,都希望在正式出版前,看看各位朋友想看些什麼內(nèi)容,
我想這是華中之所以在此公告的最大目的.

王森

回復(fù)人: SummerFlower(冬天) (2001-12-17 9:34:28)得0分
謝謝作者很快回答,但是有兩個問題需要糾正一下,
1:手機上使用GSM協(xié)議棧通信絕對不是象在WINDOWS上使用TCP/IP協(xié)議棧通信那么簡單,如果是那樣,那國內(nèi)的手機開發(fā)商實在是太幸福了,因為GSM協(xié)議棧是按照GSM協(xié)議寫出來的,應(yīng)該來說,并不是十分符合OSI的分層協(xié)議模型,之間有些變化,并且這些協(xié)議棧的使用與硬件平臺關(guān)系很大,并不具有通用性,不然干嗎叫嵌入式開發(fā)?
2:對于JAVA我只是略之皮毛,那些接口,只是開發(fā)程序的標(biāo)準(zhǔn)接口,對于使用GSM協(xié)議棧通信,目前絕對沒有一套標(biāo)準(zhǔn)的接口讓你使用。
回復(fù)人: SummerFlower(冬天) (2001-12-17 9:43:23)得0分
比如說:你在WINDOWS下寫的利用WINDOWS的協(xié)議棧通信的程序,能夠跨到平國機商使用嗎?目前PC機無論是硬件還是軟件,都有一個主流的標(biāo)準(zhǔn),如果目前PC機象手機那么多得硬件軟件標(biāo)準(zhǔn),PC機絕對沒有現(xiàn)在那么紅火,我個人認為,最好制定一個手機標(biāo)準(zhǔn),就像現(xiàn)在組裝電腦一樣。你可以買不同的CPU,基帶板、手機外殼,自己組裝一個手機:-),并且操作系統(tǒng)在你組裝的硬件平臺上,就像現(xiàn)在裝WINDOWS樣那么簡單,那個時候真正迎來了手機程序開發(fā)的新時代,不然,沒有什么實際意義。
回復(fù)人: moli(王森) (2001-12-18 1:16:38)得0分
感謝SummerFlower的提問..

我的想法是,我們原本只是在討論Application層次,
也就是OSI分層的最上一層,
在手機上使用TCP/IP實在很簡單,
我已經(jīng)幫助不少家廠商開發(fā)手機上的Application(Motorola A6288與Nokia 9210),一樣是使用socket,一樣是使用HTTP,
就可以和各種Web Server或是用其他語言所撰寫,使用socket的server side程序,
不管是Windows平臺還是Unix平臺都沒有問題.也都已經(jīng)在運作.
連入門的程序員都可以順利撰寫程序,
所以在應(yīng)用層是絕對沒問題的.
所以很抱歉,我真的不了解您所說的:"手機上使用GSM協(xié)議棧通信絕對不是象在WINDOWS上使用TCP/IP協(xié)議棧通信那么簡單,如果是那樣,那國內(nèi)的手機開發(fā)商實在是太幸福了,因為GSM協(xié)議棧是按照GSM協(xié)議寫出來的,應(yīng)該來說,并不是十分符合OSI的分層協(xié)議模型"
是什麼意思.因為我教過數(shù)百位學(xué)生J2ME/MIDP,沒有人告訴過我手機上的程序在通訊上是一件難事.甚至用Personal Java也一樣簡單.

如果您提的是System Programming,的確,我也參予底層的設(shè)計過,
的確是很複雜,可是對於Application Programming來說,提這些並沒有意義,是嗎?
如果寫Application的人還要老是注意底層的protocol,那設(shè)計那麼多層的model就沒有意義了,
是嗎?

王森
回復(fù)人: SummerFlower(冬天) (2001-12-18 14:25:42)得0分
呵呵謝謝作者!
不過有個問題很奇怪,PC機HTTP協(xié)議使用底層TCP/IP協(xié)議棧通信,這點沒有錯。HTTP協(xié)議什么時候是用在手機上了?無線環(huán)境使用的是WAP協(xié)議,如果真如作者所說,手機使用HTTP協(xié)議,底層使用TCP/IP協(xié)議棧通信,那還要WAP協(xié)議做什么?無線環(huán)境和固定網(wǎng)絡(luò)環(huán)境很不同,比如你使用手機上網(wǎng),手機向基站發(fā)送請求(包括地址,使用WAP協(xié)議),通過基站傳送到MSC(使用WAP協(xié)議,MSC是GSM移動網(wǎng)絡(luò)與固定網(wǎng)絡(luò)的交點),MSC發(fā)送到一個網(wǎng)關(guān),這個網(wǎng)關(guān)叫做WAP網(wǎng)關(guān),把WAP請求轉(zhuǎn)換為HTTP請求,然后發(fā)送這個請求到服務(wù)器,服務(wù)器返回內(nèi)容到網(wǎng)關(guān),網(wǎng)關(guān)進行格式轉(zhuǎn)換,從HTTP格式轉(zhuǎn)換未WAP格式(也就是類似于HTTM的WML格式),然后順著來時的道路返回到手機,手機上有個WAP瀏覽器,專門解析WML格式的數(shù)據(jù)流,于是你看見了網(wǎng)絡(luò)內(nèi)容,絕對不是你所說得簡單的使用一個SOCKETS接口,然后全部搞定。WAP協(xié)議是應(yīng)用層的協(xié)議,實際發(fā)送數(shù)據(jù)使用的還是底層的GSM協(xié)議,利用GSM協(xié)議有兩種交換方式,一種事CSD電路交換,一種是GPRS,由于CSD方式數(shù)據(jù)速率很慢,所以WAP沒有發(fā)展起來,只有等速率快的GPRA了:-)。

不清楚作者為什么說利用手機通信是一件簡單的事情。實在是不簡單的一件事情。
回復(fù)人: alaofangel(天使之翼) (2001-12-18 14:57:14)得0分
也許作者是在比較高的層次上說的,當(dāng)然沒有我們這些做較底層(其實慚愧,我所謂底層也是在別人-老外的基礎(chǔ)上,并不是太低層)的所感受的痛苦與歡樂
但java是趨勢,只要java芯片能真正到來,真正運用起來
回復(fù)人: Mailbomb(網(wǎng)絡(luò)咖啡) (2001-12-18 22:45:16)得0分
學(xué)習(xí)
回復(fù)人: SummerFlower(冬天) (2001-12-19 15:41:44)得0分
"因為我教過數(shù)百位學(xué)生J2ME/MIDP,沒有人告訴過我手機上的程序在通訊上是一件難事.甚至用Personal Java也一樣簡單"
細細琢磨了王先生的這句話,感覺很有問題,作為CSDN的一個名人,應(yīng)該知道韓愈有句話說的很好,“術(shù)業(yè)有專攻”,(因為我沒有象王先生那樣教過幾百個學(xué)習(xí)J2ME/MIDP的學(xué)生,恐怕說話沒有說服力,只好搬出老祖宗對抗了。。,沒有人告訴你是一件難事,并不代表它就是一件簡單的事情,謙虛總是沒有壞處的,不要動不動就搬出幾百個學(xué)生來嚇唬人
回復(fù)人: moliwang(王森) (2001-12-19 17:53:46)得0分
Dear SummerFlower,

說真的,我感覺咱們兩位談的是不同的事情,是嗎?
或許您應(yīng)該試著用Personal Java或是J2ME來開發(fā)手機程序之後,
咱們再回頭談?wù)勀劦?這樣會不會比較好呢?
或者您先詢問一下某位已經(jīng)撰寫過J2ME程序的程序員萊問問,看看他的答案如何呢?

是的,術(shù)業(yè)有專攻,我個人非常認同這句話,所以小弟也只有在J2ME的領(lǐng)域這個小小的範(fàn)疇才能稍微講話理直氣壯點!!
我舉學(xué)生的例子,只是想說明,用J2ME撰寫手機上的通訊程序,在學(xué)生沒有任何通訊基礎(chǔ)知識上的情形,是很可以很順利的完成,而且只需要兩個小時的訓(xùn)練,只要懂得最簡單的HTTP協(xié)定即可.
如果您認為我這樣不夠謙虛,我向各位道歉,
如果您認為我搬出學(xué)生來唬人,我向曾經(jīng)與我在課堂上教學(xué)相長的學(xué)生道歉.
如果因為非面對面溝通,而只是因為繁簡體中文的文字表示方法(或是用詞的文化上),
而造成您對我的誤解,那我鄭重地向您道歉.
這並非原本華中出版社的原意.我個人也實在不想造成額外的麻煩.
我了解老祖宗說過的話,所以從本篇開始,
我個人不會再在CSDN的論壇上表示任何意見,我還是暗暗地躲起來,看大家所給予的批評和指教比較不會惹出麻煩.

王森