2swan

WebView 본문

Programming/Android Function

WebView

2swan 2023. 8. 4. 01:38

.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=".MainActivity2">

<WebView
    android:id="@+id/webView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"></WebView>

</LinearLayout>

 

.java

public class MainActivity2 extends AppCompatActivity {

    private WebView webView;
    private  String url = "https://www.naver.com";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

        webView = findViewById(R.id.webView);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.loadUrl(url);
        webView.setWebChromeClient(new WebChromeClient());
        webView.setWebViewClient(new WebViewClientClass());  // 에러가 나오는데 inner class로 생성

    }

    //안드로이드의 다양한 키들을 입력했을 때 어떤 동작하여라고 지정
    @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
        //현재 페이지의 url을 읽어 올 수 있는 메소드
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;

        }
    }
}

추가 설정


결과 값

'Programming > Android Function' 카테고리의 다른 글

Spinner 드롭다운  (0) 2023.08.05
액티비티 생명주기(Life Cycle)  (0) 2023.08.05
Dialog 팝업창  (0) 2023.08.04
Log 출력  (0) 2023.08.04
뒤로 가기 두번 눌러 앱 종료  (0) 2023.08.04