今まで私はSDK5.0を使用していて、 net.rim.device.api.browser.field2.BrowserFieldを使用してローカルHTMLテキストを表示できましたが、要件が変更され、SDK4.6を使用する必要があります。問題は、BrowserFieldのコンパイラエラーが発生することです。SDK4.6でHTMLテキストを表示するのを手伝ってくれる人はいますか?
2 に答える
以前のバージョンのRIMSDKではサポートされているBrowserFieldクラスがないため、codアプリケーションに埋め込まれたhtmlファイルのローカルブラウザーセッションを起動できます。
アプリケーションのコード名がmymodule.codであるとします。
document.html
また、プロジェクトにファイルを添付しました。このファイルは、外部ではなく、ソースコードフォルダーにあります。
次のコードを使用してブラウザセッションを起動できます。
BrowserSession session = Browser.getDefaultSession();
session.displayPage("cod://mymodule/document.html" );
モジュール名では大文字と小文字が区別されることに注意してください。
また、ローカルのhtmlファイルにアクセスする方法は文書化されていないことに注意してください。
これをシミュレーターでテストする場合は、MDSシミュレーターが起動され、機能していることを確認してください。
以前のBlackBerryOSバージョンで使用可能なAPIを使用してローカルHTMLコンテンツを表示することは引き続き可能です。それを機能させるのは少し複雑です。これを行うには、(すでに発見した新しいBrowserField2 APIとは対照的に)古いBrowserFieldAPIが必要です。SDKには、これを部分的に示す「BrowserField」サンプルアプリが含まれていると思います。これには、RenderingSessionクラスを使用してBrowserContentオブジェクトを取得することが含まれます。このオブジェクトには、画面内に実際に表示できるUIフィールドを返すメソッドがあります。
秘訣は、RenderingSessionが、データを読み取ることができるHttpConnection(またはInputConnection)を提供することを期待していることです。これらはインターフェースであるため、実際のHTTP接続をラップするのではなく、独自のHTMLデータを返すように実装する必要があります。
自分のアプリケーションのコンテキストに少し固有かもしれませんが、ローカルHTMLコンテンツ表示用にこのAPIをラップするクラスの例を次に示します。BrowserFieldRenderer