Android Programlama – Activity Nedir ?

Android Programlama Eğitimi

Giriş

Bu bölümde, uygulamanızın kullanıcı arayüzünün (UI) ana yapı taşı olan Activity sınıfı hakkında bilgi edineceksiniz. Ayrıca, bir etkinlikten diğerine iletişim kurmak için bir Intent kullanı mı hakkında kısa bir giriş yapacağız.

Activityler Hakkında

Bir activity(etkinlik) kullanıcı ile etkileşime girebilir bir arayüz ile uygulamanızda tek bir ekran temsil eder. Örneğin, bir e-posta uygulamasında yeni e-postaların listesini gösteren bir etkinlik, e-posta oluşturmak için başka bir etkinlik ve iletileri tek tek okumak için başka bir etkinlik olabilir. Uygulamanız muhtemelen kendi oluşturduğunuz veya diğer uygulamalardan yeniden kullandığınız bir etkinlik koleksiyonudur.

Uygulamanızdaki etkinlikler, uyumlu bir kullanıcı deneyimi oluşturmak için birbirleriyle çalışsa da, her etkinlik diğerlerinden bağımsızdır. Bu, uygulamanızın başka bir uygulamada etkinlik başlatmasını sağlar ve diğer uygulamaların uygulamanızdaki etkinlikleri başlatmasını sağlar (uygulamanız buna izin veriyorsa). Örneğin, bir mesajlaşma uygulaması fotoğraf çekmek için kamera uygulamasında bir etkinlik başlatabilir, ardından kullanıcının resmi e-postada paylaşmasına izin vermek için bir e-posta uygulamasında bir etkinlik başlatabilir.

Örnek Activityler

Genellikle, Activity bir uygulamada biri “Main” etkinlik olarak belirtilir. örn: MainActivity. Kullanıcı, uygulamayı ilk kez başlattığında ana etkinliği görür. Her etkinlik, farklı eylemler gerçekleştirmek için diğer etkinliklere başlayabilir.

Her yeni etkinlik başlatıldığında, önceki etkinlik durdurulur, ancak sistem bir yığındaki etkinliği (“arka yığın”) korur. Kullanıcı geçerli etkinlikle işini bitirip Geri düğmesine bastığında, etkinlik yığından açılır ve yok edilir ve önceki etkinlik devam eder.

Bir etkinlik, yeni bir etkinlik başladığı için durdurulduğunda, ilk etkinlik, etkinlik yaşam döngüsü geri arama yöntemleri aracılığıyla bildirilir. Etkinlik yaşam döngüsü Activity’i durdurduktan veya yeniden yarattığında ve sistem etkinliği öldürdüğünde yada ne zaman etkinliği ilk olarak oluşturulduğunda gibi geri arama yöntemleriyle bu süreçler ele alınır. Etkinlik yaşam döngüsü hakkında daha sonraki bir bölümde daha fazla bilgi edineceksiniz.

Etkinlik Oluşturma

Uygulamanıza bir Activityuygulamak için aşağıdakileri yapın:

  • Bir ActivityJava sınıfı oluşturun .
  • ActivityXML mizanpaj dosyasında için temel bir kullanıcı arayüzü uygulayın .
  • AndroidManifest.xmldosyasına yeni Activity’i beyan edin.

Uygulamanız için yeni bir proje oluşturduğunuzda veya Dosya> Yeni> Etkinlik’i seçerek uygulamanıza yeni bir Activity eklediğinizde , şablon otomatik olarak yukarıda listelenen adımları gerçekleştirir.

Etkinlik Oluşturun

Android Studio’da yeni bir proje oluşturup Geriye Dönük Uyumluluk (AppCompat) seçeneğini seçtiğinizde, MainActivity varsayılan olarak AppCompatActivity sınıfının bir alt sınıfıdır. AppCompatActivity sınıfı, uygulamanızın Android’in eski sürümlerini çalıştıran cihazlarla uyumlu olmasını sağlarken, uygulama çubuğu ve Materyal Tasarımı gibi güncel Android uygulama özelliklerini kullanmanızı sağlar.

İşte AppCompatActivity’nin iskelet alt sınıfı:

public class MainActivity extends AppCompatActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
   }
}

Uygulamanızın uygulaması gereken zorunlu geri arama yöntemi onCreate () yöntemidir. Sistem, Etkinliğinizi oluştururken bu yöntemi çağırır ve Etkinliğinizin tüm temel bileşenleri burada başlatılmalıdır. En önemlisi, onCreate () yöntemi, Etkinlik için birincil düzen oluşturmak üzere setContentView () yöntemini çağırır.

Etkinliğiniz için kullanıcı arayüzünü bir veya daha fazla XML düzen dosyasında tanımlarsınız. Bir mizanpaj dosyasının yolu ile setContentView () yöntemi çağrıldığında, sistem belirtilen mizanpajdaki tüm ilk görünümleri oluşturur ve bunları Aktivitenize ekler. Buna genellikle yerleşimin şişirilmesi denir.

Ayrıca, Etkinliğinizde onPause () yöntemini uygulamak da isteyebilirsiniz. Sistem bu yöntemi kullanıcının Etkinliğinizden ayrıldığının ilk göstergesi olarak adlandırır (ancak her zaman Etkinliğin yok edildiği anlamına gelmez). Bu genellikle, geçerli kullanıcı oturumunun ötesinde kalıcı olması gereken değişiklikleri yapmanız gereken yerdir (çünkü kullanıcı geri gelmeyebilir). Daha sonraki bir bölümde onPause () ve diğer tüm yaşam döngüsü geri çağrıları hakkında daha fazla bilgi edinebilirsiniz.

