• Şuradasınız
  • Anasayfa
  • Android
  • Android Dersleri 12 : WebView Kullanımı

Android Dersleri 12 : WebView Kullanımı

Merhaba arkadaşlar. Bu derste webview kullanımını anlatacağım. Webview, parametre olarak verilen web sayfasını açar. Ben bu derste şöyle bir örnek yapacağım. Parametre olarak verilen web siteyi başka bir sayfada açacağım. Bunun için sayfalar arası veri aktarımını da kullanacağım.
İlk olarak projemizi oluşturalım. Eğer bunda sıkıntı yaşıyorsanız ilk android dersimize bakabilirsiniz. Bu adımları tekrar anlatmayacağım. Sayfamıza bir buton ve edittext ekleyelim. Sayfamızın görüntüsü şu şekilde olacaktır.

1

 

Burada parametre olarak girilen linki, yeni bir sayfaya parametre olarak gönderecek ve bu linki o sayfada açacak. Şimdi yeni bir sayfa oluşturalım. Bunun için layout klasöründe yeni bir Android XML File ekleyelim ve daha sonra src altında da yeni bir Class ekleyelim. Bu adımları tek tek anlatmayacağım. Eski derslerimizden bakabilirsiniz. Eklediğimiz yeni sayfayı da AndroidManifest.xml dosyasında da tanıtacağız. Bu sayfanın görüntüsü şu şekilde olacaktır.

2

 

Daha sonra sayfalar arası aktaracağımız verileri tutacak olan değişkenleri tanımlayalım. Bunu bir sınıf içerisinde tanımlayacağız. src klasörünün altında yeni bir Degiskenler adında bir sınıf oluşturalım. Bu sınıfı da aşağıdaki gibi kodlayalım.

4

 

Sayfalar arasındaki verileri, bu sınıftaki değişkenler ile yapacağız. Projemizin de son görüntüsünü ve dosyaları verelim hemen.

5

 

Benim sınıf ve sayfa isimlendirmelerim bu şekilde. Şimdi ana sınıfımızın java dosyasını kodlayalım. Yani MainActivity.java dosyasına, diğer sayfaya gitmemizi sağlayacak kodları yazalım.

3

 

İlk olarak b1 ve e1 nesnelerini oluşturduk. Daha sonra bunları id’lerine bağladık. Butonun Listener‘ı içerisindeki tıklanma olayına da şunları yazdık. İlk olarak bir intent oluşturduk. Bu intent ile diğer sayfaya geçeceğiz. İlk parametre içinde bulunduğumuz sayfa, diğer parametre ise gidilecek sayfanın .class uzantısı. Bir alt satırında da putExtra() metodu ile edittext içerisine yazılan linki, değişkene attık. Bu değişkenin içerisindeki linki, diğer sayfada çekip kullanacağız.

Şimdi websayfasi.xml sayfamıza bir webview sürükleyip bırakalım. Bunu soldaki palette menüsünden Composite seçeneğinin altından yapabilirsiniz. Bu sayfamızın Graphical Layout kısmındaki görüntüsü şu şekilde olacaktır.

7

 

Şimdi son olarak webactivity.java dosyasını açalım. Yani 2.sayfamızın kodlarını yazacağımız sınıfı. Bu sınıfta ne yapacağız peki? Parametre olarak gönderdiğimiz değişkenin içindeki veriyi alıp, webview’a parametre olarak vereceğiz. Kodlarımız şu şekilde olacaktır.

8

 

Bakın buradaki setContentView metoduna parametre olarak, diğer sayfanın adresini verdik. Normalde yeni bir sınıf oluşturduğumuzda içerisi boş olur. İlk kısmı, diğer MainActivity.java sınıfından kopyaladık ve değiştirdik. Bunları yaptıktan sonra uygulamamız hazır oldu fakat emülatörümüzün internetini açmamız gerekiyor. Bunun için de AndroidManifest dosyamıza şu satırları eklememiz gerekiyor.

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

Fakat bu kodu, manifest dosyasında <application> etiketinden önce eklememiz gerekiyor.

Şimdi programımızı çalıştırıp ekran görüntüsüne bakalım.

