sitelink1 | http://hamait.tistory.com/370 |
---|---|
sitelink2 | |
sitelink3 |
이 글의 요약
- 로컬에 있는 웹 파일들을 불러와서 작업할때
웹뷰를 사용하는데 있어서 두드러지는 장점은 , 앱안에 필요한 웹 리소스들을 저장할수있다는것이다.
그것은 오프라인일때도 작업을 가능케 해주며, 로딩시간을 증진시킬것이다.
HTML, JavaScript, CSS 를 assets 디렉토리 (src/main/assets 등에 만듬)
로부터 가져와보자.
주의: CSS 나 Javascript 를 참조할때 절대경로는 WebView 에서 작동하지 않는다. 다음과 같이 상대경로로 설정해야한다. ("/pages/somelink.html" -> "./pages/index.html" )
아래와 같이 로딩하자. ( 리모트에 있는 URL 을 읽어와서 작업하기 전에 전처리할것들을 이렇게 처리해도될듯)
mWebView.loadUrl("file:///android_asset/www/index.html");
( assets 안에 www 만들었어도, 링크는 저렇게'android_asset' 해야한다.)
shouldOverrideUrlLoading
를 요렇게 하면 로컬페이지가 아닐경우 브라우저를 오픈한다.
publicclassMyAppWebViewClientextendsWebViewClient{ @Override publicboolean shouldOverrideUrlLoading(WebView view,String url){ if(Uri.parse(url).getHost().length()==0){ returnfalse; } Intent intent =newIntent(Intent.ACTION_VIEW,Uri.parse(url)); view.getContext().startActivity(intent); returntrue; } }
레퍼런스 :
https://developer.chrome.com/multidevice/webview/gettingstarted