Android Study

Android WebView 연동시키기 step-1

85chong 2023. 8. 28. 10:39
728x90
반응형
SMALL

안드로이드 웹뷰 연동은 아래 3가지가 필요함

* 단순하게 디바이스의 기본 브라우저로 웹뷰를 보여주기만 하기 위함은 더욱 간단함

보통 웹뷰를 네이티브에 붙일때에는 아래와 같이 사용함

 

1. WebClient : 웹페이지 url load 의 시작, 진행, 끝 의 호출 되는 함수 연동시 사용함

2. AndroiBridge : 웹페이지와 통신할때 사용함

3. WebChromeClient : 웹페이지 파일 전송 , 웹페이지 팝업 창 연동할때 사용함

 

!! 웹뷰와 통신하거나 웹페이지 팝업 등의 컨트롤이 필요하지 않다면 1. 만 적용해도 됨

 

 

 

1-1.  기본적으로 필요한 WebClient 클래스 생성 (CustomWebview.kt)

class CustomWebviewClient<T: ViewBinding>(val context: Context, val binding: T): WebViewClient() {

    var mWebView: WebView? = null

    init {
        mWebView = binding.root.findViewById(R.id.webview)
    }

    override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
        mSeloLoading?.show()
        super.onPageStarted(view, url, favicon)
    }

    override fun onPageFinished(view: WebView?, url: String?) {
        super.onPageFinished(view, url)
        mSeloLoading?.dismiss()
    }

    override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean {
        view!!.loadUrl(request?.url.toString())
        return true
    }

}

 

 1-.2 사용할 웹뷰에 연결 시켜준다.

        binding.webview.webViewClient = CustomWebviewClient(this, binding)

 

 

1-3. 호출할 url 을 호출해 준다.

 

        binding.webview.loadUrl("웹뷰로 호출 할 주소")

 

 

step-1 끝