728x90
⚠️ 2021.01.10에 작성된 글입니다 ⚠️
웹뷰 사용해 웹페이지 띄우기
- manifest.xml
<application
...
android:usesCleartextTraffic="true"
... >
설정해주지 않으면 "ERR_CLEARTEXT_NOT_PERMITTED" 에러 발생
- WebViewActivity.java
public class WebViewActivity extends AppCompatActivity {
WebView webView;
String url;
@SuppressLint("SetJavaScriptEnabled")
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_webview);
webView = findViewById(R.id.webview_webview);
webView.getSettings().setJavaScriptEnabled(true); // 자바스크립트 사용 허용
webView.getSettings().setDatabaseEnabled(true); // database storage API 사용 허용
webView.getSettings().setDomStorageEnabled(true); // localStorage 사용 허용
url = "https://m.naver.com"; //원하는 웹 주소 입력
webView.loadUrl(url);
webView.setWebChromeClient(new WebChromeClient());
// 다른 웹앱(aka 크롬)이 아닌 이 액티비티에서만 웹화면을 띄우고 싶을 경우
// 특정 웹사이트는 액티비티에서는 띄워지지 않아 주석처리함
// webView.setWebViewClient(new WebViewClientClass());
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// 특정 키를 눌렀을 때의 이벤트 제어
if (keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()) {
webView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
private class WebViewClientClass extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
// 현재 페이지에 url을 읽어올 수 있는 메소드
view.loadUrl(url);
return true;
}
}
}
webView.getSettings()의 다른 옵션 알아보기
참고자료
안드로이드 앱 만들기 #9 (WebView) - 쉽게 앱 만드는 방법 (현직 개발자 설명) , android studio easy tutorial - YouTube
[Android] WebView 설정 모아보기 :: KYOME (tistory.com)
나이들어 삽질 중: window.localStorage, Android webview localStorage 사용 설정 (charlie0301.blogspot.com)
공부하며 정리한 글입니다. 내용에 대한 피드백은 언제나 환영입니다.
728x90
'Android' 카테고리의 다른 글
[Android] 이미지 가져오기 - 카메라, 갤러리 이용 (0) | 2022.10.22 |
---|---|
[Android] 디데이 계산기 (0) | 2022.10.22 |
[Android] SharedPreferences ArrayList 저장하기 (0) | 2022.10.22 |
[Android] SharedPreferences 객체 저장하기 (0) | 2022.10.22 |
[Android] SharedPreferences 데이터 저장하기 (0) | 2022.10.22 |