Yaşam döngüsü geri çağrılarına ek olarak, Etkinliğinizde kullanıcı girişi veya düğme tıklamaları gibi diğer davranışları ele almak için yöntemler de uygulayabilirsiniz.

Etkinliğin kullanıcı arayüzünü uygulayın

Bir etkinliğin kullanıcı arabirimi, etkinlik penceresindeki belirli bir alanı denetleyen ve kullanıcı etkileşimine yanıt verebilen bir Görünüm öğeleri hiyerarşisi tarafından sağlanır.

Görünüm öğelerini kullanarak bir kullanıcı arayüzü tanımlamanın en yaygın yolu, uygulamanızın kaynaklarının bir parçası olarak depolanan bir XML mizanpaj dosyasıdır. XML’de düzeninizi tanımlamak, kullanıcı arayüzünüzün tasarımını etkinlik davranışını tanımlayan kaynak kodundan ayrı olarak korumanıza olanak tanır.

Ayrıca, ViewGroup’a yeni View nesneleri ekleyip kök ViewGroup’u setContentView () öğesine geçirerek doğrudan etkinlik kodunuzda yeni Görünüm öğeleri oluşturabilirsiniz. Düzeniniz kaynağından bağımsız olarak şişirildikten sonra, Görünüm hiyerarşisinde herhangi bir yere daha fazla Görünüm öğesi ekleyebilirsiniz.

AndroidManifest.xml’de Etkinliği Bildirin

Uygulamanızdaki her Etkinlik AndroidManifest.xml dosyasında bölümü içinde öğesi ile bildirilmelidir. Android Studio’da yeni bir proje oluşturduğunuzda veya projenize yeni bir Etkinlik eklediğinizde, AndroidManifest.xml dosyası her Etkinlik için iskelet bildirimlerini içerecek şekilde oluşturulur veya güncellenir. MainActivity için bildirim:

<activity android:name=".MainActivity" >
   <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
</activity>

<activity> öğesi, Etkinliğin etiketi, simgesi veya teması gibi özelliklerini tanımlamak için bir dizi özellik içerir. Gereken tek nitelik, Etkinlik için sınıf adını belirten android: name‘dir (MainActivity gibi). Etkinlik bildirimleri hakkında daha fazla bilgi için <activity> öğesi referansına bakın.

<activity> öğesi, Niyet filtreleri için bildirimler de içerebilir. Amaç filtreleri, Etkinliğinizin kabul edeceği Niyeti belirtir.

<intent-filter>
   <action android:name="android.intent.action.MAIN" />
   <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

Amaç filtreleri en az bir <action> öğesi içermelidir ve ayrıca bir <category> ve isteğe bağlı <data> içerebilir. Uygulamanızın MainActivity’si, sistemin uygulamanızı başlatabilmesi için “ana” işlemi ve “başlatıcı” kategorisini tanımlayan bir Niyet filtresine ihtiyaç duyar. Android Studio, projenizdeki MainActivity için bu Amaç filtresini oluşturur.

<action> öğesi bunun uygulamanın “ana” giriş noktası olduğunu belirtir. <category> öğesi, bu Etkinliğin sistemin uygulama başlatıcısında listelenmesi gerektiğini belirtir (kullanıcıların bu Etkinliği başlatmasına izin vermek için).

Uygulamanızdaki her Etkinlik de Niyet filtreleri bildirebilir, ancak yalnızca MainActivity’niz “ana” eylemi içermelidir. Daha sonraki bir bölümde, örtük bir Amaç ve Amaç filtreleri kullanma hakkında daha fazla bilgi edinebilirsiniz.

Projenize başka bir Etkinlik ekleyin

Uygulamanız için MainActivity ve ilişkili düzen dosyası, Android Studio’daki Boş Etkinlik veya Temel Etkinlik gibi bir Etkinlik şablonu tarafından sağlanır. Dosya> Yeni> Etkinlik’i seçerek projenize yeni bir Etkinlik ekleyebilirsiniz. Kullanmak istediğiniz Etkinlik şablonunu seçin veya mevcut tüm şablonları görmek için Galeri’yi açın.

Yeni Activity oluşturma

Bir Activityşablon seçtiğinizde , projeyi oluştururken yaptığınız yeni etkinliği oluşturmak için aynı ekran kümesini görürsünüz. Android Studio, uygulamanızdaki her yeni etkinlik için üç şey sunar:

  • Activityİskelet sınıfı tanımı ve onCreate()yöntemi ile yeni bir Java dosyası . Yeni ActivityMainActivity AppCompatActivity ‘nin bir alt sınıfıdır.
  • Yeni etkinliğin düzenini içeren bir XML dosyası. Sınıftaki setContentView()yöntemin Activity‘nin bu yeni düzeni şişirdiğini unutmayın .
  • Dosyada yeni etkinliği belirten ek bir <activity>öğesi AndroidManifest.xml dosyasında tanımlanır. İkinci Activitytanımı hiçbir Intentfiltre içermez . Bu etkinliği yalnızca uygulamanızda kullanmayı planlıyorsanız (ve bu etkinliğin başka bir uygulama tarafından başlatılmasını etkinleştirmiyorsanız), filtre eklemenize gerek yoktur.

Son

Bir sonraki yazımda Temel Intent konseptini ele alacağız.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir