0

私はブラックベリーアプリ開発の初心者です。

BlackberryプラグインをEclipseに正常にインストールしました。私の最初のアプリは、プロジェクト内に「assets」という名前で作成したフォルダーから html ファイルをロードする必要があります。どうすればhtmlファイル「assets/index.html」をロードできますか?

public static void main(String[] args)
{
    // Create a new instance of the application and make the currently
    // running thread the application's event dispatch thread.
    Ramadanclass theApp = new Ramadanclass();       
    theApp.enterEventDispatcher();
}

メインスクリーン:

public final class Ramadan extends MainScreen
{ 

    public Ramadan()
    {                   
        setTitle("Ramadan");    
    }
} 

編集:私が試したこと:

BrowserField myBrowserField = new BrowserField(); 
add(myBrowserField); 
myBrowserField.requestContent("assets/index.html"); 

このエラーがあった

assets/index.html のナビゲーション リクエスト ハンドラがありません

4

1 に答える 1

0

@Turdnuggetが提供したリンクには次のように書かれています。

BrowserField クラスは、フォルダー構造を使用してリソースにアクセスしません。BrowserField クラスは、指定されたファイル名に一致する最初に見つかったリソースを表示します。

つまり、index.html をassetsフォルダーに入れても、BlackBerry ビルド プロセスやランタイムはディレクトリ構造を平坦化(つまり無視) するため、次のように html ファイルをロードする必要があります。

myBrowserField.requestContent("local:///index.html");

ご想像のとおり、プロジェクトで名前が付けられたファイルが 1 つしかない場合、これは問題なく機能index.htmlしますが、同じ名前のファイルが 2 つ、異なるフォルダーにある場合、ブラウザー フィールドは目的のファイルをロードしない可能性があります。デバイスやアプリのバージョン (完全版と無料版) に応じて読み込まれる html ファイルのバージョンが異なるプロジェクトがあります。そのため、html リソースを別のフォルダーに保存できるようにしたいと考えています。

これを達成するために、次のコードを で使用しましたBrowserField

  browser = new BrowserField();
  add(browser);

  InputStream content = getClass().getResourceAsStream("/resourcesWeb/index.html");     
  try {
     byte[] html = IOUtilities.streamToBytes(content);
     browser.displayContent(new String(html), "http://localhost");
  } catch (IOException e) {
     e.printStackTrace();
  }

これを機能させるために、ファイルindex.htmlを名前付きのフォルダーに保存しますresourcesWeb(好きな名前を付けます)。そのフォルダーは最上位resフォルダー内にあります。

これは Android ではないことに注意してください。通常、assetsディレクトリはありません。BlackBerry Eclipse プラグインを使用して新しいプロジェクトを作成するsrcと、 とresフォルダが作成されます。私はそれを使用します。必要に応じて新しいプロジェクトを作成します。次に、ソース コード以外のすべてのリソース (html、xml、画像など) をresフォルダーの下のどこかに保管します。

この方法でプロジェクトを作成しなかった場合、assets作成したフォルダーを含めずにアプリがビルドされることがあります。Eclipse でプロジェクトを右クリックし、[プロパティ] を選択すると、おそらくこれを修正できます。このダイアログを使用して、ビルド パスにフォルダーを追加できます。assets

ここに画像の説明を入力

[注文とエクスポート] タブにも 表示されるassetsはずです。

ただし、BlackBerry Eclipse プラグインが望む方法でプロジェクトを作成して使用するのが最も簡単だと思います。これにより、あなたのプロジェクトは、あなたのコードを見る他の BlackBerry Java 開発者にとってより身近なものになります。私の意見では、Android プロジェクト用に Android 命名規則を保存する必要があります。

于 2013-07-17T01:38:27.260 に答える