Je suis nouveau sur Android et Kotlin.
Tout le monde peut m'aider à charger une URL dans une webView
?
Je veux juste charger l'URL et voir la page Web lorsque l'application est ouverte.
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() {
var mywebview: WebView? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
mywebview = findViewById<WebView>(R.id.webview)
mywebview!!.webViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean {
view?.loadUrl(url)
return true
}
}
mywebview!!.loadUrl("https://www.google.co.in/")
}
}
Utilisez le plugin Android Kotlin Extension.
Utilisez l'ID de WebView dans la présentation et appelez la méthode loadUrl ().
Ici id de WebView: webview
webview.loadUrl("https://www.androidride.com")
n'oubliez pas d'ajouter
<uses-permission Android:name="Android.permission.INTERNET"/>
Si votre navigateur tiers s'ouvre avec une URL chargée dans WebView, fournissez WebViewClient.
webview.webViewClient = WebViewClient()
Si vous souhaitez lire des vidéos youtube dans votre WebView, vous devez activer JavaScript dans WebView.
webview.settings.javaScriptEnabled = true
Si vous débutez dans le développement d'applications Android, alors ce didacticiel vous aidera à dissiper presque tous vos doutes sur WebView.
Ajoutez ceci à votre activité:
@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)
}
Et ajoutez les éléments suivants à la classe HelloWebViewClient()
afin de permettre la navigation via le bouton Précédent et les liens externes sortants:
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)
}
Ajoutez des chaînes définissant website_domain
( https://stackoverflow.com/ ) et website_Host
(stackoverflow.com).
Si vous rencontrez des difficultés pour obtenir ce que vous essayez d'essayer, essayez cet exemple complet et suivez simplement les instructions afin de modifier simplement l'URL et le nom de domaine propre de votre site Web.