Android ProgramlamaGenel

Android Webview ile site görüntüleme

Webview internet sitelerini görüntülemeye yarayan gayet kullanışlı ve kullanması çok basit bir araçtır.

Yeni bir proje açıp adına Webview diyoruz ve kodlamaya geçiyoruz. İlk yapacağımız şey Palette -> Composite içerisinden webview sürükleyip bırakıyoruz. Webview.java kısmına geçiyoruz ve webview’i programa tanıtıyoruz. Daha sonra src den ana kodlarımızı açıyoruz.

package com.example.webview;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class Webview extends Activity {
WebView websayfasi;
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_webview);
websayfasi = (WebView)findViewById(R.id.webView1);
websayfasi.getSettings().setJavaScriptEnabled(true); // javascriptlere açıyoruz.
WebViewClient wvc = new WebViewClient(); //Urlyi görüntülemek için webviewclient nesnesi oluşturuyoruz.
websayfasi.setWebViewClient(wvc); // nesneyi webview'imize atıyoruz.
websayfasi.loadUrl("http://www.kodbankasi.org");//urlyi giriyoruz.
}
}

Evet programımız bu kadar. Ancak internet izni de almamız gerekiyor. Bunun için de android manifest dosyamıza girip uses-sdk’nın altına aşağıdaki kodu yapıştırıyoruz.

<uses-permission android:name="android.permission.INTERNET"  />

Bu kod sayesinde internet izni almış olduk. Artık internete bağlandığımızda hata vermeyecektir. Android manifest dosyasında alt kısımdaki permissions sekmesine tıklarsanız orada hangi izinleri alabileceğinizi görebilirsiniz. Bunlarla beraber javascript ayarlarını da açmayı unutmuyoruz.

websayfasi.getSettings().setJavaScriptEnabled(true); // javascriptleri açıyoruz

Programımızı çalıştırdığımızda oluşan görüntü aşağıdaki gibi oldu. Url girerken http yazmayı unutmamak gerekiyor yoksa program çalışmaz.

webview

Görüldüğü gibi Webview kullanımı gayet basit. Bir sonraki makalede işi biraz daha zorlaştırarak bir webbrowser yapmayı düşünüyorum. Bol kodlu günler … :)

This Post Has 16 Comments

  1. fatih Reply

    Merhaba;
    benim öğrenmek istediğim şey web sitesi açıldığında mesela sizin yukarıda emulatorde gosterdiğiniz sayfa açıldığında iletişim butonuna tıklayıp .pdf uzantılı bir dosyanın indirilip görüntülenmesi gerekiyor. ben uygulamamda bunu yapmaya çalışıyorum ancak butona tıkladığımda hiçbir şey olmuyo. bu sorunu nasıl çözebilirim.
    Desteğiniz için teşekkürler

    • admin Reply

      Merhabalar,
      İletişim butonu dediğiniz aslında sitemizdeki üst menülerden birisi. Buna tıklandığında indirmesini istiyorsunuz. Ancak buton olmadığı için onclick metodunu malesef menülere veremiyoruz. Webview sadece online görüntüler.
      Ancak online olarak pdf dosyasının görüntülenmesini isterseniz Google Docs Viewer’dan faydalanabilirsiniz. Örneğin :
      WebView webview = (WebView) findViewById(R.id.webview);
      webview.getSettings().setJavaScriptEnabled(true);
      String pdf = “http://www.siteadi.com/ornek/ornek.pdf”;
      webview.loadUrl(“http://docs.google.com/gview?embedded=true&url=” + pdf);

      Bu adreste url’yi pdf dosyanız olarak verdiğinizde direk açılacaktır. Umarım yardımcı olabilmişimdir.

      Bu kodla online olarak pdf’yi görüntüleyebilirsiniz.

  2. Yunus Emre Reply

    your project contains error hatası alıyorum ayrıca “public class Webview extends Activity bu satır ve “setContentView(R.layout.activity_webview); bu satırlardan hata alıyorum nedır acaba sorunun cozumu

    • admin Reply

      Kodları görmeden birşey söylemek çok zor. Genel bir proje hatası alıyorsunuz. Logları inceleyerek hata kodlarını ve sorun içeriklerini yazarsanız daha rahat yardımcı olabilirim.

  3. Yunus Emre Reply

    Yukarıda soyledıklerınızı harfıyen yapıyorum kodların hepsı aynı yukarıdakılerle

    • admin Reply

      Şuan kontrol ettim tekrar kodlarda bir problem görünmüyor çalışıyor uygulama.
      İzinde bir sıkıntı olabilir mi acaba ? İnternet iznini eklediniz mi manifest dosyanıza ? Eğer yine olmazsa uygulamayı buradan indirebilirsiniz.

  4. Yunus Emre Reply

    ekledim tekrar baktım kontrol ettım bır yerı atlıyorum muhtemelen velakın bulamadım,rica etsem dosya linkini yeniler misiniz oradan indireyim

  5. Yunus Emre Reply

    teşekkür ederim sayin admin :)

  6. Yunus Emre Reply

    admin kardesim bir isteğim olacak ,java ile mysql bağlantısı örneği var mı elinde rica etsem benımle paylasabilir misin ?

  7. Arif Erzin Reply

    İyi çalışmalar webview ile bir siteyi görüntüledim.
    site içerisinden kameraya veya galeriye ulaşarak uplad etmek mümkün mü uplad kısmı zaten site içerisinden olacağı için o kısımda androide gerek yok önemli olan webview içersinden kamera veya galeriye ulaşmak böyle bişey mümkün mü?

    Şimdiden teşekkürler

    • admin Reply

      Sanmıyorum, webview’in amacı siteyi uygulama içerisinde gösterebilmektir sadece.

      Ancak yine de yabancı kaynakları araştırabilirsiniz.

  8. osman Reply

    Geri tuşuna bastığımda uygulamadan çıkmayıp yüklenen site içerisinde bir geri sayfaya gelmesini nasıl ayarlayabilirim acaba?

    • Ahmet Reply

      Aynen kardeşim bende geri tuşuna bastığında aynı işlemi yapmasını istiyorum.

  9. Civan Reply

    Hocam bir sayfadaki video görüntüsünü nasıl alırım mesela canlı yayın süren bir tv kanalının canlı yayın akışını nasıl ekrana getirebilirim. Örnek kod var mı elinizde teşekkürelr

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak.