2013-07-29 1 views
4

웹보기를 사용하여 자산에서 큰 이미지 (대략 3500 x 3500 픽셀)를로드해야합니다.Android : Webview를 사용하여 자산에서 큰 이미지로드

저는 Stackoverflow에 대한 많은 연구를 해왔습니다. 그러나 아직 그 답이 나에게 도움이되지 못했습니다. 애셋을 사용하는 Android 4.0 이상에서 문제가 될 수 있습니다.

<html> 

    <table> 

    <tr> 

     <td> 

     <img src="testimage.png" width="3500px" alt="TestAlt"> 

     </td> 

    </tr> 

    </table> 

</html> 

모두 testimage.png와 test.html를이 자산에 있습니다처럼

WebView webView = (WebView)findViewById(R.id.myWebView); 
webView.loadUrl("file:///android_asset/test.html"); 

test.html를 보이는 : 같은

내 현재 코드 보인다. ///android_asset/test.html가 일시적으로 다운되거나 새 웹 주소로 완전히 이동했을 수 있습니다 : 파일에서

웹 페이지를 사용할 수없는 웹 페이지를 내 물리적 안드로이드 장치에서이 테스트를하면 내가 얻을. 요청에 따라

로그 캣 :

I/webclipboard: clipservice:  [email protected] 
V/webkit: BrowserFrame constructor: this=Handler (android.webkit.BrowserFrame) {43ac3dc8} 
D/WebView: loadUrlImpl: called 
D/webcore: CORE loadUrl: called 
D/webkit: Firewall not null 
D/webkit: euler: isUrlBlocked = false 
D/chromium: Unknown chromium error: -6 
I/GATE: <GATE-M>DEV_ACTION_ERROR</GATE-M> 
V/webkit: reportError errorCode(-1) desc(There was a network error) 
I/GATE: <GATE-M>DEV_ACTION_COMPLETED</GATE-M> 
I/Adreno200-EGLSUB: <ConfigWindowMatch:2136>: Format RGBA_8888. 
D/WebView: onSizeChanged - w:480 h:0 
D/WebView: onSizeChanged - w:480 h:446 
+0

여기에 logcat 게시 할 수 있습니다 – KOTIOS

+0

@ Stacks28 요청에 따라 질문을 업데이트했습니다. – user1234

+0

정확하게 경로를 올바르게 입력 했습니까? 철자를 다시 확인 하시겠습니까? – KOTIOS

답변

3

여기에서 해답을 찾았습니다

https://stackoverflow.com/a/7480245/2060140

webview.getSettings().setBuiltInZoomControls(true); 
webview.loadDataWithBaseURL("file:///android_asset/", "<img src='file:///android_res/drawable/example.png' />", "text/html", "utf-8", null); 
+0

이것은 작동합니다! HTML을 동적으로 생성하고 로컬 이미지를 가져 오는 것이 좋습니다. –

0

또 다른 방법 : 당신은 킷캣의 API 레벨 19을 사용할 수있는 경우 , 당신은 걱정할 보안 문제가 없도록 Webview를 제어하고 있습니다.

다음 :
webSettings.setDomStorageEnabled (true);

webSettings.setAllowFileAccessFromFileURLs (true); webSettings.setAllowUniversalAccessFromFileURLs (true);

이 설정을 사용하면 android_asset 폴더와 SD 카드 모두에서 파일 정보를 가져 오기 위해 브라우저 (자바 스크립트)에서 시작한 정보 ( )를로드 할 수있었습니다. 또한 SDCard에 정보를 저장합니다.

누군가가이 똑같은 것을 V17에서 잘 작동하도록 만드는 방법을 알고 있다면 큰 도움이 될 것입니다!

관련 문제