Translate

17 Temmuz 2013 Çarşamba

Recreating an Activity - Bir Activity'yi Yeniden oluşturma

Kullanıcının geri tuşuna basması veya activity'nin finish() metodunu çağırması ile kendi kendini sonlandırması gibi bir activity'nin yok edilmesi ile ilgili birkaç senaryo vardır. Aynı zamanda activity sistemin uzun süre kullanılmamasından ve bellek gibi sistem kaynaklarının serbest bırakılmasını sağlamak için veya sistemin durdurulmuş olmasından da yok edilebilir.

9 Temmuz 2013 Salı

Stopping and Restarting an Activity - Bir Activity'yi Durdurma ve Yeniden Başlatma

Activity'yi düzgün olarak durdurup başlatabilmek, activity'nin yaşam döngüsü içinde kullanıcıların uygulamanın canlı olduğunu ve işlemleri sorunsuz bir şekilde yapabileceğıni algılamalarını sağlayan çok önemli bir işlemdir. Aslında uygulamayı durdurup başlatırken gerçekleşen sadece bir kaç senaryo vardır:

  • Kullanıcı halihazırda kullanılan uygulamalar penceresini açar ve başka bir uygulamadan sizin uygulamanıza geçebilir. Uygulamanızda o anda aktif olan activity durdurulur. Eğer kullanıcı ana ekrandaki uygulamanın simgesine tıklarsa veya tekrardan halihazırda kullanılan uygulamalar (recent apps) penceresinden uygulamanıza tekrar gelirse activity tekrar başlar.
  • Uygulamada yeni activity başlatan bir action kullanıcı tarafından oluşturulur.İkinci activity oluşturulduğunda o anki activity durdurulur. Eğer kullanıcı geri (back) butonuna basarsa birinci activity tekrar başlar.
  • Kullanıcı uygulamanızı telefonunda kullanırken bir arama alır.
Activity sınıfı iki tane yaşam döngüsü metodu sağlar. Bunlar onStop() ve onRestart() metodlarıdur. Bu metodlar özellikle activity'nin durduğunda ve geri başladığında neler yapacağını işler.Kısmen kullanıcı arayüzünü tıkayan Pause metodunun aksine, Stop durumu kullanıcı arayüzünün artık görünür olduğunu ve kullanıcı odağının ayrı bir activity'de olduğunu garanti eder.

Not: Sistem Activity durdurulduğunda activity instansını sistem belleğinde bıraktığı için, onStop() ve onResume() (hatta onStart()) metodlarını imlplement etmemeniz mümkün.  Nispeten basit olan çoğu activity için activity iyi olarak duracak ve tekrar başlayacaktır. Devam eden uygulamaları duraklatmak için ve sistem kaynaklarından (kamera, hoparlör gibi) kopmak için sadece onPause() metoduna ihtiyaç duyulabilir.
Şekil 1 - Kullanıcı activity'yi terk ettiğinde, sistem activity'yi durdurmak için onStop() 1  metodunu çağırır. Activity  durdurulduğunda kullanıcı activity'ye geri dönerse, sistem onRestart() 2 metodunu çağırır, ardından hızlıca onStart() 3 ve onResume() 4 metodları çağrılır. Dikkat edilmesi gereken nokta onStop() metodu çağrıkmadan önce activity'nin hangi senaryo ile durdurulduğunun bir öneminin olmadığıdır.

8 Temmuz 2013 Pazartesi

Pausing and Resuming an Activity - Bir Activirt'yi Duraklatma ve Devam Ettirme

Normal bir uygulama kullanımı esnasında, bazen öndeki activity, activitynin duraklamasına sebep olan görsel bileşenler tarafından tıkalıdır. Örneğin yarı saydam bir activity açıldığında (dialog stilleri gibi), bir önceki activity duraklar. Activity kısmen görünür olduğunda ama bu aktiviteye odaklanılmadığı sürece duraklatılmış olarak kalır.

Ancak, activity tamamen tıkalı ve görünmez olduğunda, durmaktadır.

Activity duraklatma(paused) durumuna girdiğinde, sistem duraklatıldığında devam etmemesi gereken (bir video gibi) action'ları durdurmak için veya kullanıcının uygulamadan çıkmaya devam etmesi için kalıcı olarak kaydetmesi gerektiği durumlarda activity'deki onPause() metodunu çağırır. Pause durumundan kullanıcı uygulamanıza geri döndüğünde sistem devam eder ve onResume() metodunu çağırır.

