Android Mms專題之:Mms概覽介紹

來源:互聯網
上載者:User

這裡的Mms名稱並不準確,因為它是一個應用程式的名字,這個應用程式是Android上面的資訊應用程式,它即能處理簡訊SMS(Short Messaging Service),也能處理多媒體訊息(Multimedia MessagingService)。它是除電話程式外,另一個非常重要的手機系統核心應用程式,因為對於手機來講,最重要的二個功能就是電話功能和資訊功能。在功能手機時代,是這樣,到了智能手機時代,仍然是這樣,如果一個手機不能打電話或者不能收發資訊,那麼這個東西就不能叫做手機(磚頭?)。

為了不引起混淆,下面將Mms作為資訊應用程式的簡稱,SMS則是短訊息,MMS代表多媒體多媒體訊息,如不特殊說明資訊將包括SMS和MMS。

與功能手機時代的資訊應用一樣,Android的Mms也具有通用的資訊程式所具有的功能,比如建立資訊,收發資訊,轉寄資訊,以及對於資訊的管理,還有就是對於資訊的一些配置。

與功能手機不同的是,資訊不再是以傳統的方件夾方式來組織和管理(收信箱,發信箱,草稿箱,已發資訊,簡訊,多媒體訊息等),資訊以某種方式排序(時間,主題),把所有的資訊羅列在相應的檔案夾中(收到的資訊在收信箱中,發出去的資訊在已發資訊中,草稿在草稿箱中,正在發送的資訊在發信箱中),資訊的組織方式有所改變。智能手機引入了對話(Thread)的概念,也即把二個連絡人之間的資訊互動看成一個系列對話,二人之間的所有資訊都列在對話之中。每個對話中,又以時間為序來管理具體的資訊,以不同的著色來區分發出去的資訊和收到的資訊,在資訊的旁邊還可以顯示連絡人的資訊,如頭像,點擊頭像還可以有其他的快捷操作(比如撥號)。Mms管理一系列對話,從而沒有了傳統的各種檔案夾。所以,對於Mms來講核心概念是對話,而非資訊或檔案夾。

同樣,智能手機也不再區分簡訊和多媒體訊息,而是把它們統一看作一個對話中的資訊,當然,多媒體訊息和簡訊還是有區別的,主要在發送和顯示這塊,在資訊管理理上不再區分多媒體訊息和簡訊(傳統手機都會專門的簡訊檔案夾,多媒體訊息檔案夾),也就是不會有多媒體訊息檔案夾,簡訊檔案夾,而是統一的以對話形式來管理它們,而在對話中,它們都是資訊,只是裡面內容不同而已。

Mms中不再有收信箱,發信箱和草稿箱,而是以統一的對話列表來代替。一個對話中既包括收到的資訊也包括髮出去的資訊,另外以狀態資訊方式來標識每個對話的狀態,比如有無草稿,是否發送成功等。

如前面所說,對話是新一代資訊程式的核心概念。對話是發生在二個連絡人之間,或是一個聯絡與多個連絡人之間的資訊互動,就好像IM(MSN, QQ)的聊天視窗一樣,二人的資訊都顯示在視窗之中,但這些資訊只發生在二人之間。以對話的方式來組織資訊更加符合人們的使用習慣,也更加方便的查詢交往記錄。

因為對話是發生在二個連絡人之間的,所以對話與連絡人的關係是十分密切的。因為,一對話中的資訊都屬於這二個連絡人之間的。所以,通常來講對話與連絡人是一一對應的關係,除非發給多個連絡人的資訊。或者,對話是依賴於連絡人的,所以對話是不能夠被顯示的建立的,只能顯示的建立資訊。當建立一個資訊時,如果連絡人還沒有相應的對話,那麼會自動建立一個對話;如果已經有了的話,就進入相應的對話。

在對話列表可以管理對話,進行操作,比如進入對話,刪除對話,查看連絡人等。進入對話後,可以對資訊進行操作,比如編輯,刪除,轉寄等。

一些關鍵的概念

Thread對話---是指使用者與某個連絡人或某幾個連絡人之間的一系列資訊互動。在Mms中,用Thread Id來標識和管理對話,Thread Id也即在資料庫表threads中的_id。

