본문 바로가기

Android

Android Studio WebView

<완성화면>

 

 

· 저번에 만들었던 회원가입 화면에서 개인정보처리방침, 서비스이용약관을 띄워주는 웹뷰를 연결시켜보겠습니다.

 

 

1) Manifest파일에서 인터넷 접근을 허용해준다.

<uses-permission android:name="android.permission.INTERNET"/>

 

2) 웹뷰를 띄울 Activity를 추가해주고 xml파일에 WebView를 추가해준다.

 

- activity_webview_for_personal_information.xml

    <WebView
        android:id="@+id/webview_for_personal_information"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

 

3) 웹뷰를 여러개 만들 예정이기에 BaseActivity에 웹뷰로 넘어가는 함수를 만들어준다.

    @SuppressLint("SetJavaScriptEnabled")
    fun moveToWebView(webView: WebView, url:String){
        webView.settings.javaScriptEnabled = true

        webView.webViewClient = object : WebViewClient() {
            override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean {
                view?.loadUrl(url!!)
                return true
            }
        }
        webView.loadUrl(url)
    }

 

4) 웹뷰를 띄울 액티비티에서 함수를 호출해준다.

class WebViewForPersonalInforamtion: BaseActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_webview_for_personal_information)

        moveToWebView(webview_for_personal_information,"https://stormbrainstorming.creatorlink.net/%EC%9D%B4%EC%9A%A9%EC%95%BD%EA%B4%80")
    }
}