[Android] Anroid local html 불러오기 (android bridge 구현) (3/4)

[Android] Anroid local html 불러오기 (android bridge 구현) (3/4)

728x90

목적:

웹(javascript)에서 네이티브를 호출하기 위해서는, 안드로이드에서 @JavascriptInterface 에 해당하는 안드로이드 브릿지(bridge)를 연결 해줘야 한다.

구현방법:

MyAndroidBridge.java

package com.example.mywebview; import android.util.Log; import android.webkit.JavascriptInterface; public class MyAndroidBridge { @JavascriptInterface public void call_log(String msg){ Log.i(getClass().getName(),"call_log() msg:"+ msg); } }

MainActivity.java

this.mWebView = findViewById(R.id.webView); MyAndroidBridge myAndroidBridge = new MyAndroidBridge(); //자바스크립트인터페이스의 모음 this.mWebView.addJavascriptInterface(myAndroidBridge,"aos"); //window.aos.call_log("log test") mWebView.getSettings().setJavaScriptEnabled(true); // 자바스크립트 사용 허용!! if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { WebView.setWebContentsDebuggingEnabled(true); }

MyHome.html

click_b = function(){ console.log("click_b 함수호출") alert("click_b 함수호출"); } Android(aos) 호출 관련 (bridge는 aos)

결과:

프로젝트 코드:

MyWebView (2).zip 0.36MB

참고자료:

[1] html javascript 구현,

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId;=tkddlf4209&logNo;=220512073357

[2]안드로이드 로컬(assets) html 불러오기,

https://dev.eyegood.co.kr/entry/Android-Local-Html-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0assets%ED%8F%B4%EB%8D%94%EC%83%9D%EC%84%B1-webview%EC%9D%B4%EC%9A%A9

[3] Android javascript bridge 연결,

https://jhappy.tistory.com/entry/android-자바스크립스-브릿지-연결하기-Javascript-bridge펌

[4] Android javascript 연결 심화, https://royzero.tistory.com/25

from http://helloit.tistory.com/323 by ccl(A) rewrite - 2021-09-29 20:02:03