2011-04-28 4 views
9

루트 폴더에 파일이 저장되어 있으며 웹보기에서 열려고합니다.Webview에서 로컬 HTML 파일 열기 - Android

OutputStream outstream = null; 
    outstream = openFileOutput(fileName ,MODE_WORLD_READABLE); 

    /// if file the available for writing 
    if (outstream != null) { 
     /// prepare the file for writing 
     OutputStreamWriter outputreader = new OutputStreamWriter(outstream); 
     BufferedWriter buffwriter = new BufferedWriter(outputreader); 

     /// write the result into the file 
     buffwriter.write(result); 
    } 

    /// close the file 
    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); <--- 

는 앱 내부가 나에게 오류를 발견하지 않는 파일을 제공

이 절약 내 코드입니다.

어떤 통찰력이 도움이됩니다.

답변

6

예외가 발생하지 않았다고 가정하면 경로가 잘못되었습니다.

파일 : ///은/이름을 찾기 위해 브라우저에 지시

openFileOutput (파일 이름) < 응용 프로그램 파일 디렉토리 >/fileName에

귀하의 URL이 있어야한다 "파일에 작성하는 응용 프로그램을 말한다

: 당신이 U 열 때 /// "+ getFilesDir() + Win32 시스템 + fileName에

+0

처럼 작성해야합니다, 당신은 test.html를 파일에 액세스 할 수 있다고 가정합니다. 이론 상으로는 html5 캔버스와 자바 스크립트 게임을 만들고 안드로이드 폰에 로컬로 파일을 저장 한 다음 플레이어가 게임을 할 수 있도록 webview로 열 수 있습니까? – Jacob

15
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 
    //show the web page in webview but not in web browser 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl (url); 
     return true; 
    } 
} 

사실이

11

시도 RL 사용 file:///...
그러면 자산 디렉토리 아래에 파일을 저장해야합니다 (test.html). 이제 내가 안드로이드를위한 게임을 만드는 시작 생각하고이

loadURL("file:///android_asset/test.html'); 
+0

test.html에서 page1.html로 이동하고 싶습니다. 두 파일이 모두 같은 디렉토리에 있기 때문에 test.html에서 'Page 1'을 사용하고 있지만 작동하지 않습니다. – Sarz

관련 문제