0

到目前为止,我使用的是 SDK 5.0,并且能够使用net.rim.device.api.browser.field2.BrowserField显示本地 html 文本,但现在我的要求已经改变,必须使用 SDK 4.6。问题是现在我收到 BrowserField 的编译器错误。谁能帮我在 SDK 4.6 中显示 HTML 文本

4

2 回答 2

3

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

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

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

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

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

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

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

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

于 2011-08-16T11:29:10.833 回答
1

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

诀窍是 RenderingSession 期望您为它提供一个 HttpConnection(或 InputConnection),它可以从中读取数据。由于这些是接口,因此您只需以它们返回您自己的 HTML 数据而不是包装实际的 HTTP 连接的方式来实现它们。

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

于 2011-08-16T12:51:28.097 回答