본문 바로가기
android

WebView 웹뷰

by 윈 Win 2021. 1. 10.
728x90

블로그 이사했습니다!

 

👇 블로그 이전 공지 👇

블로그 이전 안내 (tistory.com)

 

 

👇 새 블로그에서 글 보기 👇

[Android] WebView 웹뷰 — Win Record (tistory.com)

 

[Android] WebView 웹뷰

⚠️ 2021.01.10에 작성된 글입니다 ⚠️ 웹뷰 사용해 웹페이지 띄우기 - manifest.xml 설정해주지 않으면 "ERR_CLEARTEXT_NOT_PERMITTED" 에러 발생 - WebViewActivity.java public class WebViewActivity extend..

win-record.tistory.com

 

 


 

웹뷰 사용해 웹페이지 띄우기

- manifest.xml

<application
	...
    android:usesCleartextTraffic="true"
    ... >

 

설정해주지 않으면 "ERR_CLEARTEXT_NOT_PERMITTED" 에러 발생

 

 

 

- WebViewActivity.java

public class WebViewActivity extends AppCompatActivity {
    WebView webView;

    String url;

    @SuppressLint("SetJavaScriptEnabled")
    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_webview);
        
        webView = findViewById(R.id.webview_webview);
        webView.getSettings().setJavaScriptEnabled(true);	// 자바스크립트 사용 허용
        webView.getSettings().setDatabaseEnabled(true);		// database storage API 사용 허용
        webView.getSettings().setDomStorageEnabled(true);	// localStorage 사용 허용
        
        url = "https://m.naver.com"; //원하는 웹 주소 입력

        webView.loadUrl(url);
        webView.setWebChromeClient(new WebChromeClient());
//        다른 웹앱(aka 크롬)이 아닌 이 액티비티에서만 웹화면을 띄우고 싶을 경우
//        특정 웹사이트는 액티비티에서는 띄워지지 않아 주석처리함
//        webView.setWebViewClient(new WebViewClientClass());
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
//        특정 키를 눌렀을 때의 이벤트 제어
        if (keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()) {
            webView.goBack();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

    private class WebViewClientClass extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
//            현재 페이지에 url을 읽어올 수 있는 메소드
            view.loadUrl(url);
            return true;
        }
    }
}

 

webView.getSettings()의 다른 옵션 알아보기

 

 

 


참고자료

안드로이드 앱 만들기 #9 (WebView) - 쉽게 앱 만드는 방법 (현직 개발자 설명) , android studio easy tutorial - YouTube

[Android] WebView 설정 모아보기 :: KYOME (tistory.com)

나이들어 삽질 중: window.localStorage, Android webview localStorage 사용 설정 (charlie0301.blogspot.com)

 

 

 

공부하며 정리한 글입니다. 내용에 대한 피드백은 언제나 환영입니다.

'android' 카테고리의 다른 글

Firebase와 안드로이드 프로젝트 연결하기  (0) 2021.01.11
디데이 계산기  (0) 2021.01.11
RecyclerView CRUD  (0) 2021.01.07
RecyclerView 기본 사용  (0) 2021.01.07
RecyclerView란  (0) 2021.01.06

댓글