Android Mms之:PDU的使用詳解
這個(gè)包就是Android中對(duì)MMS協(xié)議的實(shí)現(xiàn),包括一些數(shù)據(jù)結(jié)構(gòu):GenericPdu,MultimediaMessagePdu,SendReq,SendConf,NotificationInd,RetrieveConf,PduHeaders,PduBody,PduPart等。也包括操作這些數(shù)據(jù)的類:PduPersister,PduParser和PduComposer。PduPersister主要供給Android內(nèi)部的應(yīng)用程序使用;而PduParser和PduComposer會(huì)涉及到PDU相關(guān)的協(xié)議,會(huì)與MMSC或其他平臺(tái)有相互影響(比如所打包的字節(jié)流是否符合標(biāo)準(zhǔn),能否被其他平臺(tái)成功解析和識(shí)別等)
這個(gè)包的功能就是在發(fā)送時(shí)把多媒體數(shù)據(jù)打包成標(biāo)準(zhǔn)MMSC能識(shí)別的PDU格式數(shù)據(jù),在接收時(shí)把PDU數(shù)據(jù)包解析出來(lái)以供更加方便的應(yīng)用程序使用,同時(shí)也提供一些存儲(chǔ)上的接口,比如把PDU保存到數(shù)據(jù)庫(kù),從數(shù)據(jù)庫(kù)加載出PDU。
Class | Purpose |
---|---|
PduPersister | 用于管理PDU存儲(chǔ) |
PduParser | 用于解析PDU |
PduComposer | 用于生成PDU |
PduPersister: 用于管理PDU存儲(chǔ),關(guān)鍵的方法:
Return |
Method |
Description |
---|---|---|
PduPersister |
getPduPersister(Context) |
Get the object |
Uri |
persist(GenericPdu, Uri) |
把一個(gè)GenericPdu保存到Uri所指定的數(shù)據(jù)庫(kù)中,返回指向新生成數(shù)據(jù)的Uri |
GenericPdu |
load(Uri) |
從數(shù)據(jù)庫(kù)把Uri所指的數(shù)據(jù)加載出來(lái)成一個(gè)GenericPdu對(duì)象 |
Uri |
move(Uri, Uri) |
把Pdu從一個(gè)地方移到另一個(gè)地方,比如從草稿箱移動(dòng)到發(fā)件箱,當(dāng)MMS已發(fā)送時(shí)。 |
為什么會(huì)要把PDU的存儲(chǔ)也封裝成PduPersister呢?因?yàn)镻DU的存儲(chǔ)方式 是放在標(biāo)準(zhǔn)的SQLiteDatabase中,通過(guò)TelephonyProvider,而SQLiteDatabase中存儲(chǔ)不能以直接的PDU的字節(jié)流來(lái)存儲(chǔ),必須要把PDU拆解成為可讀的字段,因此在存儲(chǔ)PDU和從存儲(chǔ)加載PDU的過(guò)程 中涉及到PDU數(shù)據(jù)上面的處理,因此封裝出來(lái),更方便使用。
PduParser:用于把PDU字節(jié)流解析成為Android可識(shí)別的GenericPdu
Return | Method | Description |
---|---|---|
PduParser | PduParser(byte[]) | Construct an object |
GenericPdu | parse() | Parse the PDU byte stream into Android PDU GenericPdu |
PduComposer:把GenericPdu打包生成PDU字節(jié)流
Return | Method | Description |
---|---|---|
PduComposer | PduComposer(Context, GenericPdu) | Construct an object |
byte[] | make() | Transfer the GenericPdu into a PDU byte stream |
- Android編程之非調(diào)用系統(tǒng)界面實(shí)現(xiàn)發(fā)送彩信的方法(MMS)
- Android開(kāi)發(fā)中使用mms模塊收發(fā)單卡和雙卡短信的教程
- Android Mms之:短信發(fā)送流程(圖文詳解)
- Android Mms之:接收信息流程(圖文詳解)
- Android Mms之:草稿管理的應(yīng)用
- Android Mms之:深入MMS支持
- Android Mms之:聯(lián)系人管理的應(yīng)用分析
- Android Mms之:深入理解對(duì)話列表管理
- Android Mms之:對(duì)話與聯(lián)系人關(guān)聯(lián)的總結(jié)詳解
- Android Mms之:深入理解Compose
- 簡(jiǎn)單掌握Android開(kāi)發(fā)中彩信的發(fā)送接收及其附件的處理
相關(guān)文章
關(guān)于Android WebView的loadData方法的注意事項(xiàng)分析
本篇文章是對(duì)Android中WebView的loadData方法的注意事項(xiàng)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06Android中使用tcpdump、wireshark進(jìn)行抓包并分析技術(shù)介紹
這篇文章主要介紹了Android中使用tcpdump、wireshark進(jìn)行抓包并分析技術(shù)介紹,本文講解了下載并安裝tcpdump、pc上安裝wireshark等內(nèi)容,需要的朋友可以參考下2015-04-04Android HttpURLConnection斷點(diǎn)下載(單線程)
這篇文章主要為大家詳細(xì)介紹了Android HttpURLConnection斷點(diǎn)下載的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05Android開(kāi)發(fā)實(shí)現(xiàn)讀取assets目錄下db文件的方法示例
這篇文章主要介紹了Android開(kāi)發(fā)實(shí)現(xiàn)讀取assets目錄下db文件的方法,結(jié)合實(shí)例形式分析了Android針對(duì)assets目錄下SQLite數(shù)據(jù)庫(kù)文件的相關(guān)操作技巧,需要的朋友可以參考下2017-10-10Android UI控件ExpandableListView基本用法詳解
這篇文章主要為大家詳細(xì)介紹了Android UI控件ExpandableListView基本用法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09Android關(guān)鍵字persistent詳細(xì)分析
這篇文章主要介紹了Android關(guān)鍵字persistent的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用Android,感興趣的朋友可以了解下2021-04-04Android實(shí)現(xiàn)游戲中的漸隱和漸現(xiàn)動(dòng)畫(huà)效果
本文給大家分享android中實(shí)現(xiàn)游戲中的漸隱漸現(xiàn)的動(dòng)畫(huà)效果,在游戲開(kāi)發(fā)中經(jīng)常會(huì)遇到,對(duì)android漸隱漸現(xiàn)效果感興趣的朋友可以參考下本教程2016-09-09Android仿淘寶頭條基于TextView實(shí)現(xiàn)上下滾動(dòng)通知效果
這篇文章主要介紹了Android TextView實(shí)現(xiàn)上下滾動(dòng)通知效果,需要的朋友可以參考下2017-03-03