15 Haziran 2012 Cuma

Android Activity Sınıfı

Android Aktiviteleri

Hesap Makinesi örneğinde android aktivitelerinden kısa bir şekilde bahsetmiştim. Bu önemli bir konu olduğundan burda biraz daha detaylı olarak bahsetmek istiyorum. Daha öncede belirttiğim gibi, Android uygulamarı'nın klasik java uygulamalarından farkı main methodu kullanmaması ve activity, view, sqliteopenhelper gibi superclasslardan türetiliyor olması. Şu an için sadece activity super class'ından bahsedeceğim.

Aktiviteler android uygulamalarının sunum tabakasıdır. Uygulamalardaki her ekran bir activity sınıfından türetilmiştir. Bu sınıftan türetilen sınıflarda kullanıcı arayüzünü oluşturmak için View'lar kullanılır. Daha sonra View'lardan bahsedeceğim.

Akitivite Yaşam Döngüsü

Uygulamada çalıştırılan her aktivite birer Stack(yığın) üzerinde LIFO(Last-In First-Out) şeklindedepolanır.
Yandaki şekilde daha iyi bir şekilde çalışma yapısı görülmektedir. Son çağrılan aktivite her zaman en üste yerleştirilir. Yalnız önemli olan nokta, Aktivite Stack'inde bir önceki aktiviteye geri dönüldüğünde son aktiviteniz stackten yok edilir ve bir önceki aktivite son aktiviteniz olur.










Activity Sınıfı Methodları

Yandaki şekilde bir Aktivite'nin nasıl çalıştığı görüşmektedir. Hesap Makinesi örneğinden hatırlayacağınız gibi Aktivite sınıfımızda onCreate() methodu'nu override etmiştik. Şekildende anlaşıldığı gibi aktivite sınıfı sadece onCreate() methodun'dan oluşmamaktadır.

onPause() methodu: Bu method aktivite'nizden başka bir aktiviteyi çağırdığınızda çalışır. Çağırma işlemini gerçekleştiğiniz aktivite çalışmasını durdurur ve stack'te korunmaya başlanır. Çağırdığınız aktivite'nin ise onCreate() methodu çalıştırılarak stack'te en üste yerleşir.
onDestroy() methodu: Bu method stackteki en üst aktivite'den bir önceki aktiviteye geçiş yapıldığında çalışır ve o aktiviteyi tamamen stack üzerinden siler.
onResume() methodu:Bu method yine en üst aktiviteden bir önceki aktiviteye geçiş yapıldığında çalıştırılır. Burda bir örnek verecek olursak.
A ve B isimli iki aktiviteniz olduğunu varsayalım ve A aktivitesi B aktivitesini çağırmakta. Şimdi Stack'in en üstünde B aktivitesi bulunmakta. Bir önceki, yani A aktivitesine geçiş yapıldığına önce B aktivitesine ait onDestroy() methodu çalıştırılarak B aktivitesi silinir. Daha sonra da A aktivitesine ait onResume() methodu çalıştırılarak A aktivesi son kaldığı durumdan itibaren tekrar stack'te en üste yerleşerek çalışmasına devam eder.

Aktivite Sınıfımız şimdilik bu kadar, ilerleyen yazılarımda bir aktiveden diğer bir aktiviteye nasıl geçiş yapılacağını ve nasıl veri gönderileceğinden bahsedeceğim.

Hiç yorum yok:

Yorum Gönder