WebView는 이런 반응형 웹사이트를 안드로이드 디바이스에서 띄워줄수 있는 기능
1. Manifest.xml 추가
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
2. activity_main.xml 추가
<WebView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/webView">
</WebView>
3. 액티비티에서 Webview를 할당하고 xml 연결
private WebView wwebView;
wwebView = (WebView) findViewById(webView);
4. 웹뷰에서 자바스크립트가 사용이 안되도록 디폴트 설정 되어 있기 때문에 자바 스크립트가 가능하도록 코드 추가
wwebView.getSettings().setJavaScriptEnabled(true); //자바스크립트 허용
5. URL을 넣은뒤 웹뷰를 실행하는 코드 추가
wwebView.loadUrl("http://hayyy.tistory.com"); //웹뷰 실행
6. 웹뷰에서 크롬이 실행이 가능하도록 코드추가
wwebView.setWebChromeClient(new WebChromeClient());
7. 웹뷰에서 홈페이지를 띄웠을때 기존창에서 실행이 되도록 코드 추가 및 Class 생성
wwebView.setWebViewClient(new WebViewClientClass());
private class WebViewClientClass extends WebViewClient { //페이지 이동
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.d("check URL",url);
view.loadUrl(url);
return true;
}
}
8. 웹뷰에서 뒤로가기가 가능하도록 코드 추가
웹뷰가 아닌 다른 버튼을 클릭할 시 웹뷰의 히스토리를 거꾸로 가게 만들수 있는데, 모든 웹뷰에서 일어난 페이지 이동이 저장되어 있다.
goBack() : 페이지 이동을 거슬러 올라 갈수 있는 함수
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) { //뒤로가기 버튼 이벤트
if ((keyCode == KeyEvent.KEYCODE_BACK) && wwebView.canGoBack()) {//웹뷰에서 뒤로가기 버튼을 누르면 뒤로
wwebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
'Android' 카테고리의 다른 글
[Android] 내부저장소 & 외부저장소 (0) | 2021.03.08 |
---|---|
[Android] ACC를 활용한 MVVM패턴 (0) | 2021.03.03 |
[Android] 비동기 처리(AsyncTask) (0) | 2021.03.02 |
[Android] putExtra로 ArrayList 전달 (0) | 2021.02.25 |
[Android] ArrayList (0) | 2021.02.25 |