Java

AOS_ Webview 와 Jsp 상호작용

JunsC 2024. 3. 4. 00:14
728x90

웹뷰 페이지를 중점으로 웹앱을 구상해야 하는 상황이었다.

우선 기본적인 세팅은 했지만 어떻게 Web 과 Native 와의 상호작용을 해야할 지 자세히 몰랐었다.

그리고 웹뷰의 히스토리 기록과 캐시 등 여러가지 문제점들이 발생되어 해결방법을 찾아 보았다.

 

 

우선 웹뷰를 세팅한 코드이다.

setJavaScriptEnabled(true)는 자바스크립트를 사용할 수 있도록 해주는 메소드이다.

setWebChromeClient 는 크롬을 주 클라이언트로 사용하겠다는 선언이고 여기에서 필요권한을 요청할 수 있다.

 

 

그리고 웹뷰 클라이언트 선언을 통해서 페이지 기능과 관련한 처리를 해줄 수 있다.

여기에서 onReceivedError 가 발생되면 해당 웹뷰 히스토리를 삭제하는 명령어를 넣어 주었다.

 

 

 

그리고 WebSetting을 통해서 강제 덮어쓰기 가능하도록 설정해두고 캐시도 저장해 두는 것이 아니라 그때마다 초기화되도록 설정해놨다.

그리고 제일 중요한게 addJavascriptInterface 부분인데 저 부분이 바로 Web. 과 Native 간의 기능을 호환시켜줄 수 있는 Bridge 역할을 하는 함수이다.

 

 

그리고 해당 인터페이스 익명 클래스를 만들어서 어노테이션을 적용시켜 서로 간 호출될 수 있도록 설정해주면 된다.

 

728x90

'Java' 카테고리의 다른 글

AOS - Rxjava3 , Single , Disposable  (0) 2024.06.23
AOS_ AndroidStudio Github 연동  (0) 2024.03.05
AOS_ 버전 업데이트 관련 에러  (0) 2024.03.04
AOS_ Rxjava 비동기와 동기  (0) 2024.03.04
AOS_ SharedPreference의 commit 과 apply 차이  (0) 2024.03.04
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."