2

私がやろうとしているのは、アプリケーションに単純な Web ページを表示することです (JavaScript、Cookie、またはスクリプトを使用せず、マウス クリックなどのイベントを検出しようとしません)。

以下のコードを使用していますが、今は空の画面しか表示されません。アプリケーションがインターネットにアクセスしていることはわかっていますが (データ転送の矢印が右上隅で点滅します)、レンダリングされない理由はわかりません。

私が使用しているコードは次のとおりです。

HttpConnectionFactory factory = new HttpConnectionFactory("www.google.ca",HttpConnectionFactory.TRANSPORT_WIFI | HttpConnectionFactory.TRANSPORT_WAP2 | HttpConnectionFactory.TRANSPORT_DIRECT_TCP);

while(true)
{
     try
     {
          HttpConnection connection = factory.getNextConnection();
          try
          {
              BrowserContent bc = RenderingSession.getNewInstance().getBrowserContent(connection,null,0);
              Field f = bc.getDisplayableContent();
              add(f);  
          }
          catch(RenderingException e)
          {
              //Log the error or store it for displaying to
              //the end user if no transports succeed
              System.out.println("error with rendering page");
          }
    }
    catch(NoMoreTransportsException e)
    {
           //There are no more transports to attempt
           //Dialog.alert( "Unable to perform request" ); //Note you should never
           //attempt network activity on the event thread
           System.out.println("no more transport");
           break;
    }
}

注意すべき点:

  1. www.versatilemonkey.com の http-connection-factory クラスを使用しているのは、抽象的な httpConnection クラスを実装しているためです。誰かが自分自身を実装する方法を教えてくれれば、それは素晴らしいことです。

  2. getBrowserContent 関数のフラグに「0」を使用しています。rimn のドキュメントを調べましたが、説明が見つかりませんでした。

どんな助けでも大歓迎です。

ありがとう、アンキット

4

1 に答える 1

1

これをシミュレータまたは実際のデバイスで実行していますか。実際のデバイスの場合、どのキャリアを使用していますか? 私が尋ねる理由は、GSM ネットワーク (米国の AT&T や T-Mobile など) を使用している場合は、デバイス設定で APN を構成するか、接続 URL で指定する必要がある可能性が高いからです。使用している HTTP 接続ライブラリのコードを覗いてみると、URL に APN 設定を追加するものは何も表示されません。つまり、デバイス設定で構成されていない場合、ダイレクト TCP は機能しません。残りは WAP2 と Wi-Fi です。すべてのデバイスが Wi-Fi を備えているわけではなく、私の経験からすると、すべてのデバイス/キャリアが WAP2 をサポートしているわけではありません。

于 2010-04-20T05:39:54.033 に答える