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