2

次の例の埋め込み http サーバーを使用しています。

https://github.com/nikkiii/embedhttp

httpサーバーコードは次のように開始されます

File filesDir = getFilesDir();
HttpServer server = new HttpServer();
server.addRequestHandler(new HttpStaticFileHandler(new File("."))); 
server.addRequestHandler(new HttpStaticFileHandler(filesDir));
server.bind(8081);
// Start the server thread
server.start();

http サーバーは、サーバーから www フォルダーを として提供するように組み込まれていますhttp://localhost:8081/folderpath/index.html。次に、WebView を使用してローカルホストの URL にアクセスします。

webviewでアクセスしようとしています。

myWebView.loadUrl("`http://localhost:8081/`");
  myWebView.loadUrl("`http://localhost:8081/index.html`");
  myWebView.loadUrl("`http://localhost:8081/www/index.html`");
  myWebView.loadUrl("`http://localhost:8081/assets/www/index.html`");

しかし、どれも機能しません。assets/www flder が Android で実行されている localhost から提供される必要があるような状況に対する考えられる解決策は何ですか。ありがとう。

4

1 に答える 1

0

The Android assetsfolder is not available via getFilesDir():getFilesDir()別のディレクトリを返します。アセット フォルダー内のリソースを提供するには、AssetManager( http://developer.android.com/reference/android/content/res/AssetManager.html ) を使用し、リクエスト パスから適切なリソースに少し変換する必要があります。

于 2013-05-18T11:13:12.000 に答える