1. WebView를 초기화하고 웹 페이지 로드
javaCopy code
WebView webView = findViewById(R.id.webView); // 웹뷰 레이아웃과 연결
// WebView 설정
webView.getSettings().setJavaScriptEnabled(true); // JavaScript 활성화
webView.setWebViewClient(new WebViewClient()); // WebViewClient 설정
// 웹 페이지 로드
webView.loadUrl("https://example.com"); // 웹 페이지의 URL을 여기에 입력
2. WebViewClient를 사용하여 페이지 로드 완료 후 HTML body 얻기
javaCopy code
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
// 페이지 로딩이 완료되면 현재 페이지의 HTML 코드를 가져옴
view.loadUrl("javascript:window.Android.receiveHTML(document.documentElement.outerHTML);");
// 페이지 로딩이 완료된 후에 HTML body를 가져옴
view.loadUrl("javascript:window.Android.getBody(document.getElementsByTagName('body')[0].innerHTML);");
}
});
// JavaScript에서 Android와 상호 작용할 수 있도록 WebView에 JavaScript 인터페이스 추가
webView.addJavascriptInterface(new JavaScriptInterface(), "Android");
3. JavaScript 인터페이스 정의 및 HTML body를 받아 처리하기
javaCopy code
public class JavaScriptInterface {
@JavascriptInterface
public void receiveHTML(String html) {
// HTML 코드를 처리하거나 출력
Log.d("HTML Code", html);
}
}
@JavascriptInterface
public void getBody(String htmlBody) {
// HTML body를 처리하거나 출력
Log.d("HTML Body", htmlBody);
}
}
- 번외: 안드로이드 인터넷 브라우저에서 html 소스 보기
view-source:https://{url}
'Android > UI-UX 디자인' 카테고리의 다른 글
Android Jetpack ComposeUI 기초 문법 및 특징 (0) | 2024.08.24 |
---|---|
[Android/Layout]TextView 일부에 Link를 넣고 싶을 때? Linkify (0) | 2023.04.20 |
[Android/Layout]TextView에서 끝에 .. 처리하기 (1) | 2023.02.25 |
[Android/Layout]소스에서 컬러에 알파값 추가하기 (0) | 2023.02.25 |
[Android/Layout]xml에서 tools 란? (0) | 2023.02.25 |