[Android/Kotlin] - WebView ์ฌ์ฉํ๊ธฐ
2020. 12. 30. 20:20ใ๐ฑAndroid/๐ Android Study
๋ฐ์ํ
์ด๋ฒ ํฌ์คํ ์์๋ ์ฑ์์ ์นํ์ด์ง๋ฅผ ๋์ธ ๋ ๋ง์ด ์ฌ์ฉํ์๋ WebView๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์๊ฐํด ๋๋ฆฌ๊ณ ์ ํฉ๋๋ค.
๊ถํ ์ค์ ํด์ฃผ๊ธฐ
Webํ์ด์ง์ ์ ์ํ๋ ค๋ฉด Internet ๊ถํ์ด ํ์ํฉ๋๋ค.
<uses-permission android:name="android.permission.INTERNET" />
WebView ๋์ฐ๊ธฐ
private fun initWebView(address : String) {
val webView = findViewById<WebView>(R.id.webView)
// ์์ดํ์ด & ๋ฐ์ดํฐ ์ฐ๊ฒฐ๋์ด ์์ผ๋ฉด ์น๋ทฐ ์์ฑ
if(getNetworkConnected(applicationContext) ) {
// ์ธํฐ๋ท ์ฐ๊ฒฐ ๋์ด ์์ ๋ (์
๋ฃฐ๋ฌ/์์ดํ์ด)
webView.settings.javaScriptEnabled = true // ์๋ฐ ์คํฌ๋ฆฝํธ ํ์ฉ
// ์น๋ทฐ์์ ์ ์ฐฝ์ด ๋จ์ง ์๋๋ก ๋ฐฉ์ง
webView.webViewClient = WebViewClient()
webView.webChromeClient = WebChromeClient()
// ์ํ๋ ์ฃผ์๋ฅผ WebView์ ์ฐ๊ฒฐ
webView.loadUrl(address)
} else {
// ์ธํฐ๋ท ์ฐ๊ฒฐ ๋์ด ์์ง ์์ ๋ (์
๋ฃฐ๋ฌ/์์ดํ์ด)
var toast = Toast(this)
toast.drawCustomToast("์ธํฐ๋ท ์ฐ๊ฒฐ ์ํ๋ฅผ ํ์ธํด์ฃผ์ธ์.")
finish() // Activity ์ข
๋ฃ
}
}
์์ดํ์ด & ๋ฐ์ดํฐ ์ฐ๊ฒฐ ์ํ๋ฅผ ํ์ธํ๋ ๋ฐฉ๋ฒ์ ์๋ ํฌ์คํ ๊ธ์ ์ฐธ๊ณ ํด์ฃผ์ธ์!
WebView ๋ค๋ก๊ฐ๊ธฐ ์ด๋ฒคํธ
๋ง์ฝ WebView์์ ๋ค๋ก ๊ฐ ์ ์๋ ํ์ด์ง๊ฐ ์กด์ฌํ๋ค๋ฉด ์นํ์ด์ง ๋ค๋ก๊ฐ๊ธฐ๋ฅผ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
override fun onBackPressed() {
//์น์ฌ์ดํธ์์ ๋ค๋ก ๊ฐ ํ์ด์ง ์กด์ฌ์
if(webView.canGoBack()) {
webView.goBack() // ์น์ฌ์ดํธ ๋ค๋ก๊ฐ๊ธฐ
}
else {
super.onBackPressed()
}
}
๋ฐ์ํ
'๐ฑAndroid > ๐ Android Study' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Android/Kotlin] Splash ํ๋ฉด ๋ง๋ค๊ธฐ (0) | 2020.12.31 |
---|---|
[Android/Kotlin] - Wifi ์ฐ๊ฒฐ ์ํ ํ์ธํ๊ธฐ (0) | 2020.12.30 |
[Android] ํ์ผ .gitignore ์ ์ฉํ๊ธฐ (0) | 2020.11.22 |