-
[Android] WebViewAndroid 2022. 3. 12. 22:07
실무에서도 굉장히 많이 쓰이니 반드시 알아두어야 한다!
앱을 실행하면 미리 코드에 입력한 url로 연결된다.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>
MainActivity.java
package com.example.webview; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.KeyEvent; import android.webkit.WebChromeClient; import android.webkit.WebView; import android.webkit.WebViewClient; public class MainActivity extends AppCompatActivity { private WebView webView; private String url = "https://www.youtube.com"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView = (WebView) findViewById(R.id.webView); // xml에서 id 불러오기 webView.getSettings().setJavaScriptEnabled(true); // javascript 허용 webView.loadUrl(url); // 특정 url을 틀어라 webView.setWebChromeClient(new WebChromeClient()); // Chrome 에서 원활히 돌아가도록 세팅 webView.setWebViewClient(new WebViewClientClass()); // 일반적 웹뷰 클라이언트 // ㄴ 이건 에러 뜸. inner class로 추가하자. } // 뒤로가기 눌렀을 때 웹뷰 정상적으로 종료되도록 세팅 // ctrl + o 에서 검색 // onKeyDown : 안드로이드 기기의 키 입력에 대해 특정 동작 하도록 지정 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (((keyCode) == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) { webView.goBack(); return true; // 뒤로가기 버튼 눌렀고, webview에서 뒤로 갈 수 있는 상황이면 뒤로 가라. } return super.onKeyDown(keyCode, event); } private class WebViewClientClass extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; // shouldOverrideUrlLoading : 현재 페이지의 url 읽어오는 메소드 } } }
앱 빌드 및 실행 전, 인터넷 권한 설정은 꼭 해줘야 한다.
너튜브 URL로 연결된 모습. 뒤로가기 누르면 닫힌다. 'Android' 카테고리의 다른 글
[Android] Navigation Menu Customizing (0) 2022.03.14 [Android] SharedPreference; 데이터 임시 저장 (0) 2022.03.12 [Android] Navigation menu (0) 2022.03.12 [Android] ListView 리스트 만들고 데이터 저장하기 (0) 2022.03.09 [Android] 패키지구조&역할 (0) 2022.03.09