SMALL
Activity에서 처리하는 경우
activity_main.xml
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<WebView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/mWebview"/>
</LinearLayout>
MainActivity.java
WebView mWebView;
WebSettings mWebSettings;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.mWebview); // 웹뷰 선언
mWebSettings = mWebView.getSettings();
mWebView.setWebChromeClient(new WebChromeClient()); // 크롬클라이언트 사용
mWebView.setWebViewClient(new WebViewClientClass()); // 웹클라이언트 설정 (아래)
mWebSettings.setJavaScriptEnabled(true); // 자바스크립트 허용
mWebSettings.setSupportMultipleWindows(false); // 여러 창 또는 탭 열리는 것 비허용
mWebSettings.setLoadWithOverviewMode(true); // 페이지 내에서만 이동하게끔
mWebSettings.setUseWideViewPort(true); // 페이지를 웹뷰 width에 맞춤
mWebSettings.setSupportZoom(false); // 확대 비활성화
mWebSettings.setBuiltInZoomControls(false); // 확대 비활성화
mWebSettings.setCacheMode(mWebSettings.LOAD_NO_CACHE); // 캐시 사용안함 (매번 새로 로딩)
mWebSettings.setDomStorageEnabled(true); // 로컬스토리지 사용 허용
mWebView.loadUrl("접속할 URL");
}
// 웹클라이언트 세부 설정
private class WebViewClientClass extends WebViewClient {
// SSL 인증서 무시
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed();
}
// 페이지 내에서만 url 이동하게끔 만듬
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
AndroidManifest에서 처리하는 경우
AndroidManifest.xml
<application
...
android:usesCleartextTraffic="true">
...
BIG
'Mobile App > Android' 카테고리의 다른 글
하이브리드 앱 테스트 환경에서 카톡로그인 intent 처리 (0) | 2021.05.24 |
---|---|
안드로이드 웹뷰 뒤로가기 버튼 이벤트 만들기 (1) | 2021.05.12 |
안드로이드 하단 메뉴바 활용하기 (0) | 2021.05.02 |
안드로이드 프래그먼트 활용하기 (0) | 2021.05.02 |
안드로이드 스플래시 이미지 구현하기 (0) | 2021.04.29 |