ssummeraw
ssummeraw
2012-11-29 03:47
采纳率: 73%
浏览 8.2k

在webview中打开一个本地的html文件

在一个根文件夹中保存了一个文件,我想在webview中打开它。
这是我保存文件的代码:

 OutputStream outstream = null;

                 outstream = openFileOutput(fileName ,MODE_WORLD_READABLE);


                       if (outstream != null) {

                    OutputStreamWriter outputreader = new OutputStreamWriter(outstream);
                    BufferedWriter buffwriter = new BufferedWriter(outputreader);


                    buffwriter.write(result);

                  } 

                  outstream.close();

                } catch (java.io.FileNotFoundException e) {
                    System.out.println("File not found in the writing...");
                } catch (IOException e) {
                    System.out.println("In the writing...");
                }

然后又回调文件:

fileView.getSettings().setJavaScriptEnabled(true);
 fileView.loadUrl("file:///" + name); <---

然后程序中我就获得错误提示说不能找到这个文件。
是代码方面出现问题了吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • csh_34
    csh_34 2012-12-04 05:27
    已采纳

    事实上,当你打开一个URL时,要使用file:///...
    也就是说你应该在assets目录(test.html)下保存文件。现在假设你需要访问test.html文件,你应该这样写:loadURL("file:///android_asset/test.html');

    点赞 评论
  • CSDN_Ask
    问答小助手 2012-11-29 05:44

    试一下这个方法:

    WebView mWebView=(WebView)findViewById(R.id.mWebView);
    
                mWebView.loadUrl("file:///book.html");
                mWebView.getSettings().setJavaScriptEnabled(true);
                mWebView.getSettings().setSaveFormData(true);
                mWebView.getSettings().setBuiltInZoomControls(true);
                mWebView.setWebViewClient(new MyWebViewClient());
    
    private class MyWebViewClient extends WebViewClient 
    { 
        @Override 
        //在webview中显示web页面,但不是在web浏览器
        public boolean shouldOverrideUrlLoading(WebView view, String url) { 
            view.loadUrl (url); 
            return true;
        }
    }
    
    点赞 评论

相关推荐