FRAGMENT NEDİR?

Android kullanıcı arayüzlerinden Activity’leri biliyoruz. API level+11 den sonra Android geliştiricilerine sunulan Fragmentlar bir Activity içerisinde çalışan bir kullanıcı interface’ini temsil eden küçük Activity parçaları olarak tanımlanabilir. Yani Fragment’ler Activityler gibi kullanıcı arayüzlerini oluşturular.

NEDEN ACTİVİTY VARKEN FRAGMENTLAR?

Fragmentlar, Activity sınıflarına göre daha performanslı ve daha kullanışlıdırlar. Bir Activity içerisinde istediğimiz kadar Fragment yaratabiliriz ya da başka bir activity içerisinde aynı Fragment’ı tekrar kullanabiliriz, istediğimiz yerde çağırabiliriz. Yani, temel amaç performansın artırılmasıdır.Dolayısıyla   kullanıcılara esnek bir yapı sunmaktadırlar.Fragmentlar aynı Activityler gibi gibi bir class  ve birr layout dosyasından oluşurlar. Aynı ekranda iki farklı Activity çalışamazken iki veya daha fazla farklı fragment çalışabilmektedir. Fakat bir Fragment Activity gibi kendi başına direkt olarak çalıştırılmaz. Fragment bir Activity içerisinde çalıştırılması gerekmektedir. Yani uygulamada bir Activity sınıfı olmalı, tasarlanan tüm görseller (Fragment’lar) bu Activity sınıf olmalı, tasarlanan tüm görseller (Fragmentlar) bu Activity sınıfı içinde yer değiştirme işlemi ile gösterilmelidir.

Bir Fragment değiştirildiğinde veya ön plana başka bir uygulama açıldığında önce Fragment’ın onPause () tuşu çağırılır. Bir Fragment bir Activitye eklendiğinde sırayla onAttach(), onCreate() , onCreateView() ,onViewCreated(),onStart(), onResume() metotları çağırılır.  Fragment kapanır veya değiştirilirse onStop(), onDestory() onDetach() metotları çağırılır.

}
    @Override
    protected void onStart(){
        super.onStart();
        Log.d("mesaj","start");
    }
    @Override
    protected void onStop(){
        super.onStop();
        Log.d("mesaj","Stop");
    }
    @Override
    protected  void onDestroy(){
        super.onDestroy();
          Log.d ("mesaj","Destory");
    }
    @Override
    protected void onPause(){
        super.onPause();
        Log.d ("mesaj","pause");
    }


    @Override
    protected void onResume(){
        super.onResume();
        Log.d ("mesaj","Resume");
    }
}


Ekranı döndürdüğümüzde ise;

Yorum bırakın