Android Mms專題之 MMS支援

2021-08-27 02:44:09 字數 3967 閱讀 4817

pdu是實現了mms協議的標準格式,它可以直接的傳送給mmsc,從mmsc取回來的也是乙個pdu格式的資料。應用層mms不需要關心pdu的具體實現方式,

android中有乙個內部的包com.google.android.mms.*下面的類都是專門用於處理android平台上的mms。裡面提供了工作可以把應用層的資料,比如**檔案等,進行包裝成pdu,再把pdu分解成為**檔案。pdu的資料結構包括pdubody,這個是用於存放多**檔案的地方,其裡面是pdupart的集合,每個pdupart代表乙個檔案。pdupersister用於操作這些資料結構,包括寫入資料庫,從資料庫中讀取等。

關於附件型別,mms應用中所有的mms都有乙個幻燈片,其內含有所有的附件檔案。但是mms做了一些特殊的處理,對於乙個mms資訊,它的附件型別分為image, audio, video,和slideshow,這些從新增附件對話方塊的列表中可以看出,而且展現方式也有所不同。但是實際的實現上面並沒有這麼多的型別,只有乙個slideshowmodel,所有的附件都在裡面。它處理的規則是這樣的,如果只新增了乙個**(image, audio和video)時,會把型別設定為相應的**型別,而只有在附件對話方塊中明確選擇新增幻燈片時並且新增了多張幻燈片後,附件型別才會是幻燈片。這個附件型別只在給mms新增附件時和傳送mms前有效,主要用於在訊息列表中如何展示**檔案,如果是具體**型別,就直接顯示,否則顯示為幻燈片,這個附件型別僅存在於應用中顯示**所用,並不會在傳送出去的pdu中有痕跡。當收到mms後,也是根據轉化後的slideshowmodel裡面的內容來推測出附件型別,然後再做顯示。所以,對於乙個mms來說它始終都有乙個slideshowmodel,使用者所感受到的附件型別僅是附件**顯示上面的乙個處理而已。

它主要記載著用於幻燈片的布局資訊。這個smil語言就是用於幻燈片布局的,也就是說smil會像html文件布局網頁那樣來說明如何布局幻燈片,它有這些tag:head, layout, body, par,head是頭資訊,裡面有tag layout用來說明這個幻燈片是如何布局的,具體的它用一些子tag如root-layout, region等來說明幻燈片中的每乙個元素如image或text如何布局。tag body中列出了幻燈片的所有**元素和詳細內容,比如image, audio, text等,每一par是一頁,它的子tag說明這一頁有哪些內容,當然smil語言還有很多內容可以參考wikipedia上的講解。

當解包的時候,會先取出smil文件,對其進行解析,生成幻燈片。

因為smil是乙個標準的文件,所以w3c有其相應的規範,也有相應的庫來解析和生成。在mms應用中可以看到這樣的二個package: org.w3c.dom.*和com.

android

.mms.dom.*;其中org.w3c.dom是smil語言的一些標準庫,而com.android.mms.dom.*;是對org.w3c.dom一些標準介面的實現,或者說是為了mms應用而做的一些適配。那麼在com.android.mms.model.*裡面的一些類也是根據smil標準而寫的,比如smilhelper就是專門用於解析smil文件和生成smil文件,當然它會用到前面提到的二個package裡面的東西。還有如imagemodel,textmodel和regionmodel也都是基於smil標準的,比如它們分別 對應smil文件中的標籤img, text和region。

當然,這都是具體的終端應用的實現,可能不同的應用會有不同的方式,但傳送出去的和接收到的都應該是標準的pdu,而smil文件僅是乙個其中乙個pdupart而已。

專案管理之追MM模式

專案管理之追mm模式 專案管理 追mm 5 個過程組就是 啟動,計畫,執行,控制,收尾。某人 比喻 好不容易找了個女朋友,為了增進進一步的距離,他想來個歐亞8日遊,於是他把自己多年的積蓄 3萬元,一次性投入。但在旅遊過程中,他的mm看上了另外乙個帥哥,於是人財兩空,說明什麼問題?說明他的專案啟動的時...

請MM吃飯之簡單工廠實現

最近,我突然之間喜歡上了某個mm,通過紅軍過草地的毅力,和頑強的意志,我終於得到了很mm共進晚餐的機會。我們約定在麥當勞見面。下面使我們見面的過程。晚餐很簡單,我們只吃了點雞翅,和可樂。原因麥當勞太差勁了,他們只提供雞翅和可樂,結果mm 餓著肚子陪我說了會話,就走了,結果只有乙個,我被甩了。下面是實...

請MM吃飯之工廠模式實現

有了上次的失敗經驗,我發誓以後再也不去麥當勞了。原因有很多 1.食物太單調了,新增個食物,就那麼費勁,吃不飽。2.服務員態度太傲慢了。工廠責任太重了,萬一它不高興了,就意味著所有的請求失敗了 我又約了那位mm,向她做了很沉重的檢討,最後她終於給了我乙個解釋的機會。我一定要把握這個機會,所以我求爺爺告...