Android Activity Sınıfı
Merhaba arkadaşlar bugün Activity sınıflarını inceleyeceğiz .Önce bir Android projesinin mimarisini genel olarak gözlemleyelim:
Activity sınıfı tarafından oluşturulan nesneler uygulama içinde kullanılan ekranları temsil ederler. Kullanıcı yeni bir ekrana geçtiğinde Context.startActivity metoduyla bu ekran başlatılır. Eğer yeni Activity,AndroidManifest dosyasında tanımlı değilse uygulamamız çökecektir.
<activity android:name=".MainActivity" android:label="@string/title_activity_main" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
Her uygulamanın LAUNCHER olarak tanımlı bir Activity sınıfı olmalıdır. Bu şekilde tanımlanmış birActivity, uygulama ilk açıldığında otomatik olarak harekete geçer ve kullanıcının karşısına çıkan ilk ekran olur.
Activity dosyaları ilk çalıştıklarında onCreate metodu devreye girer. Bu metotta genel olaraksetContentView metodu çalıştırılarak bir layout dosyasından ekran tasarımı yüklenir. Eğer ekran ilk oluştuğunda tanımlanması gereken başka değişkenler ve aksiyonlar varsa, onlar da onCreate metodu içinde gerçekleştirilebilirler.
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); new LoadDatabaseTask().execute((Void) null); }
onCreate dışında bir Activity’nin yaşam döngüsü içerisinde başka metotlar da harekete geçirilir. Bu metotları sıralarsak;
- onCreate : Activity ilk oluşturulduğunda çağırılır. Activity herhangi bir nedenden ötürü yok edilmezse (bellek ihtiyacı ya da finish metodu) bir daha çalıştırılmaz pop over here.
- onStart : onCreate metodu çalıştırılıp görsel öğeler oluştuktan sonra çağırılır.
- onResume : Activity herhangi bir sebepten dolayı durdurulduysa (başka bir ekrana geçiş) tekrar ekrana geldiğinde bu metot harekete geçer. Activity çalıştırılmadan önce harekete geçen son metottur. Bu metottan sonra belirlenen koda göre Activity yaşamına başlar.
- onPause : Activity bir sebepten dolayı arka plana atılırsa harekete geçer. Bu Back tuşuna basılmasından ya da sistemin bellek ihtiyacından kaynaklanabilir. Bu metot içerisinde anlık bilgilerin kaydedilmesi önerilir. onPause işlemi hızlı çalışmak zorundadır, çünkü buradaki işlem bitmeden bir sonraki Activity harekete geçmez.
- onStop : Activity arka plana atıldığı anda işleme girer. Bu noktada iki seçenek vardır; ya kullanıcı yeni ekrandaki işini bitirip geri gelir ya da Activity tamamen kapatılır. Kullanıcı geri geldiği takdirdeonRestart metoduna geçilir ve döngü onStart metodundan tekrar başlar. Eğer kullanıcı geri gelmeyecekse onDestroy metodu çalıştırılır.
- onDestroy : Activity’e ait bütün kaynaklar yok edilir. Activity bu noktada yaşam döngüsünü tamamlamıştır.
Yukarıdaki metotlar bir Activity’nin yaşamını kontrol etmemize yardımcı olur. Özellikle kullanıcı bir ayarı kaydediyorsa ya da oyun oynuyorsa ve bu sırada bir telefon konuşması başlayacaksa anlık durumları kaydetmemiz için bu metotların çalışma esaslarını bilmeliyiz.
Herhangi bir ekranın Activity sınıfı tarafından oluşturulması yeterlidir. Ancak bunun yanında Android işletim sistemi, sık kullanılan ekranlara özel Activity sınıfları sağlar. Bunlara göz atarsak;
- ListActivity : Bir veritabanındaki veriyi listelemek ya da sunucudan gelen veriyi kullanıcıya göstermek, uygulamalarda oldukça sık rastlanan işlemlerdir. Bunun için Android işletim sistemi bizeListActivity sınıfını sunar. Standart bir layout dosyasından oluşturulan bu ekran sayesinde elimizdeki veriyi oldukça rahat bir şekilde görüntüleyebiliriz.
- MapActivity : Harita uygulamaları için sık kullanılan bir Activity tipidir. Google Maps haritaları üzerinde işlem yapacağımız bir uygulamamız varsa bu Activity bize yardımcı olacaktır.
- PreferenceActivity : Android işletim sistemine benzer bir kullanıcı ayar menüsü yapmayı hedefliyorsak, PreferenceActivity’den faydalanabiliriz. PreferenceActivity layout dosyasında vereceğimiz yapıya göre sunulan seçenekleri alt kategorilerle ekrana getirir. Aynı zamanda kullanıcının saklayacağı değerleri, her değere özel bir anahtar atayarak (key – value) bellekte otomatik olarak saklar.
İlerleyen bölümlerde yer alan örneklerde, bu Activity’leri kullanarak uygulamaların ekranları oluşturucağız.
About Post Author
Tags: activity, android dersi