Android WebView Kullanımı

Java Kotlin Eğitimi

Merhaba Arkadaşlar,
Mobilhanem.com sitemiz üzerinden anlattığımız/yayınladığımız Android Eğitimleri yazı serimizde bu dersimizde Android Web View Kullanımı ile devam ediyoruz.

WebView iki şekilde kullanılmaktadır. Birincisi ve basit olanı html kodlarını yazarak gösterebilmekteyiz. İkincisinde ise uzak bir sunucuda bulunan bir web sitesini görüntüleyebilmekteyiz. Bu dersimizde ikinci kısım olan uzak bir sunucuda bulunan web sitesini nasıl görüntüleyebildiğimiz ve ne tür işlemler yapabildiğinin üzerinden geçiyor olacağım.

Java Kotlin Eğitimi

Uzak sunucuya erişeceğimiz için İnternet erişim iznini vermemiz gerekir. Aşağıdaki izni AndroidManifest.xml dosyasının içerisine ekliyoruz. izinler ile ilgili detaylı bilgi için tıklayınız.

Basit bir tasarım olması açısından xml dosyamıza ProgressBar, WebView ve refresh işlemi içinde SwipeRefreshLayout komponentlerini ekliyoruz.

Kullanıcı arayüz tasarımımızı tamamladıktan sonra kodlamaya başlayabiliriz.

Uygulamanın ilk çalışma anında WebView nesnemizi yüklenene kadar görünmez yaptık. Bu arada ProgressBar nesnesi yardımıyla sayfanın yüklendiğini göstermekteyiz.

Arayüzdeki nesnelerimize kod tarafından erişim sağlıyoruz. Örnek olması nedeniyle çağıracağımız sayfayı daha önce yazılımını geliştirdiğim bir web sitesini kullanıyorum.

yukarıda nesnelerin onCreate methodunda atamalarını yapıyoruz.

Kullanacağımız WebView komponentinden kullanacağımız özellikler ve kullanım şekilleri aşağıdaki gibidir. Sadece aşağıdaki özelliklerle sınırlı değildir sadece konunun anlaşılması için kısa tuttum. Sizin için bazı özel durumlar olabilir. Bu gibi durumlarda bana sorabilirsiniz. Bende ders içeriğine kimden geldiği ve nasıl bir ihtiyaç için gerekli olduğunu belirterek ekleyebilirim.

setJavaScriptEnabled: JavaScript çalışıp çalışmamasını belirliyoruz. Şayet sayfamızda JavaScript kodları varsa bu methodu kesinlikle kullanmalıyız. Bir butonun işlevi JavaScript ile tetikleniyorsa bu methodu kullanmadığımız takdirde butonumuz görüntüden başka bir iş yapmayacaktır.

canGoBack: Bir önceki ziyaret ettiğimiz sayfanın olup olamdığı bilgisini tutar.

goBack: sayfalar arasında dolaştıktan sonra geri tuşuna bastığımızda bir önceki gezindiğimiz sayfaya dönmek istediğimiz zaman kullanırız.

gerekli ayarlamaları yaptıktan sonra sayfamızı loadUrl methoduyla yükleyebiliriz.

kodumuzu derleyip çalıştırınca aşağıdaki görüntüyü elde ederiz.

SwipeRefreshLayout komponentini kullanılarak sayfamızı reload methodunu çağırarak yeniliyoruz.

Web Sayfa Aksiyonları

Web sayfalarımızın handle edilmesi için WebChromeClient ve WebViewClient sınıflarını kullanırız.

setWebChromeClient ve setWebViewClient özelliklerine WebChromeClient ve WebViewClient sınıf nesnelerini atamasını gerçekleştiriyoruz.

setWebViewClient sınıfı için override edeceğimiz methodlar aşağıdaki gibidir.

onPageStarted:  sayfamız yüklenmeye başladığı anda WebView nesnesini gizleyip ProgressBar nesnemizide görünür hale getirdik.

onPageFinished:  sayfamız yüklendikten sonra WebView nesnesini görünür hale getirip ProgressBar nesnemizide görünmez hale getirdik.

WebChromeClient sınıfı için override edeceğimiz methodlar aşağıdaki gibidir.

onProgressChanged: sayfamızın yüklenme oranına göre aksiyon alacağımız durumlarda kullanabiliriz. Örneğimizde activity başlığımıza “Loading…” bilgisini yazmak ve yüklenme oranı %100 olduğunda uygulama ismini vermek için kullanabiliriz.

onShowFileChooser: Web sayfasında dosya sistemi veya kameranın açılması gibi durumlar var ise bu methodu override ederek intent ile dosya seçim ekranını veya kamerayı açabiliriz.

Evet arkadaşlar Android WebView Kullanımı aşamalarını sizlere detaylıca anlatmaya çalıştım. Umarım hepiniz için faydalı olmuştur.

Sıfırdan android dersleri için tıklayınız.

Mobilhanem.com üzerinden anlattığımız android uygulama geliştirme derslerine devam edeceğiz. Konu hakkında sorunuzu yorum alanından sorabilirsiniz. Konu dışı sorularınızı ve tüm yazılımsal sorularınızı sorucevap.mobilhanem.com sitemizden de sorabilirsiniz.

Bir daha ki dersimizde görüşmek dileğiyle..

Yasin Çetin

Lisans: Çanakkale Onsekiz Mart Üniversitesi

Yorum Yaz

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?