附件
//创建一个附件处理器
首先黑莓企业服务器服务获得所有附件连线。第三方附件处理器不能修改默认的黑莓装置的设置。
//引入一下类
• net.rim.blackberry.api.mail.Message
• net.rim.blackberry.api.mail.SupportedAttachmentPart
• net.rim.device.api.ui.Screen
• net.rim.device.api.ui.component.LabelField
• net.rim.device.api.ui.component.RichTextField
• net.rim.blackberry.api.mail.AttachmentHandlerManager
//引入net.rim.blackberry.api.mail.AttachmentHandler接口
//实现AttachmentHandler接口,通过黑莓所承认 MIME的接口类定义附件处理事件
//实现字符串的支持,在下列代码例子,如果支持附件将返回一个Boolean。
public boolean supports(String contentType) {
return (contentType.toLowerCase().indexOf("contenttype") != -1 ? true : false);
}
//当黑莓用户选择一个附件,使用menuString()来定义相关的菜单项字符串列表显示的消息时。
public String menuString() {
return "Custom Attachment Viewer";
}
//使用run()来定义附件的处理,当一个黑莓装置用户选择一个菜单项的消息,这个动作调用run()方法。
在以下的例子中,我们实行代码创建了一个全新的屏幕标题‘Attachment Viewer’与使用RichTextField
显示一个字符串的内容附件。
public void run(Message m, SupportedAttachmentPart p) {
// Perform processing on data.
Screen view = new Screen();
view.setTitle(new LabelField("Attachment Viewer"));
view.add(new RichTextField(new String((byte[])p.getContent())));
}
//调用AttachmentHandlerManager.addAttachmentHandler()注册一个附件档。当注册一个自定义附件处理器,
前缀名是“x-rimdevice”的附件派和储存的黑莓装置。
AttachmentHandlerManager m = AttachmentHandlerManager.getInstance();
CustomAttachmentHandler ah = new CustomAttachmentHandler();
m.addAttachmentHandler(ah);
//检索附件的内容
//引入net.rim.blackberry.api.mail.SupportedAttachmentPart类
//调用SupportedAttachmentPart.getContent().
String s = new String((byte[])p.getContent());
//检索附件信息
//引入 net.rim.blackberry.api.mail.SupportedAttachmentPart类
//调用类SupportedAttachmentPart的方法。类SupportedAttachmentPart相当于黑莓装置的附件观察者。
类UnsupportedAttachmentPart黑莓装置没有附件观察者。
//发送一个带附件的邮件
//引入一下类
• net.rim.blackberry.api.mail.Multipart
• net.rim.blackberry.api.mail.SupportedAttachmentPart
• net.rim.blackberry.api.mail.Message
• net.rim.blackberry.api.mail.Session
• net.rim.blackberry.api.mail.Transport
• net.rim.blackberry.api.mail.MessagingException
//创建Multipart类 multipart信息
byte[] data = new byte[256]; // The attachment.
MultiPart multipart = new MultiPart(); // Default type of multipart/mixed.
//创建类SupportedAttachment,指定multipart的父类,在屏幕上创建每个插件
SupportedAttachmentPart attach = new SupportedAttachmentPart( multipart,
"application/x-example", "filename", data);
//调用MultiPart.addBodyPart(SupportedAttachmentPart)
multipart.addBodyPart(attach); // Add the attachment to the multipart.
//调用Message.setContent(Multipart)与提供给类Multipart的参数设置附件内容
msg.setContent(multipart);
//调用Session.getTransport()和保存在一个可变对象的返回类型运输。这个运输对象代表了消息传输协议。
Transport object represents the messaging transport protocol.
Transport trans = Session.getTransport();
//调用Transport.send(Message).
try {
trans.send(msg);
} catch(MessagingException e) {
System.out.println(e.getMessage());
}