可能用Conversation是更易於理解。但是Thread本身就有對話的意思,某些論壇中的一個文章在英語裡就叫Thread。Thread的詞典釋義是:”網際網路上關於一個題目一連串的資訊 (電腦用語)”,所以這裡用Thread,也是比較恰當的。

Conversation--是用來管理Thread對話的,Conversation是一個Thread對話的抽象出來資料結構,它能夠,從資料庫中查詢,刪除一個對話中的訊息等,每一個Conversation有一個唯一的Thread Id。但是它也負責一些所有對話的管理,比如查詢所有的對話,刪除所有的對話等(這個應該是設計上面的問題)。

事實上,Conversation更多時候是充當前前對話的角色,比如在新建立資訊時,編輯資訊時,或是查看某個對話時,都會有一個Conversation對象存在在,以代表當前資訊所處的對話。它是一個近似單鍵,都是通過Conversation的靜態方法來獲得Conversation對象,有一些其他的方法也是靜態。

ConversationList--負責顯示和編輯所有的對話,以列表形式顯示所有的Thread,每一項代表一個Thread,通常也會顯示這個Thread的狀態,如有無草稿,資訊發送/接收是否成功等。

Message--訊息,泛指簡訊SMS和多媒體訊息MMS。因為不再區分簡訊和多媒體訊息,在對話列表,草稿管理和資訊列表中它們都是一樣的,都是資訊。Message的資料結構是MessageItem,它是一個純資料結構,裡面儲存著關於一個資訊的所有資料,還有MessageListitem,它是一個View,專門用於在訊息列表中顯示一個資訊,裡面的資料都是從MessageItem擷取。它們統一都被ComposeMessageActivity,MessageListAdapter和MessageListView來管理。

WorkingMessage--當前訊息,它是專門用於代表當前正在建立和編輯的資訊的資料結構無論是簡訊還是多媒體訊息,在建立和編輯的時候都放在一個WorkingMessage對象裡面。這個對象也負責資訊的發送,儲存和儲存為草稿。

Slideshow--在Mms應用裡面,多媒體訊息是以Slideshow投影片的形式來展示的。一個多媒體訊息可以有多張投影片,每張投影片上面可以有圖片,文字,音頻和視頻,可以設定每張投影片的瀏覽時間長度,布局等,這裡的投影片與Office中的PowerPoint有幾分類似。投影片的數目限制是以多媒體訊息允許的附件大小為上限,這個也與每張投影片上面的媒體大小有關。可以這樣講MMS就是以投影片形式存在的,建立的時候是一張投影片一張投影片的編輯,收到的多媒體訊息或編輯完後,就可以一張張的放映瀏覽投影片。

需要注意的是以投影片方式顯示多媒體訊息僅是應用程式層的處理方式,不同的資訊應用程式會以不同的方式處理多媒體訊息,實際的多媒體訊息的資料是以標準的Pdu方式進行發送和接收,是應用程式在發送前把投影片轉化成為Pdu,並在接收後把Pdu轉化成為自己可識別的投影片。

Recipient接受人,這裡是指資訊的接收者,要麼是一個陌生的電話號碼,要麼是一個陌生的電子郵件地址(多媒體訊息時),要麼就是手機連絡人資料庫中的連絡人。多媒體訊息和簡訊對接收人的數量都有限制,這個也是在Mms的Settings時面可以更改的。每一條資訊要想發送成功,必須保證接收人是一個合法的連絡人,合法也是不同的手機有不同的定義,但通常來講,要麼與連絡人資料庫中的某個連絡人匹配,要麼是一個電話號碼,要麼是一個電子郵件地址,其他情況則視為不合法,對於有不合法接收人的資訊,不會進行發送。管理連絡人的資料結構是Contact和ContactList,其中ContactList是一個以Contact為元素的ArrayList。Contact不但儲存有連絡人的一些資訊,如名字,電話號碼等,它還能與連絡人資料庫進行同步,也就是它能保證它是一個合法的聯絡人,並在資料庫中存在。在資訊發送前會先進行一次連絡人同步,以保證已有的連絡人是正確的。

因為Mms是手機核心程式,它與電話程式一樣要通過手機的Modem來實現無線通訊,也就是說它是依賴於SIM的。所以,如果手機中沒有SIM那麼是無法正常使用Mms的,不能接收和發送資訊。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.