Android kullanıcı arayüzlerinden Activity’ leri tüm android geliştiriciler duymuştur. API level 11 ile birlikte geliştiriciler Fragment sınıfı ile muhatap olmaya başladı. Biraz geç olmakla birlikte ben de sitede Fragment mantığını açıklama ihtiyacı duydum.

Fragment’ lar da Activity’ ler gibi kullanıcı arayüzlerini oluştururlar. Peki neden bu sınıfa ihtiyaç duyuldu? İlk ve temel amaç performansın artırılması, kullanılabilirliğin arttırılmasıydı. Activity’ lere göre daha performanslı, daha kullanışlı bir yapıya sahip olan Fragment’lar, bu işlemi başarıyla gerçekleştiren bir sınıf olarak geliştiricilere sunuldu.

Uygulamada Fragment olarak oluşturulan görsel bir arayüz, istenilen yerde çağırılarak kullanılabilir. Fragment gösterimi, yeni bir Activity çağırmaktan daha performanslı gerçekleşmektedir. Üstelik, Activity’ ler Fragment’ lar gibi yer değiştirilebilir bir yapıya sahip değildirler. Bu da geliştirici için tasarımda büyük bir esneklik sağlar. Tasarımda bu güzellikler var, Fragment’ lara şimdi biraz daha yakından bakalım.



 

Fragment’ lar Nasıl Çalışır?

Fragment’ ların çalışma mantığı şu şekildedir; tüm Fragment nesneleri, bir Activity sınıfı içinde gösterilir. Yani uygulamada bir Activity sınıfı olmalı, tasarlanan tüm görseller(Fragment’ lar) bu Activity sınıfı içinde yer değiştirme işlemi ile gösterilmeli.

fragment_lifecycle

Fragment Life Cycle

Fragment’ lar da Activity’ ler gibi bir hayat döngüsüne sahiptirler. Bir çok kaynakta Fragment Life Cycle tablosunu bulabilirsiniz. Ben de developer.android.com sitesinden aldığım resmi burada hatırlatıp başka şeylerden bahsetmek istiyorum.

Bir Fragment ne kadar kendi yaşam döngüsüne sahip olsa da aslında bu döngüyü belirleyen, başlamasını ya da bitmesini sağlayan şey içinde bulunduğu Activity’ dir. Fragment’ lar Activity içinde gösterilir. Doğal olarak yaşam döngüsü de Activity’ lere bağımlı olarak devam eder. Fragment’ların bağlı olduğu Ativity sınıfını bitirirseniz, Fragment’ larınız da yok olacaktır. Bu da demek oluyor ki, ancak Activity nesnesi normal bir şekilde devam ederken Fragment nesneleri normal yaşam döngüsünü sürdürebilir. Activity nesnesinin yaşam döngüsünde gerçekleşen tüm değişiklikler barındırdığı Fragment nesnelerini de etkileyecektir.

Fragment yapısını;

  • Activity mantığından daha performanslı
  • Tekrar tekrar kullanılabilir
  • Kendine ait yaşam döngüsü (Life Cycle) vardır
  • Activity’ ler içinde, onların davranışlarına bağımlı olarak çalışır

şeklinde özetleyerek Fragment’ ları bitirelim.

9 Comments to “Android Programlama Dersleri 5: Fragment Nedir?”

Post comment

Time limit is exhausted. Please reload the CAPTCHA.