Android

Kotlin WebView로 Web porting 하기

MOVE🔥 2020. 6. 3. 16:42
728x90
반응형

목표

모바일 웹앱 테스트를 위해 Android Project를 생성한 뒤 porting 하기

 

 

1. Android Project 생성

2. layout에 WebView 추가

<WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

3. WebView Code

private var webView : WebView? = null //웹뷰
private var webSetting : WebSettings? = null    //웹뷰세팅

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        window.setFlags(
            WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN
        )

        webView = findViewById(R.id.webView) as WebView
        webView?.setWebViewClient(WebViewClient()) // 클릭시 새창 안뜨게 막아준다

        webSetting = webView?.getSettings()
        webSetting?.setJavaScriptEnabled(true) // 자바스크립트 사용을 허용한다

        webView?.loadUrl(url) // 연결할 웹뷰 url

    }

    companion object {
        //private const val url = "http://localhost:8000"
        private const val url = "http://10.0.2.2:8080" //porting 할 URL
    }

    // 뒤로 가기 버튼 설정
    override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
        if (keyCode == KeyEvent.KEYCODE_BACK && webView!!.canGoBack()) {
            webView?.goBack()
            return true
        }
        return super.onKeyDown(keyCode, event)
    }

 

4. Android internet 권한 추가

AndroidManifest.xml

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

※ cleartext_not_permitted error

URL을 Text로 지정했기 때문에 다음과 같은 에러가 발생한다.

때문에 application에 다음 설정을 추가해준다.

android :usesCleartextTraffic ="true"

 

5. build 및 실행 

728x90
반응형