到目前为止,我使用的是 SDK 5.0,并且能够使用net.rim.device.api.browser.field2.BrowserField显示本地 html 文本,但现在我的要求已经改变,必须使用 SDK 4.6。问题是现在我收到 BrowserField 的编译器错误。谁能帮我在 SDK 4.6 中显示 HTML 文本
2 回答
由于在早期版本的 RIM SDK 中不支持 BrowserField 类,您可以为嵌入在您的 cod 应用程序中的 html 文件启动本地浏览器会话。
假设您的应用程序代码名称是mymodule.cod
并且您已将文件附加document.html
到您的项目中,该文件位于您的源代码文件夹中,而不是外部。
您可以通过以下代码启动浏览器会话:
BrowserSession session = Browser.getDefaultSession();
session.displayPage("cod://mymodule/document.html" );
请注意,该模块名称区分大小写。
请注意,访问本地 html 文件的方法没有记录。
如果您要在模拟器中进行测试,请确保 MDS 模拟器已启动并且正在运行。
仍然可以使用适用于早期 BlackBerry OS 版本的 API 显示本地 HTML 内容。让它工作起来有点复杂。这样做涉及较旧的 BrowserField API(与您已经发现的较新的 BrowserField2 API 相反)。我认为 SDK 包含一个“BrowserField”示例应用程序,部分演示了这一点。它涉及使用RenderingSession类来检索BrowserContent对象,该对象具有返回 UI 字段的方法,您可以在屏幕中实际显示该字段。
诀窍是 RenderingSession 期望您为它提供一个 HttpConnection(或 InputConnection),它可以从中读取数据。由于这些是接口,因此您只需以它们返回您自己的 HTML 数据而不是包装实际的 HTTP 连接的方式来实现它们。
它可能有点特定于我自己的应用程序的上下文,但这是我编写的一个类的示例,它包装了这个 API 以显示本地 HTML 内容:BrowserFieldRenderer