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 끝
'Android Study' 카테고리의 다른 글
GlideApp 사용시 웹상에 나와있는 대부분 코드가 안될때 시도 방법 (0) | 2023.08.30 |
---|---|
Button 에 rippple efect 적용하기 (0) | 2023.08.29 |
CloudFireStore 읽고 , 실시간 데이터 대기 (0) | 2023.08.27 |
TextView 문자열, 클래스에서 원하는 부분만 스타일 변경하여 적용시키기(Feat. Kotlin) (0) | 2023.08.17 |
SHA-1 key 얻는방법 (for Mac, Debug) (0) | 2023.06.19 |