1 10

 

Butona tıkladığımızda başka bir sayfaya gitti ve parametre olarak girdiğimiz linki diğer sayfada açtı.

Bu derste webview kullanmayı anlattık. Diğer sayfaya geçmeyi ve veri aktarmayı da tekrar ettik. Bir sonraki derste görüşmek üzere.

Benzer Yazılar

Yorumlar

  • Cankat , 07 Haziran 2013 - 11:49

    Merhaba, her şeyi hallettim fakat uygulamada siteyi açtığımda biyere tıklayınca benden tarayıcı seçmemi istiyor. Hiçbir zaman tarayıcı seçmemi istemeden uygulama içerisinde verdiğimiz sitede bir yerlere tıklansa bile direk uygulama içindeyken oralara gitmesini nasıl ayarlayabilirim? Uygulamadan hiç ayrılmayacak ve tarayıcı seçimi yapmayacak yani.

    Cevapla
    • Mehmet Kirazlı , 07 Haziran 2013 - 13:18

      Merhaba. Google'da android varsayılan tarayıcı belirleme diye aratırsanız size yardımcı olacaktır.

      Cevapla
      • Cankat , 08 Haziran 2013 - 13:24

        hocam o dediğinizi arattırdığımda uygulama için değil de telefondan ayarlara girerek yapılma tarzı şeyler çıkıyor. Ben istiyorum ki adam uygulamaya girdiğinde direk bizim site açılsın. Açıldığında ise bir yere tıkladığında yine uygulamadan asla ayrılmadan tıkladığı linke gidebilsin.

        Şuanki uygulamamda her şey hazır fakat kullanıcı uygulama içerisinde herhangi bri yer tıklayınca tarayıcı seçmesini istiyor uygulama. Tarayıcıyı zaten seçmişsek ise de direkt olarak tarayıcıya yönlendirme yapıp tıklanılan linki tarayıcı üzerinden açmaya çalışıyor.

        Kod olarak yardımınızı beklemekteyim. İyi günler.

        Cevapla
  • Alican Akkus , 29 Ağustos 2013 - 01:16

    Merhaba , webpage not avaible hatası alıyorum 🙂 izin girdisi yaptım ama boyle bir hata olustu …

    Cevapla
  • bayram , 17 Aralık 2013 - 13:19

    merhaba mehmet bey.Sıkıntım şu araştırmaktan bi hal oldum sonrasında buraya yazıyorum.Uyuglamada herhangi bi siteye webview ile url veriyorum ve bağlanıyorum uygulama içinden.Sonrasında ise bağlanılan sitede video varsa oynatmaya çalışıyorum.ama hiç hareketlilik yok videoview diye birşeyler var ama ben öncelikle kullanıcının sitede dolaşmasını sonra ise beğendiği videoyu izlemesini istiyorum.Acaba böyle birşey mümkün mü yoksa ben nerde hata yapıyorum yardımcı olabilirseniz çok makbule geçecek….

    Cevapla
  • burak , 21 Aralık 2013 - 19:31

    merhabalar çok iyi anlatmışsınız teşekkür ederim fakat bende bir problem var Internet i diye tanımlarken Internet i algılamıyor?

    Cevapla
  • Mehmet , 03 Ocak 2014 - 23:01

    Hocam local bir sayfayı nasıl ekliyoruz sitemize?

    Cevapla
  • Yasin , 25 Şubat 2014 - 00:42

    Hocam, tarayıcıya yönlendirdikten sonra home tuşuna basıp tekrar girdiğimde beyaz ekran hatası alıyorum. Nasıl çözebilirim bu sorunu ?

    Ram i temizleyip tekrar girdiğimde uygulama çalışıyor, ancak çıkıp girince çalışmıyor.

    Cevapla
  • mert , 03 Mart 2014 - 10:07

    Hocam ben onCreateOptionsMenu yaratırken getMenuInflater().inflate(R.menu);
    burada menu kaynağını bulamıyor ben kendim yarattım yine göremedi sıkıntı nedir sizce??

    Cevapla
    • Mehmet Kirazlı , 03 Mart 2014 - 11:45

      o fonksiyonu @override etiketinden itibaren silin bir de öyle deneyin.

      Cevapla
      • mert , 03 Mart 2014 - 11:57

        2. sayfada Sadece title gibi bişey çıkıor beyaz onun dışında sayfa da herhangi bişey gözülmüyor anladığım kadarıyla kod çalışıyor ancak xml kısmında bi sıkıntı var appear olmuyor webpage teşekkürler…

        Cevapla
  • uğuraugur08 , 12 Temmuz 2014 - 17:26

    hocam merhabalar,
    ben uygulamamı çalıştırdığımda “web page not available” hatası alıyorum, yani uygulamada hata olmuyor ama yazdığım url load olmuyor. yardımcı olabilirseniz çok sevinirim.

    Cevapla
  • murat820 , 01 Kasım 2014 - 16:04

    Merhaba hocam. Ben şeklinde AndroidManifest te kullanınca derleyici hata veriyor. yazmazsam derliyor ancak web sitesine bağlanamıyor. “Web page not available” diyor yani sanki internet yokmuş gibi davranıyor.

    Cevapla
  • Ataberk , 02 Şubat 2015 - 20:09

    Abi ben sitemin mobil uygulamasını yapmak istiyorum. Bu yüzden webview’in sadece benim sitemin linkini kullanmasını istiyorum bunu bana anlatabilir misin?

    Cevapla
  • Osman , 19 Mart 2015 - 18:14

    Hocam merhaba herşeyi yapıyorum izinleride verdikten sonra apk olarak çıktı alıyorum fakat export ederken AndroidManifest dosyasından izinleri siliyor ve hiç izin olmadan çıkartıyor apkyı böyle oluncada internete bağlanmıyor uygulamam. Lüften yardım edebilir misiniz ?

    Cevapla
  • byleader , 08 Nisan 2015 - 16:11

    Hocam, bi okul projesi için ACİL yardıma ihtiyacım var..
    Ekrandaki butona basınca, internet (wifi bağlantısı) varsa butonun altındaki webview’de internet sayfası açılacak (örnek: http://www.google.com)
    internet yoksa wifi’yi açıp, internet gelene kadar bekleyip, sayfayı ondan sonra açacak..
    örnek bir kod verir misiniz acaba , teşekkürler

    Cevapla
  • Ali , 24 Aralık 2015 - 11:19

    Merhabalar, webView aracı siteyi görüntülerken ben sadece sitenin içerik kısmını görüntülesin istiyorum. Mesela sitedeki herhangi bir gönderinin sadece içeriğini alsın. Şuanda tarayıcılarda var olan “Okuyucu Görünümünde Aç” modu gibi bir şey yapsın istiyorum yani. Bu mümkün mü? Bunu nasıl yapabilirim?

    Cevapla
  • Ferhat , 19 Haziran 2016 - 20:39

    Hocam selam,

    Ben android studio kullanıyorum. Bende menü diye bir klasör yok ben kendim oluşturdum. İçerisine layout taki activiy_main i kopyaladım. Şuan uygulama açılıyor. Butona tıklıyorum hiçbir tepki vermiyor hata da vermiyor o şekilde bekliyor.

    Cevapla
  • Ferhat , 19 Haziran 2016 - 20:45

    Hocam selam,

    Sorunu çözdüm. Eksik yazmışım Click olayını kontrol edince buldum. Teşekkürler. Ama Android Studio da menü klasörü yok 🙂

    Cevapla
  • gaziemir çilingir , 15 Eylül 2016 - 12:39

    emeğinize sağlık

    Cevapla
  • Şenol KAYHAN , 09 Ocak 2017 - 09:27

    teşekkürler pek kaynak yok türkçe

    Cevapla
  • Ramazan , 15 Ocak 2017 - 14:06

    Merhabalar benim yapmak istediğim bir uygulama butonu yapıp uygulama butonuna tıkladığımda direkt olarak internet sitesine yönlendirmesi. Bunu nasıl sağlayabilirim?

    Cevapla

Yorum Yazın

Su elementleri kullanabilirsiniz : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Arama
RSS
Beni yukari isinla