BlackBerry 应用程序开发者指南 第二卷:高级–第5章 BlackBerry浏览器
5
第5章 BlackBerry浏览器
浏览器API
在浏览器显示Web内容
在一个浏览器域里显示Web内容
支持附加的MIME类型
注册一个HTTP过滤器
浏览器API
API名和包
描述
浏览器应用程序API(net.rim.blackberry.api.browser)
通过调用Blackberry浏览器,API允许应用程序显示web内容,包括支持的图片格式,HTML以及WML页面.也允许应用程序提供HTTP请求的一个Referrer,HTTP头,以及提交的内容.为获得更多信息,参看51页的”在浏览器显示Web内容”.
浏览器域API
(net.rim.blackberry.api.browser.field)
此API允许一个应用程序获取web内容在一个浏览器域里的显示,此域包含在应用程序UI里.也允许应用程序配置浏览器域的表现形式,例如去除滚动条,或者指定仅显示屏幕一部分的浏览器域.
浏览器页面API(net.rim.blackberry.api.browser.plugin)
此API允许应用程序支持附加的MIME类型.当BlackBerry启动时,注册一个提交提供者,所有后发的浏览器对话将支持附加的MIME类型.为获取更多信息,参看66页的”支持附加的MIME类型”.
HTTP过滤器API
(net.rim.device.api.io.http)
API允许应用程序向浏览器注册一个或多个URL的提供者.为获取更多信息,参看71页的”注册一个HTTP过滤器”.
在浏览器里显示Web内容
为了在浏览器里显示web内容,使用浏览器应用程序API(net.rim.blackberry.api.browser).
获取一个浏览器对话(Session)
为了获取一个缺省的BrowserSession对象,调用静态方法Browser.getDefaultSession().本对象允许你访问正在BlackBerry设备上运行的浏览器.
为了新增一个约会,调用EventList.importEvent(). 注:获取缺省的对话会覆写任何BlackBerry设备上已经打开的对话.
为获取一个不同的对话,调用getSession().此方法根据它的唯一ID(UID)获取一个浏览器配置服务记录.为获得更多信息,参见113页的”服务定制API”.
请求一个Web页面
为请求一个Web页面,调用BrowserSession.displayPage()方法.下面的实例使用了仅接受一个URL的displayPage()方法.为指定一个referrer,HTTP头,以及提交的数据,使用接受这些附加信息的方法.
代码实例
下面来自Restaurants.java实例的引用创建了一个菜单,此菜单会在浏览器中显示一个Web页面.
private MenuItem browserItem = new MenuItem(
_resources.getString(MENUITEM_BROWSER), 110, 12) {
public void run() {
synchronized(store) {
String websiteUrl = websitefield.getText();
if (websiteUrl.length == 0) {
Dialog.alert(_resources.getString(ALERT_NO_WEBSITE));
}
else {
BrowserSession visit = Browser.getDefaultSession();
visit.displayPage(websiteUrl);
}
}
}
};
在浏览器域显示Web内容
为了在应用程序UI里包含一个浏览器域,使用浏览器域API (net.rim.device.api.browser.field).浏览器呈现(rendering)库为域处理web内容的描绘,然后返回一个BrowserField-在此域URL内容得到描绘-到你的应用程序显示. 注:用来打开一个浏览器域的浏览器对话独立于BlackBerry设备上缺省的浏览器对话. 任何打开的浏览器对话则不受影响.
RenderingApplication接口定义了一个描绘对话所需要的回调功能来帮助处理URL资源, RenderingApplication接口的实现在一个浏览器域里显示web内容.
为呈现创建一个独立的线程
当应用程序获取和显示浏览器域时,为阻止应用程序挂起,在一个独立线程上完成这些操作.
class CreationThread extends [...]
Confach发表于 April 28, 2008 12:28 pm | 留言 |新闻
