[Android] WebView 웹뷰

2022. 10. 22. 02:25·Android
⚠️ 2021.01.10에 작성된 글입니다 ⚠️

 

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

- 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)

 

 

 

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

728x90
저작자표시 비영리 변경금지 (새창열림)

'Android' 카테고리의 다른 글

[Android] 이미지 가져오기 - 카메라, 갤러리 이용  (0) 2022.10.22
[Android] 디데이 계산기  (0) 2022.10.22
[Android] SharedPreferences ArrayList 저장하기  (0) 2022.10.22
[Android] SharedPreferences 객체 저장하기  (0) 2022.10.22
[Android] SharedPreferences 데이터 저장하기  (0) 2022.10.22
'Android' 카테고리의 다른 글
  • [Android] 이미지 가져오기 - 카메라, 갤러리 이용
  • [Android] 디데이 계산기
  • [Android] SharedPreferences ArrayList 저장하기
  • [Android] SharedPreferences 객체 저장하기
Wintinue
Wintinue
201 Created!
  • Wintinue
    Win Record
    Wintinue
    • 📘 Post (68)
      • Android (32)
      • Nest.js (1)
      • NGINX (1)
      • Error (10)
      • AWS (1)
      • Git (3)
      • IT용어 (4)
      • CMD (2)
      • Language (5)
        • PHP (3)
        • Java (2)
      • Project (5)
        • 개인 프로젝트 (3)
        • 팀 프로젝트 (2)
  • 링크

    • Github
  • 전체
    오늘
    어제
  • hELLO· Designed By정상우.v4.10.3
Wintinue
[Android] WebView 웹뷰
상단으로

티스토리툴바