Android Mms专题研究
alexhilton
欢迎搜索并关注公众号「稀有猿诉」
展开
-
Android Mms专题之:Mms概览介绍
这里的Mms名称并不准确,因为它是一个应用程序的名字,这个应用程序是Android上面的信息应用程序,它即能处理短信SMS(Short Messaging Service),也能处理彩信(Multimedia MessagingService)。它是除电话程序外,另一个非常重要的手机系统核心应用程序,因为对于手机来讲,最重要的二个功能就是电话功能和信息功能。在功能手机时代,是这样,到了智能手机时代原创 2011-12-06 20:57:29 · 12627 阅读 · 4 评论 -
Android Mms专题之:Compose详解
Mms中的ComposeMessageActivity(以下简称Composer)是整个Mms中最重要的一个组件,它负责编辑信息,发送信息,管理信息,接收信息,与外部应用接口。在Mms内部与Composer关联的类和组件特别多,几乎所有的类和组件都与Composer有关联,关于信息的所有操作流程都起始于Composer;在外部Composer也是公开的接口,能够处理Intent.ACTION_SE原创 2012-03-28 21:33:36 · 9120 阅读 · 2 评论 -
Android Mms专题之:草稿管理
<!--@page {margin:0.79in}h3 {margin-top:0.14in; margin-bottom:0in; color:#4f81bd; page-break-inside:avoid}h3.western {font-family:"Cambria",serif; font-size:12pt}h3.cjk {font-f原创 2012-01-03 22:31:22 · 8806 阅读 · 6 评论 -
Android Mms专题之:MMS支持
Composing and editingMMS在Android Mms应用里面的具体实现形式,或数据结构是SlideshowModel,它是一个每个节点为SlideModel的ArrayList,SlideModel是一个Model的List,也就是它可以接收任何Model的子类,Audio,Video,Image和Text都可以放到SlideModel上面。SlideModel主要用于管理原创 2012-01-03 22:52:58 · 9608 阅读 · 0 评论 -
Android Mms专题之:联系人管理
Contact联系人对Mms来说是十分重要的,因为每一个对话的收信人都是一个联系人,新建信息时可以输入联系人的任何信息,比如号码或名字,Mms都可以把信息发给相应的人。Mms中的类Contact就是用来代表一个联系人,它含有联系人的信息,如名字,号码,联系人Id,是否存在于联系人数据库等等,同时Contact也提供了一些方法来获取Contact对象,Contact.get()方法来获取Contac原创 2012-02-02 23:36:48 · 5377 阅读 · 1 评论 -
Android Mms专题之:接收信息流程
信息的接收工作是由底层来完成的,当有一个 新的信息时底层完成接收后会以Intent的方式来通知上层应用,信息的相关内容也包含在Intent当中,Android所支持的信息Intent都定义在android.provider.Telephony.Intents里面。短信的接收短信接收,对于上层应用程序来讲就是要处理广播事件SMS_RECEIVED_ACTION,它是由Framewor原创 2011-12-30 19:57:49 · 18417 阅读 · 3 评论 -
Android Mms专题之:信息发送流程
信息的发送,对于Mms应用程序来讲主要就是在信息数据库中创建并维护一条信息记录,真正的发送过程交由底层(Frameworks层)函数来处理。总体的来讲,当信息创建完成后,对于信息通常有三个去处,一个是放弃这个信息,也就是用户不想要此信息,一旦选择,信息将不会被保存;第二个去处就是保存为草稿;最后一个去处就是发送此信息。当点击了发送后,UI层暂不会有变化,UI层要监听负责发送的各个类的回调信原创 2011-12-29 22:22:19 · 16261 阅读 · 10 评论 -
Android Mms专题之:对话与联系人的关联
在Mms中每个Thread都有其相应的联系人,但是threads表中并没有直接保存联系人的信息(号码或名字),而是保存一个叫做recipient_id的东西,也还有一个类叫做data/RecipientIdCache.java专门管理它。在数据库中专门有一个表来保存它canonical_addresses。它的目的就是为了能够快速的找到某一对话的联系人的信息。对话的表threads里面并没原创 2012-02-02 23:45:53 · 5086 阅读 · 0 评论 -
Android Mms专题之:对话列表管理
Conversation这个类主要表示对话的数据结构,其内持有一个Thread所有的相关信息,如Recipients,ThreadId等等,也用于管理Thread,比如查询Thread,删除Thread,更新Thread,管理ThreadId,管理Thread的联系人等等。因为Thread表与其他表关联的信息比较多,如联系人,消息个数,这些信息有些直接会写在数据库。因为Thread上面的信息比较多原创 2012-02-02 23:40:38 · 5480 阅读 · 1 评论 -
Android Mms专题之:Mms源码结构
从软件的功能角度来讲,Mms分为对话列表,消息列表,短信编辑,彩信编辑,短信显示,彩信显示和配置。从实现的角度来看,它分为GUI展示层,发送/接收,彩信解析,彩信附件,信息数据等,这些分类对应着源码中的各种包。源码导航Mms的源码的位置在于android/packages/apps/Mms其中Mms/src/com/android/mms里面都是Mms相关的代码,而Mms/sr原创 2011-12-08 21:46:38 · 17803 阅读 · 30 评论 -
Android Mms专题之:PDU介绍
Android当中的Mms对MMS(Multimedia Messaging Service)的操作关乎MMS协议部分都是通过Frameworks中提供的API来完成的:com.google.android.mms这个包在SDK中是不开放的,只能供内部程序使用,它封装了所有MMS所需要的API。这个包就是Android中对MMS协议的实现,包括一些数据结构:GenericPdu,Multime原创 2012-03-29 20:23:00 · 13516 阅读 · 2 评论