WebView
<uses-permission android:name=“android.permission.INTERNET“/>
// https 가 아닌 http 는 보안 문제로 접근이 되지 않는다. 그걸 풀어준다.
android:usesCleartextTraffic=”true” (AndroidManifest.xml -> application)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent">
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</LinearLayout>
public class SettingsActivity extends AppCompatActivity {
private WebView webView;
private String url = "https://www.naver.com";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.settings_activity);
webView = (WebView) findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true); // 자바스크립트 기본값은 false
webView.loadUrl(url);
webView.setWebChromeClient(new WebChromeClient());
webView.setWebViewClient(new WebViewClientClass()); // setWebViewClient 가 주어지지 않으면 시스템 브라우저로 보여짐
}
@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) {
return false; // false 를 반환하면 현재 URL 로 계속 진형 (true 하면 중단)
}
}
}
[Android][WebView] ERR_CLEARTEXT_NOT_PERMITTED 오류
https://nobase-dev.tistory.com/81
현재 WebView에서 외부 페이지 불러오기
https://cofs.tistory.com/186
안드로이드 앱 만들기 #9 (WebView) – 홍드로이드 유튜브
https://www.youtube.com/watch?v=S4kd9OPzcf0
홍드로이드 깃헙
https://github.com/hongdroid94/9_WebView