728x90
블로그 이사했습니다!
👇 블로그 이전 공지 👇
👇 새 블로그에서 글 보기 👇
[Android] WebView 웹뷰 — Win Record (tistory.com)
웹뷰 사용해 웹페이지 띄우기
- 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)
공부하며 정리한 글입니다. 내용에 대한 피드백은 언제나 환영입니다.
'android' 카테고리의 다른 글
Firebase와 안드로이드 프로젝트 연결하기 (0) | 2021.01.11 |
---|---|
디데이 계산기 (0) | 2021.01.11 |
RecyclerView CRUD (0) | 2021.01.07 |
RecyclerView 기본 사용 (0) | 2021.01.07 |
RecyclerView란 (0) | 2021.01.06 |
댓글