console
JavaScript API'lerini kullanarak JavaScript'inizde hata ayıklama yapabilir ve çıkış mesajlarını Logcat'te görüntüleyebilirsiniz. Firebug veya Web Inspector ile web sayfalarında hata ayıklama hakkında bilginiz varsa muhtemelen console
(console.log()
gibi) kullanmayı da biliyorsunuzdur. Android'in WebKit çerçevesi, aynı API'lerin çoğunu destekler. Bu sayede, WebView
'da hata ayıklama yaparken web sayfanızdan günlük alabilirsiniz. Bu bölümde, hata ayıklama için konsol API'lerinin nasıl kullanılacağı açıklanmaktadır.
WebView'de konsol API'lerini kullanma
Konsol API'leri, WebView
'te hata ayıklama sırasında da desteklenir. Konsol mesajlarının Logcat'te görünmesi için onConsoleMessage()
yöntemini uygulayan bir WebChromeClient
sağlamanız gerekir. Ardından WebChromeClient
'yi setWebChromeClient()
ile WebView
'nize uygulayın.
Daha fazla bilgi için Webview
dokümanlarına bakın.
Aşağıdaki örnekte, WebView
'te konsol API'lerinin nasıl kullanılacağı gösterilmektedir:
Kotlin
val myWebView: WebView = findViewById(R.id.webview) myWebView.webChromeClient = object : WebChromeClient() { override fun onConsoleMessage(message: ConsoleMessage): Boolean { Log.d("MyApplication", "${message.message()} -- From line " + "${message.lineNumber()} of ${message.sourceId()}") return true } }
Java
WebView myWebView = findViewById(R.id.webview); myWebView.setWebChromeClient(new WebChromeClient() { @Override public boolean onConsoleMessage(ConsoleMessage consoleMessage) { Log.d("MyApplication", consoleMessage.message() + " -- From line " + consoleMessage.lineNumber() + " of " + consoleMessage.sourceId()); return true; } });
ConsoleMessage
, gönderilen konsol mesajının türünü belirten bir MessageLevel
nesnesi de içerir. İletinin önemini belirlemek için messageLevel()
ile ileti düzeyini sorgulayabilir, ardından uygun Log
yöntemini kullanabilir veya uygun diğer işlemleri yapabilirsiniz.
onConsoleMessage(String, int, String)
veya onConsoleMessage(ConsoleMessage)
kullanıyor olsanız da web sayfanızda bir konsol yöntemi yürüttüğünüzde Android, hatayı bildirebilmeniz için uygun onConsoleMessage()
yöntemini çağırır. Örneğin, yukarıdaki örnek kodda şuna benzer bir Logcat mesajı yazdırılır:
Hello World -- From line 82 of http://www.example.com/hello.html
Aşağıda, hata ayıklamayla ilgili ek kaynaklar verilmiştir:
Deneysel web özelliklerini test etme
Google Chrome'un chrome://flags
sayfasına benzer şekilde, deneysel web özelliklerini WebView
'da da test edebilirsiniz.
Bunun için aşağıdaki adımları uygulayın:
WebView
Sürüm öncesi kanallardan birini (beta, geliştirici veya kanarya) yükleyin{: .external}.Test cihazınızdaki
WebView
kanalını yüklü yayın öncesi kanala geçirin.WebView DevTools başlatıcısını tıklayın:
Geliştirici Araçları'nda İşaretler'i tıklayın ve etkinleştirmek veya devre dışı bırakmak istediğiniz deneysel özellikleri arayın. Değişiklik, cihazdaki tüm
WebView
örnekleri için geçerlidir.Yeni özelliklerle test yapmaya başlamak için uygulamanızı durdurup yeniden başlatın.
İşaretleri etkinleştirme/devre dışı bırakma hakkında daha fazla bilgi için WebView
DevTools belgelerine bakın.