package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebResourceRequest;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private WebView webView;
private String url= "띄우고 싶은 웹주소";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView=(WebView)findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true); //뒙에서의 자바 스크립트를 허용할것이냐?
webView.loadUrl(url);
webView.setWebChromeClient(new WebChromeClient());
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, String url) {
//shouldOverrideUrlLoading 현재 페이지에 url 을 불러오는 코드
//이게 없으면 새로운 주소창이 뜨면서 화면이 나온다
//근데 이게 있으면 앱 화면에서 바로 웹화면이 뜨게 된다.
view.loadUrl(url);
return true;
}
}
}
*참고
url 이 https 가 아닌 http 로 시작하는 주소라면 err_cleartext_not_permitted 라는 오류가 나면서 안되는데
이때는 메니페스트 파일에서 application 태그안에
android:usesCleartextTraffic="true" 를 추가하면 작동이된다.
반응형
'Android' 카테고리의 다른 글
안드로이드 - service 정리 (0) | 2020.11.14 |
---|---|
안드로이드 이중스크롤뷰 (0) | 2020.08.24 |
안드로이드 spinner 테두리와 모서리 둥글게 만들기 (0) | 2020.07.30 |
안드로이드의 Context 개념에 대한 개인적인 정리 (0) | 2020.07.14 |
프래그먼트 화면에서 다른 액티비티로 intent하기 (0) | 2020.07.14 |
Android 공부 근황 #1 (0) | 2020.07.05 |
SharedPreferences 사용 예제 (0) | 2020.06.29 |
Intent 예제 (0) | 2020.06.29 |