BlackBerry 应用程序开发者指南 第二卷:高级--第2章 集成消息 |
||||||||||||||||||||||||||||||||||||||||||||||||||
| 作者:佚名 来源:本站整理 发布时间:2008-3-15 0:32:11 | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
作者:Confach 发表于 2006-04-28 22:17 pm 第2章 集成消息 |
|
Mail API 操作消息 管理文件夹 管理附件 |
Mail API
BlackBerry Mail API在net.rim.blackberry.api.mail和net.rim.blackberry.mail.event中.
Mail API类
BlackBerry Mail API在net.rim.blackberry.api.mail和net.rim.blackberry.mail.event包中.它允许应用程序使用消息应用程序发送,接收和访问消息..
注:BlackBerry mail API提供访问消息列表里的消息的能力,但不能访问其他类型的消息,例如短消息,PIN消息,或者电话呼叫记录.为了访问电话呼叫记录,使用电话呼叫记录的API(net.rim.blackberry.phonelogs).为得到更多信息,参卡79也的”访问和管理电话记录”.
当你的应用程序首先访问mail API时,检查一个NoClassDefFoundEorror!.如果系统管理员使用程序控制限制访问mail API,此错误将抛出.为获得更多信息,参看BlackBerry应用程序开发者指南第二卷:高级 第一卷:基础的16页的”应用程序控制”
|
类 |
描述 |
|
Session |
本类为消息操作表现了一个抽象模型.它提供访问消息服务,存储,以及传输的能力.应用程序获取一个新的Session对发送或接收消息.. |
|
Store |
本类模型化BlackBerry设备的底层消息存储.为了获得一个Store实例,调用Session实例. |
|
Transport |
本类代表了消息传输协议. |
消息
一个Message对象包含了一组属性,例如主题(subject),发送者(sender),接收者(recipients),以及消息体(它的内容).为获取更多消息,参看14页的”多部分消息”.
下面的类和接口定义了支持的属性:
|
类或接口 |
描述 |
|
Address |
本类代表了一个消息,ftp,http,或来自于(from),回复(reply to),接收属性以及消息体里的wap地址.Address类包含一些字段来存储完全许可的地址字符串,例如aisha.wahl@blackberry.com和显示名. |
|
Header |
本类定义了支持的消息头字段,例如 TO,FROM,以及DATE. |
|
Message.Flag |
本接口定义了消息标记,例如MOVED,OPENED,或SAVED. |
|
Message.Icons |
本接口定义了多种状态图标的字符串表现形式,例如一个已发送消息的检查标记. |
|
Message.RecipientType |
本接口定义了支持的接收类型,例如TO,CC或BCC. |
|
Message.Status |
本接口为发送和接收消息定义了状态选项,例如RX_RECEIVED,EX_ERROR,TX_SENT,以及TX_READ. |
多部分消息(Multipart messages)
Mail API支持多部分消息.Multipart抽象类为一个或多个BodyPart对象提供一个容器.Multipart提供获取和设置其子部分的方法.
每个BodyPart由消息头字段(属性)以及内容(消息体).Mail API提供四个BodyPart的实现.
|
类 |
描述 |
|
ContactAttachmentPart |
本类代表了一个地址卡(address card)附件部分.使用javax.microedition.pim.Contact接口.为获得更多信息,参看27页的”使用地址本”. |
|
TextBodyPart |
本类代表了一个内容的消息体,此内容为text/plain类型.你可使用本类创建text/plain部分的多部分消息. |
|
UnsupportedAttachmentPart |
本类代表了一个不支持的附件部分.你不能实例化此类.内容类型一直为application/octet-stream. |
|
SupportedAttachmentPart |
本垒代表了一个支持的附件部分,对于此,在BlackBerry设备上由一个已注册的附件处理器. |
消息存储
Folder类代表了一个本地邮件箱文件夹.定义了多种文件夹类型,包括INBOX,OUTBOX,SENT以及OTHER.你可以使用这些文件夹类型为获取或保存消息获取文件夹.
Store类模型化BlackBerry设备的底层消息存储,并提供方法查找和获取文件夹.文件夹以层次存在,正如下面例子中的描述一样:
|
Mailbox - Aisha Wahl Inbox Projects In Progress Complete Personal |
一个标准的分隔符在层次结果里独立每个文件夹,你可使用getSeperator()来得到它.你也可以列出Store对象里的所有文件夹,列出文件夹下的子文件夹,或者基于查询字符串查找一个文件夹.
Folder类定义了一些方法获取消息,或子文件夹,以及保存和删除消息.
注:多个Folder实例可以引用相同的BlackBerry设备文件夹.这样,你可以一直调用相同Folder对象的addFolderListener()以及removeFolderListener().使用Folder.equals()判断是否2个Folder对象引用了相同的folder.
Mail事件
BlackBerry mail事件包(net.rim.blackberry.api.mail.event)定义了下面的消息事件以及每个事件的监听者:
|
事件 |
描述 |
|
FolderEvent |
当文件夹里的一个消息增加或删除时此事件触发. |
|
MessageEvent |
当一个消息改变(消息体,消息头,或标记)时此事件触发. |
|
StoreEvent |
当一个消息以批处理(例如,当BlackBerry和桌面同步时)的形式加入到消息Store里,或从消息Store里删除,此事件触发. |
MailEvent类是这些mail事件类的基类.它定义了一个抽象的dispatch()方法,为每个事件调用合适的监听者方法.
EventListener接口为FolderListener和MessageListener接口提供一个通用接口.
|
监听者 |
可用对象 |
|
FolderListener |
可以将此类型加入到Folder或Store对象中. |
|
MessageListener |
可以将此类型加入到Message对象中. |
|
StoreListener |
可以将此类型加入到Store对象中. |
