Saya baru mengenal Android dan Kotlin.
Adakah yang bisa membantu saya untuk memuat URL di webView
?
Saya hanya ingin memuat URL dan melihat halaman web ketika aplikasi terbuka.
1.activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.kotlinwebview.MainActivity">
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="8dp"
tools:layout_editor_absoluteY="8dp" />
2.MainActivity.kt
class MainActivity : AppCompatActivity() {
private lateinit var webView: WebView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
webView = findViewById(R.id.webview)
webView.webViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean {
view?.loadUrl(url)
return true
}
}
webView.loadUrl("https://www.google.co.in/")
}
}
Gunakan plugin Android Kotlin Extension. Jika Anda menggunakan Android Studio 3.0 dan di atasnya, jangan khawatir tentang itu. Itu sudah terinstal di Proyek Anda.
Gunakan id dari WebView dalam tata letak dan panggil metode loadUrl().
Contoh WebView Android - Kotlin & Java
Di sini id dari WebView : webview
webview.loadUrl("https://www.androidride.com")
jangan lupa untuk menambahkan
<uses-permission android:name="android.permission.INTERNET"/>
Jika browser pihak ketiga Anda terbuka dengan URL apa pun yang dimuat di WebView, maka berikan WebViewClient.
webview.webViewClient = WebViewClient()
Jika Anda ingin memutar video youtube di WebView Anda, maka Anda harus mengaktifkan JavaScript di WebView.
webview.settings.javaScriptEnabled = true
Jika Anda seorang pemula dalam pengembangan aplikasi Android, maka tutorial ini akan membantu Anda untuk menghapus hampir semua keraguan Anda tentang WebView.
Tambahkan ini ke aktivitas Anda:
@SuppressLint("SetJavaScriptEnabled")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_webview)
val mWebView = findViewById<WebView>(R.id.webview)
val webSettings = mWebView.settings
webSettings.javaScriptEnabled = true
mWebView.loadUrl(getString(R.string.website_url))
mWebView.webViewClient = HelloWebViewClient()
WebView.setWebContentsDebuggingEnabled(false)
}
Dan tambahkan yang berikut ini ke kelas HelloWebViewClient()
untuk mengizinkan navigasi tombol kembali dan tautan eksternal keluar:
override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean {
if (Uri.parse(url).host == getString(R.string.website_domain)) {
return false
}
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
startActivity(intent)
return true
}
override fun onPageFinished(view: WebView, url: String) {
// TODO Auto-generated method stub
super.onPageFinished(view, 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)
}
Tambahkan string yang mendefinisikan website_domain
(https://stackoverflow.com/) dan website_host
(stackoverflow.com).
Jika Anda mengalami kesulitan untuk mencapai apa yang Anda coba, cobalah contoh lengkap ini dan ikuti saja instruksinya sehingga Anda hanya perlu mengedit URL dan nama domain bersih dari situs web Anda.