WebView
WebView란?
앱에서 웹페이지 제공하려고 하는 경우 WebView를 사용하게 된다. WebView클래스는
Android의 View 클래스의 확장으로, 웹페이지를 활동 레이아웃의 일부로 표시할 수 있게 해 주고,
탐색 컨트롤이나 주소 표시줄 등 완전히 개발된 웹브라우저의 기능은 전혀 포함되어 있지 않는다.
앱 내에 웹페이지를 넣어준다고 생각하면 된다.
1. 사용 방법
1-1) 인터넷 퍼미션 설정 (AndroidManifest.xml)
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.kang.study">
<uses-permission android:name="android.permission.INTERNET"/> //권한 주기
<application
....
android:usesCleartextTraffic="true" // 서버 통신시 필요
...
</application>
</manifest>
- 인터넷을 이용하기 위해 퍼미션 (권한) 주기
- app > manifests > AndroidManifest.xml 수정
1-2) layout에 WebView 추가
1-3) Activity 수정
웹 이랑 앱은 다르기 때문에 세팅이 필요
class webActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
...
webView.settings.javaScriptEnabled = true // 자바스크립트 허용
/* 웹뷰에서 새 창이 뜨지 않도록 방지 */
webView.webViewClient = WebViewClient() // 이 두개는 필수 설정
webView.webChromeClient = WebChromeClient()
/* 웹뷰에서 새 창이 뜨지 않도록 방지 */
webView.loadUrl("https://www.naver.com") // 링크 주소 laod
}
override fun onBackPressed() {
...
}
}
- 앱에서 뒤로가기뒤로 가기 클릭 시 앱이 꺼지는데 웹뷰에서 뒤로 가기 설정이 필요하다.
- CTRL + O > onBackPressed 선택
// back 버튼 이벤튼
override fun onBackPressed() {
if(webView.canGoBack()){
//웹사이트에서 뒤로갈 페이지가 존재 한다면 수행
webView.goBack() // 웹사이트 뒤로가기
} else {
super.onBackPressed() // 본래의 백버튼 수행(안드로이드)
}
}
반응형
'Kotlin' 카테고리의 다른 글
[Android] Firebase AdMob 광고 적용 방법 (0) | 2022.11.22 |
---|---|
[Android] Firebase 프로젝트 생성 및 안드로이드 스튜디오 적용 방법 (0) | 2022.11.21 |
[Kotlin] 스레드(Thread)의 개념 및 runOnUiTread 사용 방법 (0) | 2022.11.16 |
[Android] 앱 배포(2) 구글 플레이 스토어 앱 출시 및 애드몹 광고 등록 (0) | 2022.11.15 |
[Kotlin] Retrofit 사용한 API 통신 방법 (0) | 2022.11.14 |