讓變化成為計(jì)劃的一部分

          歡迎大家探討本Blog涉及的所有軟件課題。我的Google Talk ID:zhengyun(at)gmail.com。

          我最希望軟件帶給用戶的感受是:美好的體驗(yàn)、舒適感、簡(jiǎn)約、干凈...

          posts - 32, comments - 8, trackbacks - 0, articles - 0
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          手機(jī)也能玩轉(zhuǎn)MSN傳情動(dòng)漫!

          J2ME實(shí)作

          摘要:

          本文檔并不是一個(gè)關(guān)于PopupWinks On Mobile Kjava版本的開(kāi)發(fā)說(shuō)明,這里只是一個(gè)總?cè)肟凇N覍⒔o出手機(jī)傳情動(dòng)漫的奇異特性、用戶使用說(shuō)明,以及演示程序下載地址;并且給出開(kāi)發(fā)指導(dǎo)的相關(guān)鏈接。慢慢看下去,你會(huì)大有收獲的。

          源代碼下載:
          http://www.cnblogs.com/Files/zhengyun_ustc/MIMESMSSender.rar,是下面說(shuō)的傳情動(dòng)漫的發(fā)起方代碼。
          http://www.cnblogs.com/Files/zhengyun_ustc/MMSAutoLoader.rar,就是下面那個(gè)根據(jù)手機(jī)發(fā)送方發(fā)送的短信而在接收方手機(jī)上演示動(dòng)畫和音樂(lè)的javaME代碼。

           

          1背景、功能和特別之處

          摘要:本章 簡(jiǎn)單描述PopupWinks On MobileKjava版本的背景、功能和特別之處。

           

          1.1. MSN的傳情動(dòng)漫可不可以在手機(jī)上點(diǎn)對(duì)點(diǎn)實(shí)現(xiàn)呢?

          誠(chéng)如這個(gè)標(biāo)題所言,你有沒(méi)有夢(mèng)想過(guò)你的MSN傳情動(dòng)漫能夠在手機(jī)上實(shí)現(xiàn)呢,點(diǎn)對(duì)點(diǎn),或者PC機(jī)對(duì)手機(jī)?

          沒(méi)有?!

          那么,讓我給你描繪這么一幅絢麗的畫面吧:

           

          你的親愛(ài)的她,總是在MSN Messenger 7.0上給你傳情達(dá)意,那些搞怪的彈出式動(dòng)畫總是讓你樂(lè)不可支:


              那些恐怖的也總是讓你驚得七葷八素:


              那么,你能不能從你的手機(jī)上發(fā)個(gè)信息過(guò)去,她的手機(jī)上咣當(dāng)一下子自己出來(lái)一個(gè)動(dòng)畫,還帶著駭人的音效,你說(shuō)酷不酷!?

          要么,你從PC機(jī)的MSN Messenger 7.0上發(fā)送給在移動(dòng)設(shè)備上登錄的她一個(gè)傳情動(dòng)漫,結(jié)果她的手機(jī)立馬跳出一個(gè)大Kiss,還帶著“momo…”聲!

          能這樣嗎?

           

          我的答案是,能!JavaME可以幫你做到這一點(diǎn)!我提供這個(gè)平臺(tái),動(dòng)畫素材你就可以自由加入了。甚至于采用JVending的思路,如果對(duì)方手機(jī)上沒(méi)有相應(yīng)的動(dòng)畫,那么對(duì)方手機(jī)收到你的命令之后,可以按照包頭中指定的Internet資源自動(dòng)走GPRS下載素材。

          不是吧,你說(shuō)的這不就是彩信嗎?我告訴你,彩信可是需要她按了確認(rèn)之后,才出來(lái)的。而我們要的是那種出人意料的Coolala的效果!這種效果在彩信框架下面可是作不到的。

           

          1.2.PopupWinks On Mobile是什么東西?

          到了現(xiàn)在,我們必須明確定義PopupWinks On Mobile是什么東西了。

          答,

          PopupWinks,簡(jiǎn)單地說(shuō),是MSN傳情動(dòng)漫(Winks)在手機(jī)上的實(shí)現(xiàn)。

          從技術(shù)上講,就是在手機(jī)上截獲對(duì)方手機(jī)傳過(guò)來(lái)的消息(可能是二進(jìn)制消息甚至本身就是多媒體消息,可能是純文本消息),根據(jù)消息所隱含的命令自動(dòng)播放動(dòng)畫和音樂(lè)。不過(guò),如果讓運(yùn)營(yíng)商營(yíng)業(yè)廳的小姑娘和老百姓講技術(shù),真是如雞同鴨講。技術(shù)上的進(jìn)步,并不能涵蓋其全部的意義。

          通俗的講,就是你用我的PopupWinks程序給她發(fā)送一個(gè)短信,她的手機(jī)也安裝了這個(gè)PopupWinks軟件,那么她的手機(jī)會(huì)在短信到達(dá)的第一時(shí)間處理此條短信,按照短信命令展示動(dòng)畫和音效,而這些素材也許在她的手機(jī)PopupWinks中已經(jīng)安裝了,就像MSN Messenger自帶了幾個(gè)傳情動(dòng)漫一樣;也許需要從Internet下載。

          未來(lái)我們希望能夠集成到MSN Messenger上,這樣你可以從PC機(jī)上發(fā)送命令,讓手機(jī)立馬顯示傳情動(dòng)漫。


              比如啊,給她來(lái)一個(gè):


              也許看到這里的時(shí)候,你很試試看了或者想自己動(dòng)手寫一個(gè)。

          那么,如果你是JavaME技術(shù)人員,不要錯(cuò)過(guò)下面這個(gè)章節(jié)哦。如果你是普通用戶或者產(chǎn)品人員,那么可以跳過(guò)這兩個(gè)章節(jié),直接到 特性展示和使用說(shuō)明。

          1.3. PopupWinks On Mobile的實(shí)現(xiàn)原理簡(jiǎn)介

          我們提供的PopupWinks On Mobile KJava版本 就是這么一種實(shí)現(xiàn)方法,WMA+Push Registry,這些都需要你的手機(jī)是MIDP2.0。為了厘清概念起見(jiàn),我們把收發(fā)程序徹底分開(kāi)來(lái),這樣便于你的理解,我也容易演示。

           

          發(fā)送客戶端,我們命名為“MIMESMSSender(點(diǎn)擊下載)

          手機(jī)客戶端MIMESMSSender,主要用來(lái)調(diào)用JSR120所定義的Wireless Messaging API (WMA)發(fā)送短消息,目前定義它發(fā)送的是文本消息,實(shí)際上可以發(fā)送特定格式的二進(jìn)制短信,這樣就和JVending一樣做到加入MIME頭,指明資源類型以及打開(kāi)方式等等了,這樣你可以自定義交互的協(xié)議格式了。



              接收客戶端,我們命名為“
          MMSAutoLoader(點(diǎn)擊下載)

          手機(jī)客戶端MMSAutoLoader,一方面通過(guò)JSR118所定義的Push Registry向手機(jī)申請(qǐng)注冊(cè)自動(dòng)啟動(dòng)功能,另一方面當(dāng)有特定短信被手機(jī)收到后,自動(dòng)啟動(dòng),并按照命令顯示圖像并播放大長(zhǎng)今主題曲,呵呵:


           

          這么著,收發(fā),是不是容易搞清楚了呢?

          接下來(lái),你需要研究我編撰的用于幫助理解WMAPush Registry關(guān)鍵技術(shù)的樣例代碼了,注意它并不是前面圖片所演示的代碼。

          請(qǐng)下載http://www.cnblogs.com/Files/zhengyun_ustc/WMASimpleSend.rar,這是一個(gè)很簡(jiǎn)單地利用WMA發(fā)送短消息的工程,導(dǎo)入到Eclipse后,運(yùn)行即可,已經(jīng)在真機(jī)上測(cè)試通過(guò)了。除了有可能遇到短信內(nèi)容亂碼問(wèn)題之外,我相信你不會(huì)有任何疑問(wèn),所有的調(diào)用一望而明。

           

          然后是Push Registry,這也是MIDP2.0才支持的特性。

          請(qǐng)下載http://www.cnblogs.com/Files/zhengyun_ustc/SimplePushRegistry.rar,這是我編寫的非常簡(jiǎn)單的例子,叫做“PushRegistry和短信聯(lián)動(dòng)演示”。她提供了兩個(gè)命令“注冊(cè)短信監(jiān)聽(tīng)”和“取消短信監(jiān)聽(tīng)”。

          注冊(cè)短信監(jiān)聽(tīng),則調(diào)用

          PushRegistry.registerConnection(connURL,

                                                                  MIDletStr, FilterStr);

          來(lái)向手機(jī)申請(qǐng)專門監(jiān)聽(tīng)某一個(gè)端口,這個(gè)端口可以是各種協(xié)議,

          可以是藍(lán)牙的btspp://:

          也可以是短信的sms://:

          還可以是套接字的socket://:

          總之,未來(lái)你的手機(jī)甚至可以變成BT下載的一個(gè)種子提供者。

          我這里是用的是動(dòng)態(tài)注冊(cè),還有一種辦法是在jad文件中寫明注冊(cè)方式,這叫做靜態(tài)注冊(cè)。一般是推薦靜態(tài)注冊(cè),那樣的話,在用戶安裝你的軟件時(shí),就會(huì)提示用戶是否要注冊(cè)自動(dòng)啟動(dòng)功能,這樣更方便一些,是推薦的做法。

           

          好了,學(xué)習(xí)完了關(guān)鍵技術(shù),你是不是也能做出來(lái)Jvengding一樣的移動(dòng)內(nèi)容發(fā)布和管理系統(tǒng)呢?嗬嗬。你不妨去他們那里看看:

          http://sourceforge.net/projects/jvending

          http://jvending.sourceforge.net/

          http://jvending.sourceforge.net/jvending_logo.gif

          。當(dāng)然也不要忘記我的手機(jī)傳情動(dòng)漫。

          1.4. 哪些手機(jī)支持這種PopupWinks呢?

          簡(jiǎn)單地說(shuō),只要你的手機(jī)說(shuō)明書(shū)中有這么一句話即可“ProfileMIDP-2.0”。

          比如,都有這么一些手機(jī)支持:

          諾基亞 3220;諾基亞 5140;諾基亞 6020

          諾基亞 6101;諾基亞 6600;諾基亞 7610

          諾基亞 8800

          摩托羅拉 A668;摩托羅拉 A768

          摩托羅拉 E398;摩托羅拉 E680

          摩托羅拉 V220;摩托羅拉 V80

          等等等等。近一年來(lái)上市的手機(jī)肯定支持MIDP2.0標(biāo)準(zhǔn)。

          1.5. 特別之處

          下面,我們說(shuō)說(shuō)這個(gè)應(yīng)用程序的特別之處。

          l         這個(gè)應(yīng)用程序的總體思路其實(shí)很簡(jiǎn)單,由WMAPush Registry配搭即可。

          l         MVC的類分解,采用了 mingjava 的思路。

          l        對(duì)RMS記錄存儲(chǔ)的封裝模式以及對(duì)資源的調(diào)用方式,則參照了索愛(ài)公司的BlueGammon游戲代碼。

          l         對(duì)背景音樂(lè)的播放,還是參考了我的最初文章《[J2ME]手機(jī)也可以玩播客(Podcast)! Geek客說(shuō)明。相應(yīng)的toodouPodcast Kjava版的源代碼可以從

          http://www.cnblogs.com/Files/zhengyun_ustc/toodouPodcastMidlet.rar 下載。

           

          對(duì)于MVC的類分解,你還可以參考我的另一篇文章《[J2ME]RSSOwlMidlet(RSS無(wú)線閱讀器)設(shè)計(jì)說(shuō)明》以及《[J2ME]VideoCoolala設(shè)計(jì)說(shuō)明》

          BlueGammon游戲源代碼,你可以從

          http://www.cnblogs.com/Files/zhengyun_ustc/Bluegammon-eclipse.rar 下載。

          1.6. 小結(jié)

          其實(shí),短信到了我們這里,就已經(jīng)不是短信了。因?yàn)榈谝?/SPAN>,它已經(jīng)被我的程序讀走了,所以你不會(huì)再短信收件箱中看到它;第二,短信其實(shí)可以是二進(jìn)制短信,能夠加入很多Header,就像MIME郵件格式一樣。所以PopupWinks On Mobile做到了這種境界:

          我輕輕的招手,

               你的手機(jī)跑滿西天的云彩。

          動(dòng)漫里的艷影,

              在你的心頭蕩漾。

          悄悄的我走了,

               正如我悄悄的來(lái);

             我揮一揮衣袖,

               不帶走一片云彩。

           

          我希望這個(gè)PopupWinks On Mobile將來(lái)能夠做到像我經(jīng)常強(qiáng)調(diào)的一樣:

          最希望軟件帶給用戶的感受是:美好的體驗(yàn)、舒適感、簡(jiǎn)約、干凈...

          2 演示程序使用說(shuō)明

                 2.1. 安裝MMSAutoLoader并注冊(cè)自動(dòng)啟動(dòng)功能

          首先,請(qǐng)您安裝MMSAutoLoader中包含的jar包到手機(jī)中,然后打開(kāi)該程序,您將看到


              的主界面。

          請(qǐng)選擇“注冊(cè)自動(dòng)啟動(dòng)功能”命令,進(jìn)入界面后,您將看到:


              選擇菜單命令“推動(dòng)功能注冊(cè)”,即可使這個(gè)
          MMSAutoLoader程序能夠監(jiān)聽(tīng)特定短信并自動(dòng)啟動(dòng)。

          然后關(guān)閉本應(yīng)用即可。

                 2.2. 安裝MIMESender并注冊(cè)自動(dòng)啟動(dòng)功能

          首先,請(qǐng)您安裝MIMESender中包含的jar包到手機(jī)中,然后打開(kāi)該程序,您將看到:


              請(qǐng)進(jìn)入“發(fā)送消息”界面,填寫好對(duì)方手機(jī)號(hào)碼以及消息內(nèi)容,選擇“發(fā)送”命令即可。

          對(duì)方(她已經(jīng)安裝了MMSAutoLoader并注冊(cè)了自動(dòng)啟動(dòng))收到你的短信后,就會(huì)立刻激活MMSAutoLoader,演示動(dòng)畫以及播放大長(zhǎng)今背景音樂(lè)。

           

          3 資源

          我的PopupWinks On Mobile資源:

          1手機(jī)也可以玩MSN傳情動(dòng)漫 J2ME實(shí)作

          2:下載midletMIMESMSSender ,大約21KBMMSAutoLoader,大約62KB

           

          鄭昀@ultrapower

          產(chǎn)品名稱

          產(chǎn)品版本

          Keyword: Mobile 傳情動(dòng)漫 Wink MSN Messenger  Media 媒體播放 j2me midp2.0

          WMA PushRegistry

          PopupWinks

          Mobile

          0.0.1 BETA

           

           

          4 歷史更新

          暫無(wú)。

          主站蜘蛛池模板: 鄄城县| 丹江口市| 大安市| 南丹县| 双柏县| 治多县| 贵定县| 高碑店市| 独山县| 永清县| 当涂县| 花莲市| 响水县| 镇赉县| 红安县| 中西区| 武威市| 射阳县| 延吉市| 宿松县| 宁武县| 温宿县| 侯马市| 托里县| 桐梓县| 舞钢市| 威宁| 成都市| 慈利县| 翁牛特旗| 乌什县| 民权县| 文安县| 崇阳县| 临夏市| 绥芬河市| 英山县| 千阳县| 和田市| 武安市| 宿迁市|