如何使用sdk 4.6在黑莓中显示本地HTML文本

时间:2011-08-16 09:42:36

标签: blackberry blackberry-jde browserfield

直到现在我使用SDK 5.0并且能够使用 net.rim.device.api.browser.field2.BrowserField 来显示本地html文本,但现在我的要求已经更改并且必须使用SDK 4.6。问题是,现在我收到了BrowserField的编译错误。任何人都可以帮我在SDK 4.6中显示HTML文本

2 个答案:

答案 0 :(得分:3)

由于早期版本的RIM SDK中不支持BrowserField类,因此可以为嵌入在cod应用程序中的html文件启动本地浏览器会话。

假设您的应用程序代码名称为 mymodule.cod

您已将document.html个文件附加到您的项目中,并且此文件位于您的源代码文件夹中,而非在外部。

您可以通过以下代码启动浏览器会话:

    BrowserSession session = Browser.getDefaultSession();
    session.displayPage("cod://mymodule/document.html" ); 

请注意,该模块名称区分大小写。

请注意,没有记录访问本地html文件的方法。

如果您要在模拟器中测试,请确保MDS模拟器已启动且正在运行。

答案 1 :(得分:1)

仍然可以使用可用于早期BlackBerry OS版本的API显示本地HTML内容。让它工作起来有点复杂。这样做涉及较旧的BrowserField API(与您已经发现的较新的BrowserField2 API相反)。我认为SDK包含一个“BrowserField”示例应用程序,部分演示了这一点。它涉及使用RenderingSession类来检索BrowserContent对象,该对象具有返回您可以在屏幕中实际显示的UI字段的方法。

技巧是RenderingSession希望你为它提供一个可以从中读取数据的HttpConnection(或InputConnection)。由于这些是接口,您只需要以这样的方式实现它们,即它们返回您自己的HTML数据而不是包装实际的HTTP连接。

它可能有点特定于我自己的应用程序的上下文,但这里是我编写的一个类的示例,它包装此API用于本地HTML内容显示:BrowserFieldRenderer