JavaScript'inizi console
JavaScript API'lerini kullanarak ayıklayabilir ve çıkış mesajlarını Logcat'te görüntüleyebilirsiniz. Web sayfalarında Firebug veya Web Inspector ile hata ayıklama konusunda deneyimliyseniz console
(ör. console.log()
) kullanma konusunda da deneyimli olabilirsiniz. Android'in WebKit çerçevesi, API'lerin çoğunu destekler. Bu nedenle, WebView
içinde hata ayıklarken web sayfanızdan günlükler alabilirsiniz. Bu bölümde, hata ayıklama için konsol API'lerinin nasıl kullanılacağı açıklanmaktadır.
WebView'da konsol API'lerini kullanma
Konsol API'leri, WebView
içinde hata ayıklama sırasında da desteklenir. Logcat'te konsol mesajlarının görünmesi için WebChromeClient
yöntemini uygulayan bir onConsoleMessage()
sağlamanız gerekir.
Ardından, setWebChromeClient()
ile WebChromeClient
öğesini WebView
öğenize uygulayın. Daha fazla bilgi için WebView
dokümanlarına bakın.
Aşağıdaki örnekte, WebView
'da 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
, teslim edilen konsol mesajının türünü belirtmek için MessageLevel
nesnesini de içerir. Mesajın önem derecesini belirlemek için messageLevel()
ile mesaj düzeyini sorgulayabilir, ardından uygun Log
yöntemini kullanabilir veya diğer uygun işlemleri yapabilirsiniz.
onConsoleMessage(String, int, String)
veya onConsoleMessage(ConsoleMessage)
kullanıyor olmanızdan bağımsız olarak, 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, örnek kodla birlikte aşağıdaki gibi bir Logcat mesajı yazdırılır:
Hello World -- From line 82 of http://www.example.com/hello.html
Hata ayıklama ile ilgili ek kaynaklar:
Deneysel web özelliklerini test etme
Google Chrome'un chrome://flags
sayfasına benzer şekilde, WebView
'da deneysel web özelliklerini de test edebilirsiniz.
Bunu yapmak için aşağıdaki adımları uygulayın:
WebView
Yayın öncesi kanallardan (beta, yeni geliştirilenler veya canary) birini yükleyin{:.external}.Test cihazınızda
WebView
kanalını, yüklü yayın öncesi kanalına geçirin.WebView Geliştirici Araçları başlatıcısını tıklayın.
1.şekil Cihaza yüklenen uygulama için WebView DevTools simgesi. Geliştirici Araçları'nda Flags (Denemeler) öğesini 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 etmeye 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
Geliştirici Araçları belgelerine bakın.