임종뚱 2019. 12. 19. 22:41

WebView 는 안드로이드 화면에서 자신이 원하는 인터넷 주소를 띄울 수 있는 것이다.

활용도가 매우 높고 실무에서 자주 쓰인다고 하니 기억해두자 !

 

간단하게 레이아웃을 설정해주며

WebView를 설정한다.

WebView의 id 값을 webview라고 주었다

 

MainActivity에서

 

webview 변수를 설정하고, url String 변수에 자신이 쓰고 싶은 인터넷 주소를 지정한다.

 

onCreate 생명주기

webView = (WebView)findViewById(R.id.webview); // id값을 넣어준다

 

webView.getSettings().setJavaScriptEnabled(true);

// webView Setting 해준다,

JavaScriptEnabled 자바의 부가적인 언어 허용해주는 옵션이다

 

webView.loadUrl(url); // 특정 url을 틀어주는 것

webView.setWebChromeClient(new WebChromeClient()); // 구글 크롬  브라우저에 맞춰 쾌적하게 돌리기 위함이다

webView.setWebViewClient(new WebViewClientClass()); // 일반적인 webView 클라이언트 오류 잡아야 한다!

 

 

ctrl + o 를 사용하여

onKeyDown 생명주기 // 특정 다양한 안드로이드 키들을 입력 했을떄 어떤 동작을 해줘라 라고 지정해주는 메소드이다

 

if((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()){
webView.goBack();
return true;
} // 만약 뒤로가기 버튼을 눌렀을 떄 와 webView가 뒤로 갈 수 있게 된다면 webView를 뒤로 가게 한다.

 

 

그 다음에 WebViewClientClass 오류를 잡아줘야 한다

webView.setWebViewClient(new WebViewClientClass())

WebViewClientClass 클래스를 만들고

ctrl + o 를 사용하여 shouldOverrideUrlLoading 메소드를 생성한다 

 

shouldOverrideUrlLoading 메소드는 현재 페이지에 url을 읽어올 수 있는 이 메소드를 이용해서 새 창을 읽을 수 있고 특정 페이지에서 특정 기능을 넣을 수가 있는 메소드이다

view.loadURL(url); 

리턴 값은 true로 해준다.

 

실행하기 전에 인터넷 권한을 설정해줘야 합니다.

Manifests의 AndroidManifest.xml 에 작성한다

 

 

만약

ERR_NAME_NOT_RESOLVED 에러 뜨면 manifest.xml 파일 안에서 <application> 안에 android:usesCleartextTraffic="true" 추가해주시면 동작합니다!

 

실행 화면