在Android系统中,MMS(Multimedia Messaging Service)是一种用于发送和接收包含多媒体内容的短信服务。本文将深入探讨Android MMS支持的实现机制,帮助开发者理解和操作这一关键功能。 Android MMS的实现主要涉及到`SlideshowModel`和`SlideModel`两个核心数据结构。`SlideshowModel`是一个由`SlideModel`对象组成的ArrayList,每个`SlideModel`又是一个Model的List,可以承载Audio、Video、Image和Text等多种媒体类型的Model子类。`SlideModel`负责管理和布局各个媒体元素,而`SlideshowModel`则负责整体的多媒体管理,如将所有附件转换为Android MMS协议的数据类型——`Pdu`,以及反向从`Pdu`恢复为`SlideshowModel`。 `Pdu`是遵循MMS协议的标准数据格式,可以被直接发送给MMSC(Multimedia Messaging Service Center)或者从MMSC接收。在Android中,`com.google.android.mms.*`包下的类专门处理MMS相关事务,它们提供方法将应用层的数据(如媒体文件)封装成`Pdu`,再将`Pdu`解析回媒体文件。`PduBody`是`Pdu`中用于存储多媒体文件的部分,由`PduPart`对象集合构成,每个`PduPart`代表一个单独的文件。`PduPersister`工具则用于处理这些数据结构,包括在数据库中进行读写操作。 创建和发送MMS的过程大致如下:开发者需要创建一个`SlideshowModel`,然后添加各种`MediaModel`或`TextModel`到`SlideshowModel`中。当准备发送MMS时,`SlideshowModel`会提取其中的媒体文件,将其转化为`PduPart`并放入`PduBody`。相反,当接收到MMS时,系统会从`PduBody`中提取`PduPart`,恢复成媒体文件,形成`MediaModel`,并加入到`SlideshowModel`中,形成可供用户查看的“幻灯片”。 关于附件类型,MMS中的附件可以被分类为IMAGE、AUDIO、VIDEO和SLIDESHOW。实际上,所有附件都被存储在一个`SlideshowModel`中,系统通过特定规则来判断和显示附件类型。如果只有一个媒体文件(图像、音频或视频),系统会将其类型设为对应的媒体类型;而只有当用户明确选择添加幻灯片并添加多个幻灯片时,附件类型才会显示为SLIDESHOW。这个类型只在应用中用于决定如何展示媒体,不会在发送的`Pdu`中体现。接收MMS时,系统会根据解析后的`SlideshowModel`内容推断附件类型,然后进行相应的显示。 创建和编辑MMS在Android中相对直观。由于Mms应用将MMS和SMS视为统一的对话消息,创建MMS只需在作曲家(Composer)界面点击附件菜单,选择媒体类型并添加文件即可。添加完成后,`Composer`会调用`WorkingMessage.setAttachment()`,将Uri转换为`MediaModel`,加入到`SlideshowModel`中,并设置类型。如果选择添加幻灯片,用户将直接进入编辑幻灯片界面,完成添加、删除、布局设置等操作。 Android MMS支持涉及到复杂的数据结构和处理逻辑,但通过`SlideshowModel`、`SlideModel`以及`Pdu`等核心组件,开发者可以方便地创建、编辑和发送包含多媒体内容的短信。理解这些机制对于在Android平台上开发MMS功能的应用至关重要。
























- 粉丝: 2
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于单片机的交流电机转动控制系统方案设计书.doc
- 《项目管理决策分析与评价》摸底评测.doc
- 综合布线设计方案.docx
- 区块链技术在金融领域应用的风险管理策略研究.docx
- 数据库应用技术知识点.doc
- ATS单片机停车场车位设计.doc
- 2018年度四川省大数据时代的互联网信息安全试题及答案1.doc
- 数据库设计报告1111111111111.doc
- 项目管理在农用飞机维修工程中的应用.docx
- 基于物联网的智能家居系统的设计与应用.docx
- kubernetes系列03—kubeadm安装部署K8S集群.docx
- 基于服务器虚拟化的政务云平台设计.docx
- C语言程序设计工业和信息化普通高等教育“十二五”规划教材立项项目-赵山林-高媛.doc
- matlab电炉温度控制算法比较及仿真研究分析.doc
- 电力调度自动化系统的网络安全问题与对策分析.docx
- 大数据时代人力资源管理创新策略初探.docx