Not: Activity onPause() çağrısı aldığında, bir süreliğine activity'nin duracağını ve kullanıcının activity'ye tekrar döneceğini gösteren bir işaret olabilir. Ancak, bu ilk olarak kullanıcının uygulamanızı terk ettiğine dair bir işarettir.
Şekil 1 - Yarı saydam bir activity, activity'nizi gizlediğinizde, sistem onPause() metodunu çağırır ve activity Pause durumunda bekler(1). Eğer kullanıcı pause durumundayken activity'ye döner ise sistem onResume() metodunu çağırır.

3 Temmuz 2013 Çarşamba

Starting an Activity - Bir Activity Başlatma

Uygulamaların main metodu ile başlatıldığı diğer programlamara benzemeyen Android sistemi kodu yaşam döngüsü (lifecycle) aşamalarına karşılık olan özel geri çağrı(callback) metodlarının yürütülmesi sayesinde Activity örneği ile başlar. Bir Activity'yi başlatırken ve bitirirken kullanılan bir dizi callback metodu bulunmaktadır.

Understand The Lifescycle Callbacks - Yaşam Döngüsü Geri Çağrılarını Anlama

Bir Activity'nin yaşam döngüsü boyunca, sistem bir piramide benzeyen bir dizi yaşam döngüsü metodu çağırır. Diğer bir deyişle, activity yaşam döngüsünün her aşamasında piramit üzerinde ayrı bir adıma sahiptir. Sistem yeni bir Activity örneği oluşturduğunda, her callback metodu activity durumunu bir adım yukarı doğru taşır. Piramidin tepesi activity'nin en önde çalıştığı ve kullanıcının onunla meşgul olduğu noktadır.

Kullanıcı Activity'den ayrılmaya başladığında, sistem  activity'yi bitirmek için tekrardan piramidin altına taşıyacak olan diğer metodları çağırır. Bazı durumlarda, activity kısmen taşınacak ve bekleyecektir (örneğin kullanıcı başka bir uygulamaya geçtiğinde), activity bu noktadan tekrar üste gelebilir ve kullanıcı kaldığı yerden devam edebilir.
Şekil 1 - Activity yaşam döngüsünün basit bir görünümü piramit yapısı ile ifade edilmiştir. Bu şekil bir activity'nin duraklatıldığında ve tekrar devam ettirildiğinde veya bitirilip tekrardan başlatıldığında nasıl bir yaşam döngüsüne girdiğini gösteriyor.

Managing the Activity Lifecycle - Activity Yaşam Sürecini Yönetme

Bir kullanıcı uygulamanızda gezinirken, uygulamanızdan çıkarken ve tekrar uygulamanıza döndüğünde uygulamanızdaki Activity instansları yaşam süreleri boyunca farklı durumlar arasında geçiş yaparlar. Örneğin, activity'niz ilk defa başlatıldığında sistemde en öne gelir ve kullanıcının dikkatini çeker. Bu işlem sırasında Android sistemi activity içinde bulunan, kullanıcı ara yüzünü ve diğer bileşenleri ayarlamak için, bir dizi yaşam süreci (lifescyle) metodu çağırır. eğer kullanıcı başka bir activity başlatırsa veya yeni bir uygulamaya geçerse, sistem uygulama arka plana gider gitmez activity'nizde bulunan başka yaşam süreci (lifescyle) metodlarını çağırır. (bunun için activity'nin artık görünmez ve durumunun bızulmamış olması gereklidir)

1 Temmuz 2013 Pazartesi

Starting Another Activity - Başka Bir Activity Başlatma

Starting Another Activity - Başka Bir Activity Başlatma

Önceki yayınımızdaki işlemleri tamamladığınızda bir butona ve textfield a sahip bir activity gösteren bir uygulama yapmış oldunuz. Bu yayınımızda MainActivity'ye yeni kodlar ekleyerek gönder butonuna bastığınızda yeni bir activity'yi nasıl başlatacağınızdan bahsedeceğiz.

Building a Simple User Interface - Basit bir Kullanıcı Arayüzü oluşturma

Building a Simple User Interface - Basit bir Kullanıcı Arayüzü oluşturma

Android'de grafik kullanıcı arayüzü View ve ViewGroup nesnelerini kullanan bir hiyerarşik yapı içerisinde oluşturulur. View nesneleri textfield veya butonlar gibi kullanıcı arayüzü bileşenlerinden oluşur, ViewGroup nesneleri ise View nesnelerinin nasıl görüntüleneceğini belirleyen grid veya dikey liste gibi görünmez konteyner nesnelerinden oluşur.