Activity Lifecycle

.. Activity tanımı ve yaşam döngüsü ..

* Merhaba arkadaslar , yeni bir yazıda tekrar beraberiz .

* Bugün Activity  tanımı ve Activity’nin yaşam döngüsüne değinicez . Daha önceden Activity’lerle ilgileniyorduk ama bu biraz yüzeysel oluyordu . Bugün ise Activity^leri oldukça tanıcaz insaAllah . Bu yazı ile beraber artık seviye++ yapmış olacagız .

Activity : Android içerisinde bulunan 4 temel bileşenlerden bir tanesidir . Kullanıcı ile etkileşim halinde bulunur ve görsel bir arayüz sağlar .

  • Activity’ler , Activity sınıfından extends(kalıtılmış) edilmiştir .
  • Activity’ler birbirinden bağımsız çalışır .
  • Activity’ler belli koşullar dahilinde birbirini çağırabilir .
  • Bir Activity diğer bir Activity’i 2 yol ile çağırabilir .
  • Bunlar startActivity() ve startActivityForResult() methoduları ile sağlanır .
  • Bir uygulamada birden fazla Activity olabilir .
  • Her Activity , manifest.xml dosyasında tanımlanmadır .
  • Activity’ler genelde 3 durumda bulunur , bunlar ;
  1. Çalışır durumunda olan Activity ,
  2. Bekleme durumunda olan Activity ,
  3. Durdurulan Activity .

* Daha önce bir Activity nasıl olusturulur konusuna değinmiştim . Şimdi ise manifest.xml dosyasında Activity’mizi tanımlarken neler yapmalıyız ona bir bakalım .

  • Activity’ler mutlaka <application></application> tagları arasında tanımlanmalıdır .
    Geçerli Activity tanımı ;

    Geçersiz Activity tanımı , application tagının içinde olmalı ;
  • Activity’imizin mutlaka bir adı olmalı ve bu ad Java dosyamız ile aynı adı taşımalıdır !
    Dogru tanımlama ;

    Dogru tanımlama ;

    Yanlış tanımlama ;
  • Activity üzerinde intent-filter ile activity’mizi özel hale getirebiliriz , şöyle ki;

     <action ile activity’mizi MAIN , yani uygulamanın başlangıç noktası olarak ayarlamışız .
    <category olarak ise Launcher , bir uygulama oldugunu belirtmişiz .

 

* Şimdi ise Activity’lerimizin yaşam döngülerine bakalım . Öncelikle her insan için geçerli olan doğma-yaşama-ölme gibi özellikler Activity’ler içinde mevcuttur . Kulli nefsi zaikatul mevt oldugu gibi Activity‘ler de dogar , yaşar ve ölür .

* Öncelikle bir Activity’nin yaşam döngüsünü gösteren bir şema ile başlayalım ;

activity_lifecycle

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

* Şimdi bu methodların ne oldugunu , ne zaman çalıştıgını anlatmaya çalışalım ;

  • Activity’nin ömrü onCreate() ve onDestroy() methodları arasındadır .
  • Bir Activity için onDestroy() , onStop() yada onPause() methodu çalışmışsa , artık o Activity sistem tarafından ihtiyaç duyulması halinde yok edilmeye uygundur . Yok edilmez , edilmeye uygundur !
  • Her Activity mutlaka onCreate() methodunu implement eder .
  • onCreate() : Activity ilk defa çalışırken bu method çalışır . Bu method içerisinde ekran tasarımı setContentView() methodu ile yüklenir .
  • onRestart () : onCreate() methodunu takiben çalışmaya başlar . Aynı zamanda durdurulan Activity  daha sonra çalıştırılmak istendiğinde bu method çalışıtırılır .
  • onResume() : Activity artık kullanıcı ile etkileşime geçmek için hazırdır . Ön plan’da kullanıcı Activity ile işlemler yapabilir .
  • onPause()  : Eğer herhangi bir şekilde Activity’in onPause() methodu çalışırsa activity verileri kaydedilerek bekleme durumuna alınır . Bu durum , Activity çalışırken Android işletim sistemi tarafından beklemeye alınacagı gibi başka uygulamalardan gelen isteklerden dolayı da bekletilebilir .
    Activity eğer tekrar aktif duruma gelecekse onResume() methoduna dallanır . Dikkat edin onCreate() methodu bir defa olusturulur ve actvity ölene kadar sadece bir defa uygulamanın başında çağrılır .
  • onStop() : Activity bu methoda geldiginde artık durdurulmuştur . Bu noktadan sonra Activity için 2 seçenek bulunur .
  1. onRestart() methodu ile tekrar aktif hale geçebilir.
  2. onDestroy() methodu ile yok edilebilir .
  • onDestroy() : Activity bu methoddan sonra sizlere ömür . Bu method ile Activity sonlanmıştır . Activity için ayrılan bellek Android işletim sisteminin insiyatifindedir . Bellek durumuna göre silme durumunu gerçekleştirir .

 

* Şimdi ufak bir örnek ile Activity yaşam döngüsünü incelemeye çalışalım ;

* Olusturmuş oldugum bir örnekte , layout kısmı boş arkadaslar . Sadece Java yani Acitivity sınıfını paylaşıyorum ;

* Yukarıda görebileceğiniz üzere bazı methodları Override ettik . Bu methodlar çalıştıgında Log kaydı tuttuk .

* Log tutma olayına daha sonra değinicem arkadaslar , şimdilik Log.i(“Tag”,”Msg”); şeklinde bilmemiz yeterli . Burada ‘ i ‘ İnfo’un kısaltılmışı . Farklı türleri de var ancak şuanlık konumuz olmadıgından fazla oraya girmek istemiyorum .

* Activity durumuna göre LogCat’de çeşitli mesajları görebilirsiniz arkadaslar .

* Back(Geri) , Home(Ana) tuşlarına basıldıgında Activity’mizin durumu değişecek ve LogCat’de bunu görebilecegiz .

* Activity ilk defa çalıştıgında ;

ilkacılma

 

 

 

* Activity , bekletildiğinde , durduruldugunda ve tekrar çalıştıgında  ;

2014-06-14 01:01:09

 

 

* Activity öldüğünde ;

2014-06-14 01:01:27

 

 

 

* Daha fazla bilgi için lütfen buraya bakınız .

* Kaynak kodlar : ActivityLifecycle .

* Yazım burada bitti arkadaslar , bir sonraki yazıda görüşmek üzere .

* Mutlu kalın , Kod’la kalın ve bol bol Çay için

~ Alican Akkus

 

 

1684 Total Views 3 Views Today