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 访问 localhost 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`");

但它们都不起作用。对于需要从在 android 上运行的 localhost 提供 assets/www flder 的这种情况,可能的解决方案是什么?谢谢。

4

1 回答 1

0

The Android assets folder is not available via getFilesDir(): getFilesDir() returns a different directory. To serve resources in the assets folder you'll need to use AssetManager (http://developer.android.com/reference/android/content/res/AssetManager.html) and do a little translation from your request paths to the appropriate resource.

于 2013-05-18T11:13:12.000 回答