Fragmentler Arası Data Alış Verişi (Interface Kullanarak)

Merhaba Arkadaşlar,
Bir önceki dersimde bahsettiğim gibi bundan sonraki derslerimde Fragment‘ları ağırlıklı olarak kullanmaya devam edeceğim ve derslerimi Android Studio ortamında geliştireceğim.Android Studio kurulumu hakkında dersime buradan ulaşabilirsiniz.mobilhanem.com üzerinden anlattığım derslere bugün Fragmentlar arasında yada Fragment-Activity arasında nasıl data alış verişi yapacağımızı anlatacağım.

Activity’ler arası data alışverişlerini intentler üzerinden basit bir şekilde gerçekleştiriyorduk.Bunun hakkında ki dersimize buradan ulaşabilirsiniz. İki activity arasında direk bağlantı kurup veri alış verişi yaparken Fragmentlar da ise durum biraz daha farklıdır. Fragmentlar arasındaki data alışverişini direk kendi aralarında yapmıyor, bağlı bulundukları Activity’ler üzerinden yapıyoruz.Doğru olan yöntem budur. Bu bağlantıyı yaparken’de Interfaceler kullanarak daha esnek bir yapıda Object Oriented mantığına uygun şekilde gerçekleştiriyoruz.

Peki neden Interfacelere ihtiyaç duyarız .Bunu daha iyi anlamak için ufak bir uygulama yazdım. Uygulamanın görseli üzerinde pek durmadım. Genel olarak internetteki dersler gibi bir fragmenttan aldığım kişi bilgilerini ikinci fragmentta yazdırdım.XML dosyalarını derste paylaşmıyorum.Kaynak kod içerisinde bulabilirsiniz.Ayrıca kaynak kodları indirip incelerseniz daha iyi anlayabileceğinizi düşünüyorum. Kaynak kod üzerinde gerekli açıklamaları yapmaya çalıştım.

Anasayfa.java

Fragment1.java

Fragment2.java

Gelelim işin kilit noktası olan Interface’imize. Dediğim gibi kod üzerinde açıklama yaptım ama yinede bu ders içinde interface’i ne amaçla kullandık onu anlatayım.Burda kullandığımız Fragment1 classı içinden Anasayfa içindeki bir methodu çağırmamız gerekiyor ki bu methodla Fragment2 methoduna bilgi gönderebilelim veya gerekli başka işlemleri yapalım.Fragment1 içinden Anasayfa objesi oluşturup direk bu obje üzerinden gerekli methodu çağırabiliriz ama o zaman bu Fragment1 classı sadece Anasayfa Activity si içinden kullanılabilir. Başka bir activity içinde kullanılamaz çünkü Anasayfa içindeki methodu çağırabiliyor. İşte bunu önlemek ve Fragment1 classımızı başka activityler içinde de kullanabilmek için Interface tanımlıyoruz ve bu interface’i hangi activity implement ederse çağıracağımız method belli olur.Tabi interface’lerin çok daha fazla kullanım alanları var ancak ben daha derinlemesine girmiyorum.

KaydetInterface.java

Fragment Data Alışverişi
Fragment Data Alışverişi

Evet arkadaşlar bu derste anlatmak istediklerim bu kadar. Bu derste fragmentlar arasında veri alışverişi nasıl yapılır onu anlattım. Bu ders ile bundan sonraki anlatacağım fragment dersleri için bir alt yapı oluşturdum.

Sizlerden ricamız facebook.com/mobilhanem sayfamızı beğenmenizdir. Bu ders hakkında aklınıza takılan her türlü soruyu sorabilir ve ya eklemek istediğiniz bir konu olursa yorum bırakabilirsiniz.Bir dahaki dersimde Fragment Listview kullanımını anlatacağım.O zamana kadar kendinize iyi bakın…

Tüm Android Ders, Proje ve Kaynak Kodlar için tıklayınız.

Taha Kırca

iOS & Android & Apple Watch Developer, Mobilhanem.com yazarı, Karadeniz Uşağu, Ordu Sevdalısı

11 Yorum

Haftalık Bülten

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