最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android Mms之:PDU的使用詳解

 更新時間:2013年05月22日 10:21:00   作者:  
本篇文章是對PDU的使用進行了詳細的分析介紹,需要的朋友參考下
Android當中的Mms對MMS(Multimedia Messaging Service)的操作關乎MMS協(xié)議部分都是通過Frameworks中提供的API來完成的:com.google.android.mms這個包在SDK中是不開放的,只能供內部程序使用,它封裝了所有MMS所需要的API。
這個包就是Android中對MMS協(xié)議的實現,包括一些數據結構:GenericPdu,MultimediaMessagePdu,SendReq,SendConf,NotificationInd,RetrieveConf,PduHeaders,PduBody,PduPart等。也包括操作這些數據的類:PduPersister,PduParser和PduComposer。PduPersister主要供給Android內部的應用程序使用;而PduParser和PduComposer會涉及到PDU相關的協(xié)議,會與MMSC或其他平臺有相互影響(比如所打包的字節(jié)流是否符合標準,能否被其他平臺成功解析和識別等)
這個包的功能就是在發(fā)送時把多媒體數據打包成標準MMSC能識別的PDU格式數據,在接收時把PDU數據包解析出來以供更加方便的應用程序使用,同時也提供一些存儲上的接口,比如把PDU保存到數據庫,從數據庫加載出PDU。

Class Purpose
PduPersister 用于管理PDU存儲
PduParser 用于解析PDU
PduComposer 用于生成PDU

PduPersister: 用于管理PDU存儲,關鍵的方法:

Return
Method
Description
PduPersister
getPduPersister(Context)
Get the object
Uri
persist(GenericPdu, Uri)
把一個GenericPdu保存到Uri所指定的數據庫中,返回指向新生成數據的Uri
GenericPdu
load(Uri)
從數據庫把Uri所指的數據加載出來成一個GenericPdu對象
Uri
move(Uri, Uri)
把Pdu從一個地方移到另一個地方,比如從草稿箱移動到發(fā)件箱,當MMS已發(fā)送時。

為什么會要把PDU的存儲也封裝成PduPersister呢?因為PDU的存儲方式 是放在標準的SQLiteDatabase中,通過TelephonyProvider,而SQLiteDatabase中存儲不能以直接的PDU的字節(jié)流來存儲,必須要把PDU拆解成為可讀的字段,因此在存儲PDU和從存儲加載PDU的過程 中涉及到PDU數據上面的處理,因此封裝出來,更方便使用。
PduParser:用于把PDU字節(jié)流解析成為Android可識別的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實現登陸頁logo隨鍵盤收放動態(tài)伸縮(完美解決鍵盤彈出遮擋控件的問題)

    Android實現登陸頁logo隨鍵盤收放動態(tài)伸縮(完美解決鍵盤彈出遮擋控件的問題)

    這篇文章主要介紹了Android實現登陸頁logo隨鍵盤收放動態(tài)伸縮(完美解決鍵盤彈出遮擋控件的問題)的相關資料,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • 詳解Android之圖片加載框架Fresco基本使用(二)

    詳解Android之圖片加載框架Fresco基本使用(二)

    本篇文章主要介紹了Android之圖片加載框架Fresco基本使用,可以實現進度條和圖片縮放等內容,有興趣的可以了解一下。
    2016-12-12
  • Android自定義view實現側滑欄詳解

    Android自定義view實現側滑欄詳解

    之前一直沒有寫側滑菜單的實現方法,今天計劃補上。手機開發(fā)中,往往存在很多功能沒處放的問題。我們可能會把功能放入一個菜單列表,但現在一種流行的做法是側滑菜單
    2022-11-11
  • Flutter 完美的驗證碼輸入框實現

    Flutter 完美的驗證碼輸入框實現

    這篇文章主要介紹了Flutter 完美的驗證碼輸入框實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • Android12四大組件之Activity生命周期變化詳解

    Android12四大組件之Activity生命周期變化詳解

    雖然說我們天天都在使用Activity,但是你真的對Activity的生命機制完全了解了嗎?Activity的生命周期方法只有七個,但是其實那只是默認的情況。也就是說在其他情況下,Activity的生命周期可能不會是按照我們以前所知道的流程,本章著重講解Activity的生命周期變化
    2022-07-07
  • Android Jetpack架構組件 ViewModel詳解

    Android Jetpack架構組件 ViewModel詳解

    這篇文章主要介紹了Android Jetpack架構組件 ViewModel詳解,ViewModel類讓數據可在發(fā)生屏幕旋轉等配置更改后繼續(xù)存在,ViewModel類旨在以注重生命周期的方式存儲和管理界面相關的數據。感興趣可以來學習一下
    2020-07-07
  • Android圖片實現壓縮處理的實例代碼

    Android圖片實現壓縮處理的實例代碼

    本篇文章主要介紹了Android圖片實現壓縮處理的實例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • Flutter app頁面路由以及路由攔截的實現

    Flutter app頁面路由以及路由攔截的實現

    本篇介紹了介紹了Flutter如何使用路由來實現頁面的跳轉,從而簡化頁面之間的耦合,并可以實現路由攔截。
    2021-06-06
  • Kotlin新手基礎學習之Elvis操作符

    Kotlin新手基礎學習之Elvis操作符

    Kotlin 是一種在 Java 虛擬機上運行的靜態(tài)類型編程語言,被稱之為 Android 世界的Swift,由 JetBrains 設計開發(fā)并開源,下面這篇文章主要給大家介紹了關于Kotlin新手基礎學習之Elvis操作符的相關資料,需要的朋友可以參考下。
    2017-12-12
  • Gradle配置教程之自定義APK名稱與輸出路徑

    Gradle配置教程之自定義APK名稱與輸出路徑

    Gradle是一個基于JVM的富有突破性構建工具,下面這篇文章主要給大家介紹了關于Gradle配置教程之自定義APK名稱與輸出路徑的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧。
    2018-03-03

最新評論

邛崃市| 富民县| 高雄市| 天水市| 邛崃市| 海阳市| 资溪县| 绿春县| 石泉县| 淅川县| 通城县| 绵阳市| 虹口区| 江源县| 贵州省| 陇川县| 滨州市| 怀化市| 万宁市| 揭西县| 诸暨市| 肇州县| 大新县| 宜黄县| 安龙县| 新郑市| 河曲县| 甘孜县| 东光县| 吉木萨尔县| 桃园市| 原阳县| 丹江口市| 五家渠市| 华蓥市| 长岭县| 昌邑市| 淮阳县| 湖口县| 德江县| 洞口县|