明辉站/网站教程/内容

《新一代Java手机程序设计– Symbian EPOC篇》

网站教程2024-06-14 阅读
[摘要]主  题:大家给这本书的内容提点建议,好吗?我们打算出版:《新一代Java手机程序设计– Symbian EPOC篇》,台湾王森著(华中科技大学出版社)。作  者:yeka所属论坛:嵌入式开发《新一代Java手机程序设计– Symbian EPOC篇》,台湾王森著。内容简介(作者提供):电信大厂N...
主  题:大家给这本书的内容提点建议,好吗?我们打算出版:《新一代Java手机程序设计– Symbian EPOC篇》,
台湾王森著(华中科技大学出版社)。
作  者:yeka
所属论坛:嵌入式开发

《新一代Java手机程序设计– Symbian EPOC篇》,台湾王森著。

内容简介(作者提供):

电信大厂Nokia在2001年11月,宣布成立一个由多家厂商组成的联盟,来共同制定未来的移动电话技术标准。其中Java技术是这个标准中非常重要的一部分。

Nokia的CEO Jorma Ollila在Comdex的演讲中,称呼这个新的标准制订组织为"Open Mobile architecture initiative"(开放行动架构组织)。
目前加入的成员包括手机制造商和电信业者,名单上有AT&T Wireless,
NTT DoCoMo,Sony,Ericsson,Motorola,Siemens,Sharp,Samsung,
NEC,Matsushita等等。
这个联盟将支持一些技术标准,第一个是Java。Java平台可以成为一个
各家手机、各种应用程序通用的运算平台,也同时具备网络通讯功能和
可靠的网络安全特性。另外包括的技术标准有MMS(Multimedia Messaging Service,多媒体传讯服务),将可以发送图片或其它多媒体档案,不只是目前简单的文字简讯功能。其它的标准还有XHTML,SyncML,以及WAP2.0。
另外这个组织也会加入用户身分认证的功能,第一考虑是由Sun发起的
自由联盟(Liberty Alliance)。我们在前几期介绍过这个计划,它是由
Sun和数十家各种行业的领导厂商所组成,目的是制订一个Internet用
户认证机制,用来和微软一家独揽的Passport相抗衡。
Nokia认为经由这个行动电话技术标准的统一,将有助于各家厂商的产品开发、市场规模以及产品销售。
然而,这个技术的统一标准,正是建构在Symbian公司所发展设计的EPOC操作系统之上。本书正是一本专门描述如何在执行EPOC操作系统的手机上,利用Personal Java与Java Phone这两组标准的API来开发应用程序。
由于EPOC操作系统分成三种参考设计实现: Crystal、Quartz、以及Smart phone。虽然都属于EPOC操作系统,但是开发程序时仍有不小的差异,因此,本书将会分别介绍这三种参考设计实现的程序开发。

回复贴子:
回复人: SummerFlower(冬天) (2001-12-15 10:57:32)得0分
欢迎这本书的出版,不过有两个疑问
1:这本书应该是基于EPOC的Personal Java与Java Phone这两组标准的API来开发应用程序,也就是说这些API不具有通用性能,请问作者,目前哪些手机采用EPOC操作系统?再者2:手机上面应用程序的发展方向是什么?我相信在手机上狭窄的屏幕,难使用的键盘上玩游戏,等开发的应用程序,我想手机应用程序的特点是可以网络连接,那么应用程序一定要做到和网络交互,如果要和网络交互,必定要知道GSM协议栈的各种接口,可惜这是许多通信厂商吃饭的东西,估计暂时不会公开,毕竟手机平台不同于PC机平台,无论是硬件平台还是操作系统÷协议栈软件平台都没有一家独霸天下,考虑到这些问题,开发跨平台的应用程序,不是一件容易的事情,及时是开发出来,应用前景如何?
回复人: xh0001(Wave Alee) (2001-12-15 12:09:01)得0分
楼上的朋友所说甚是!虽然JAVA具有跨平台性,但是在支持JAVA虚拟机上面的跨平台,因手机的硬件的巨大差别性,特别是用户界面部分的差别,即使能开发出块平台的应用程序,在屏幕较小的和屏幕较大的手机上面也是让用户没法接收的。
不管怎么说,仅仅是凭空而谈,我还是很希望看到这本书,然后再作详细的评论。
不过目前还要继续做自己的手机开发。

回复人: alaofangel(天使之翼) (2001-12-16 9:18:32)得0分
好像motorola已经推出了基于j2me的芯片于开发平台的整体方案,不知详情如何,有那位朋友对此较熟悉,请赐教

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

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

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

