明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

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

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

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

內容簡介(作者提供):

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

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

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

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

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

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

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

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

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

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

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

王森

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

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

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

王森
回復人: 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)境和固定網絡環(huán)境很不同,比如你使用手機上網,手機向基站發(fā)送請求(包括地址,使用WAP協(xié)議),通過基站傳送到MSC(使用WAP協(xié)議,MSC是GSM移動網絡與固定網絡的交點),MSC發(fā)送到一個網關,這個網關叫做WAP網關,把WAP請求轉換為HTTP請求,然后發(fā)送這個請求到服務器,服務器返回內容到網關,網關進行格式轉換,從HTTP格式轉換未WAP格式(也就是類似于HTTM的WML格式),然后順著來時的道路返回到手機,手機上有個WAP瀏覽器,專門解析WML格式的數據流,于是你看見了網絡內容,絕對不是你所說得簡單的使用一個SOCKETS接口,然后全部搞定。WAP協(xié)議是應用層的協(xié)議,實際發(fā)送數據使用的還是底層的GSM協(xié)議,利用GSM協(xié)議有兩種交換方式,一種事CSD電路交換,一種是GPRS,由于CSD方式數據速率很慢,所以WAP沒有發(fā)展起來,只有等速率快的GPRA了:-)。

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

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

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

王森