태그 보관물: local

local

WebView로 HTML 파일로드 다른 여러

WebView로로드하려는 로컬 HTML 페이지와 함께 다른 여러 리소스 (css 파일 및 Javascript 라이브러리)가 있습니다. 이것이 어떻게 달성 될 수 있습니까?

아마도 가장 좋은 방법은 아니지만 아직 실험 중입니다.



답변

가장 쉬운 방법은 웹 리소스를 자산 폴더에 넣고 다음을 호출하는 것입니다.

webView.loadUrl("file:///android_asset/filename.html");

Java와 Webview 간의 완벽한 통신은 다음을 참조하십시오.

업데이트 : 자산 폴더는 일반적으로 다음 폴더입니다. 파일<project>/src/main/assets
의 자산 폴더 구성 설정에서 다음과 같이
변경할 수 있습니다 .<app>.iml

<option name=”ASSETS_FOLDER_RELATIVE_PATH” value=”/src/main/assets” />Android Studio에서 자산 폴더를 배치 할 위치
기사 참조


답변

이 샘플이 도움이 될 것입니다.

  WebView lWebView = (WebView)findViewById(R.id.webView);
  File lFile = new File(Environment.getExternalStorageDirectory() + "<FOLDER_PATH_TO_FILE>/<FILE_NAME>");
  lWebView.loadUrl("file:///" + lFile.getAbsolutePath());


답변

이 경우 사용하는 WebView#loadDataWithBaseUrl()것이 WebView#loadUrl()! 보다 좋습니다 .

webView.loadDataWithBaseURL(url, 
        data,
        "text/html",
        "utf-8",
        null);

url : url / path 모든 JavaScript 파일 및 html 링크가 디렉토리를 가리키는 문자열입니다. null 인 경우는 공란입니다. data : hmtl 파일을 포함하는 문자열, 예를 들어 BufferedReader로 읽음

추가 정보 : WebView.loadDataWithBaseURL (java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)


답변

수락 된 답변이 나를 위해 작동하지 않습니다, 이것이 나를 위해 작동하는 것입니다

WebSettings webSetting = webView.getSettings();
    webSetting.setBuiltInZoomControls(true);
    webView1.setWebViewClient(new WebViewClient());

   webView.loadUrl("file:///android_asset/index.html");


답변