目前EPOC上的程序開發只有三種方式:
1. C++
2. Java
其中,Java又分成
a. Personal Java(以後叫做Foundation Profile/Personal Profile)
b. MIDP
尤其是將來NOKIA的主力 - NOKIA 7650,也是完全支援MIDP.
而支援MIDP也是所有行動設備廠商致力的目標(Motorola, Ericson, Motorola, Siemens ..etc)
前面的朋友說:
"无论是硬件平台还是操作系统÷协议栈软件平台都没有一家独霸天下,考虑到这些问题,开发跨平台的应用程序,不是一件容易的事情",
這也就是為什麼本來我想寫C++而後來改成Java的原因.

另一位朋友說:
"因手机的硬件的巨大差别性,特别是用户界面部分的差别,即使能开发出块平台的应用程序,在屏幕较小的和屏幕较大的手机上面也是让用户没法接收的".
我想這也是MIDP設計時所考量的重點.

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

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

王森

回复人: SummerFlower(冬天) (2001-12-17 9:34:28)得0分
谢谢作者很快回答,但是有两个问题需要纠正一下,
1:手机上使用GSM协议栈通信绝对不是象在WINDOWS上使用TCP/IP协议栈通信那么简单,如果是那样,那国内的手机开发商实在是太幸福了,因为GSM协议栈是按照GSM协议写出来的,应该来说,并不是十分符合OSI的分层协议模型,之间有些变化,并且这些协议栈的使用与硬件平台关系很大,并不具有通用性,不然干吗叫嵌入式开发?
2:对于JAVA我只是略之皮毛,那些接口,只是开发程序的标准接口,对于使用GSM协议栈通信,目前绝对没有一套标准的接口让你使用。
回复人: SummerFlower(冬天) (2001-12-17 9:43:23)得0分
比如说:你在WINDOWS下写的利用WINDOWS的协议栈通信的程序,能够跨到平国机商使用吗?目前PC机无论是硬件还是软件,都有一个主流的标准,如果目前PC机象手机那么多得硬件软件标准,PC机绝对没有现在那么红火,我个人认为,最好制定一个手机标准,就像现在组装电脑一样。你可以买不同的CPU,基带板、手机外壳,自己组装一个手机:-),并且操作系统在你组装的硬件平台上,就像现在装WINDOWS样那么简单,那个时候真正迎来了手机程序开发的新时代,不然,没有什么实际意义。
回复人: moli(王森) (2001-12-18 1:16:38)得0分
感謝SummerFlower的提問..

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

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

王森
回复人: SummerFlower(冬天) (2001-12-18 14:25:42)得0分
呵呵谢谢作者!
不过有个问题很奇怪,PC机HTTP协议使用底层TCP/IP协议栈通信,这点没有错。HTTP协议什么时候是用在手机上了?无线环境使用的是WAP协议,如果真如作者所说,手机使用HTTP协议,底层使用TCP/IP协议栈通信,那还要WAP协议做什么?无线环境和固定网络环境很不同,比如你使用手机上网,手机向基站发送请求(包括地址,使用WAP协议),通过基站传送到MSC(使用WAP协议,MSC是GSM移动网络与固定网络的交点),MSC发送到一个网关,这个网关叫做WAP网关,把WAP请求转换为HTTP请求,然后发送这个请求到服务器,服务器返回内容到网关,网关进行格式转换,从HTTP格式转换未WAP格式(也就是类似于HTTM的WML格式),然后顺着来时的道路返回到手机,手机上有个WAP浏览器,专门解析WML格式的数据流,于是你看见了网络内容,绝对不是你所说得简单的使用一个SOCKETS接口,然后全部搞定。WAP协议是应用层的协议,实际发送数据使用的还是底层的GSM协议,利用GSM协议有两种交换方式,一种事CSD电路交换,一种是GPRS,由于CSD方式数据速率很慢,所以WAP没有发展起来,只有等速率快的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的一个名人,应该知道韩愈有句话说的很好,“术业有专攻”,(因为我没有象王先生那样教过几百个学习J2ME/MIDP的学生,恐怕说话没有说服力,只好搬出老祖宗对抗了!!),没有人告诉你是一件难事,并不代表它就是一件简单的事情,谦虚总是没有坏处的,不要动不动就搬出几百个学生来吓唬人
回复人: moliwang(王森) (2001-12-19 17:53:46)得0分
Dear SummerFlower,

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

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

王森

……

相关阅读