e
sv

Kotlin ile Android uygulamalarında etkinlik durumu ve parça yaşam döngüsü

avatar

Yazılım Method

  • e 0

    Mutlu

  • e 0

    Eğlenmiş

  • e 0

    Şaşırmış

  • e 0

    Kızgın

  • e 0

    Üzgün

Modern Android geliştirmede, etkinlik durumu ve parça yaşam döngüsü, son kullanıcılar tarafından görüntülenen ve deneyimlenen nihai çıktının yanı sıra uygulama kararlarını da etkileyen çok önemli bir rol oynar. Bu makalede, bu kavramların ne olduğunu, nasıl çalıştıklarını ve bunları bir Android uygulamasında uygulamak için hangi adımların izlenmesi gerektiğini inceleyeceğiz.

Bu öğreticiyi takip etmek için, yüklü Android Studio veya IntelliJ IDE'nin yanı sıra Kotlin programlama dili hakkında temel bilgilere ihtiyacınız olacak. Başlayalım!

etkinlik durumu nedir?

Bir aktivite , bir kullanıcının gerçekleştirebileceği tek bir eylemi ifade eder. Android geliştirmede etkinlik, istediğiniz herhangi bir görevi gerçekleştirmek için farklı uygulama durumlarında tetiklenebilen önceden tanımlanmış bazı işlevlere sahip bir Java sınıfıdır. Etkinlik, uygulamanın yaşam döngüsünün diğer durumlarının oluşturulmasından, yok edilmesinden ve kontrolünden de sorumludur.

Bir aktivite sınıfı , sizin için bir pencere oluşturmak gibi birçok hesaplama detayını işler.

Android'de birden fazla etkinlik olabilir, ancak yalnızca bir MainActivity vardır, bu da uygulamanın girişidir, tıpkı main() yönteminin Java'da bir programın yürütülmesini başlatması gibi. MainActivity sınıfını çağırdığımızda, yürütme onCreate() yöntemiyle başlar.

Tüm etkinliklerin alt sınıfı iki yöntem uygular:

  • onPause : Kullanıcının etkinlikle aktif etkileşimi duraklatmasını sağlar
  • onCreate : Aktivitelerinizi başlatır. setContentView() programlı olarak çağırmanız gerekecek

Bunu aşağıdaki kod parçasında ifade edebiliriz. Bir etkinlik oluşturmak veya başlatmak için onCreate yöntemini, süper sınıf oluşturucuyu çağırmak için super anahtar sözcüğünü ve son olarak XML'i ayarlamak için setContentView kullanırız:

 paket com.example.myfirstandroidapplication

android.os.Bundle'ı içe aktar
com.google.android.material.snackbar.Snackbar'ı içe aktar
androidx.appcompat.app.AppCompatActivity'yi içe aktar
androidx.core.view.WindowCompat'ı içe aktar
androidx.navigation.findNavController'ı içe aktar
androidx.navigation.ui.AppBarConfiguration'ı içe aktar
androidx.navigation.ui.navigateUp'ı içe aktar
androidx.navigation.ui.setupActionBarWithNavController'ı içe aktar
android.view.Menu'yu içe aktar
android.view.MenuItem'i içe aktar
com.example.myfirstandroidapplication.databinding.ActivityMainBinding'i içe aktar

sınıf MainActivity : AppCompatActivity() {

    private lateinit var appBarConfiguration: AppBarConfiguration
    private lateinit var bağlama: ActivityMainBinding

    eğlenceyi geçersiz kıl onCreate(savedInstanceState: Bundle?) {
        WindowCompat.setDecorFitsSystemWindows(pencere, yanlış)
        super.onCreate(savedInstanceState)

        bağlama = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)

        setSupportActionBar(binding.toolbar)

        val navController = findNavController(R.id.nav_host_fragment_content_main)
        appBarConfiguration = AppBarConfiguration(navController.graph)
        setupActionBarWithNavController(navController, appBarConfiguration)

        bağlayıcı.fab.setOnClickListener { görünüm ->
            Snackbar.make(görünüm, "Kendi işleminizle değiştirin", Snackbar.LENGTH_LONG)
                .setAnchorView(R.id.fab)
                .setAction("Eylem", null).show()
        }
    }

    eğlenceyi geçersiz kıl onCreateOptionsMenu(menü: Menü): Boolean {
        // Menüyü şişirin; bu, varsa, eylem çubuğuna öğeler ekler.
        menuInflater.inflate(R.menu.menu_main, menü)
        doğru dön
    }

Etkinlik durumu , sistem veya kullanıcılar tarafından tetiklenen ve bir etkinliğin bir durumdan diğerine geçişiyle sonuçlanan olayları ifade eder.

Örneğin, bir kullanıcı bir uygulamada etkin olduğunda, genellikle ana sayfalarında uygulamanın simgesini tıklamak, uygulamayı başlatmak ve ardından son olarak uygulamadan çıkmak arasında geçiş yaparak durum değişikliklerine neden olur. Bir durumdan diğerine bu değişiklikler, etkinlik durumu değişikliği olarak bilinir.

Faaliyet yaşam döngüsü nedir?

Bir sistemde meydana gelen aktivite değişiklikleri aktivite yığınlarında yönetilir. En son aktivite genellikle mevcut yığının üstüne yerleştirilir ve önceki aktivite yığında altında kalırken çalışan aktivite olur.

Etkinlik yaşam döngüsü , bir kullanıcının uygulamayı başlatmadan tüm işlemleri kapatmaya kadar gerçekleştirdiği tüm etkinliği ifade eder. Birkaç aktivite yöntemi, bir aktivitenin tüm yaşam döngüsünü tanımlar. Birincisi, onCreate() , uygulamanın kullanıcı tarafından başlatıldıktan sonraki ilk durumudur. Aşağıdaki kod parçacığı, onCreate() yönteminin sözdizimini gösterir:

 korumalı geçersiz onCreate()

onPause() , kullanıcı uygulamadan çıkmak veya uygulamayı kullanmaya devam etmek arasında bir sonraki eylem satırına karar vermek üzereyken duraklatılmış bir durumdur:

 korumalı boşluk onPause()

onStart() durumu, etkinlik duraklatılmış durumdan devam edip kullanıcıya görünür hale getirildiğinde çağrılır:

 korumalı geçersiz onStart()

onDestroy() , tüm faaliyetlerin kapatılmasıyla sonuçlanan ve tüm işlemlerin kapatılmasıyla sonuçlanan bir durumdur:

 korumalı geçersiz onDestroy()

onStop() , kullanıcının genellikle uygulamayı en aza indiren ana sayfa düğmesine tıklamasından kaynaklanan durumdur. Bu, uygulama kapalıyken karıştırılmamalıdır:

 korumalı geçersiz onStop()

onResume() , bir aktivite durdurulduktan sonra yeniden başladığında çağrılan bir geri aramadır. Bu yöntemin sözdizimi aşağıdaki kod parçacığında gösterilmiştir:

 korumalı geçersiz onResume()

Yukarıda listelenen yöntemler, etkinlik kullanıcı arabirimi durumunun yapılandırmasını korumak için saveInstanceState() yöntemiyle birlikte çalışır:

 public class Activity, ApplicationContext'i genişletir {
      korumalı void onCreate(Bundle saveInstanceState);

      korumalı geçersiz onStart();

      korumalı geçersiz onRestart();

      korumalı geçersiz onResume();

      korumalı geçersiz onPause();

      korumalı geçersiz onStop();

      korumalı geçersiz onDestroy();
  }

Parça yaşam döngüsü nedir?

Parça, bir etkinliğin kullanıcı arayüzünün, Android uygulamamızda birden çok ekran oluşturmamıza izin veren bölümünü ifade eder. Parçalar, tabletler gibi büyük ekranlarda daha esnek bir UI tasarımını desteklemek için Android v3.0'da tanıtıldı. Android'in yazıldığı sırada en son sürümü olan v12.x, daha etkileyici ve dinamik bir sistem kullanıcı arayüzü gibi ekstra özellikler içerir .

Bir uygulamada birden çok ekran oluşturmak için izleyebileceğimiz bir yaklaşım, bir parçayı diğeriyle değiştirmektir.

Etkinlik durumu ve parça yaşam döngüsü arasındaki ilişki

Faaliyetler genellikle işletim sisteminin uygulamaya giriş noktası olarak kabul edilir. Bir Android uygulamasında etkinlik, birden fazla parça ve işlev içerebilir. Bunlar, UI parçasını içeren ve parçayı çevreleyen UI öğeleri sağlayan bir çerçeve görevi görür.

Bir aktivite parçası olmadan var olabilirken, aktivite olmadan bir parçayı kullanamazsınız. Kullanıcı arabirimi parçaları, etkinliğin düzeni içinde bir görünüm gibi çalışır. Bunu başarmak için aşağıdaki kodda olduğu gibi bir alt sınıf oluşturmalısınız:

 class InfoFragment: Fragment{
@override fun onCreateView(...): Görüntüle? {
     dönüş şişirme.inflate (
      R.layout.fragment_info,...)
  }
}

Yukarıdaki kod parçacığı, parçanın düzenini şişiren UI mantığını içeren yeniden kullanılabilir bir UI bileşenini gösterir. Çoğu UI öğesi parçada uygulanırken, işletim sistemi yalnızca etkinlikleri açabilir.

Etkinlik içinde, onCreate içinde setContentView çağırarak Android'e hangi düzeni kullanacağını söyleyebileceğinizi unutmayın. Parçadayken, onCreate yönteminden bağımsız olan onCreateView yöntemi içinde şişirilmiş düzeni manuel olarak şişirmeniz ve döndürmeniz gerekir.

Aşağıdaki kod parçacıkları bu noktayı daha da vurgulamaktadır:

 // Aktivite 
eğlenceyi geçersiz kıl onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
  val bağlama = DataBindingUtil
  .setContentView<ActivityMainBinding> (
  bu, R.layout.activity_main)
  ...
}
 // Parça
eğlenceyi geçersiz kıl onCreateView (...): Görüntüle? {
  dönüş şişirme.inflate (
  R.layout.fragment_message,...)
}

Aktiviteler context sınıfından miras alırken, parçalar almaz. Dizeler veya resimler gibi context tarafından erişilebilen uygulama verilerine erişmek için bir parça içindeki context özelliğini kullanmanız gerekir.

 // Aktivite 
public class ActivityCompat, ContextCompat'ı genişletir
 //parça
açık sınıf Fragment: componentCallbacks
 bağlam!!.getString(R.string.app_name)
 bağlam!!.getDrawable(R.drawable.ic_launcher_background

Android'de farklı etkinlikler arasında gidip gelebilirsiniz. Bunlar, back stack adı verilen yığın izinin en üstünde en son etkinlik olacak şekilde bir yığın halinde düzenlenirler.

Parçaların benzer bir back stack vardır, ancak yığının tamamı etkinlik içinde bulunur. Bu, daha sonra inceleyeceğimiz FragmentManager olarak bilinen bir sınıf tarafından kontrol edilir.

FragmentManager ve parça yaşam döngüsü durumu

Android uygulama geliştirmede, uygulamanın geçtiği durum geçişinden FragmentManager ve parça yaşam döngüsü sorumludur.

Bir parça her zaman INITIALIZED bir durumda somutlaştırılarak başlar. Bu parçanın yaşam döngüsündeki farklı durumlar boyunca geçiş yapması için FragmentManager eklenmesi gerekir. FragmentManager , parçasının hangi durumda olması gerektiğini ve parçanın maksimum durumunu belirler.

Tıpkı bir aktivite gibi, parçaların da kendi yaşam döngüleri vardır. Bir kullanıcı bir Android uygulamasıyla etkileşime girdiğinde, parça, aşağıdakiler de dahil olmak üzere yaşam döngüsündeki farklı durumlar arasında geçiş yapar:

  • INITIALIZED
  • CREATED
  • STARTED
  • RESUMED
  • DESTROYED

Ancak, parçalar hakkında bilgi edinmenin en iyi yolu onları uygulamaktır.

Android uygulamasına parçalar oluşturma ve ekleme

Bir parça oluşturmak için aşağıdaki adımları izleyeceğiz:

  1. Dosya'yı seçin ve Yeni'ye tıklayın
  2. Açılır menüden Fragment and Fragment (Boş) seçeneğine tıklayın
  3. Parçanın adı için TitleFragment kullanın
  4. Düzen XML oluştur seçeneğinin işaretini kaldırın
  5. Parça fabrika yöntemlerini dahil et seçeneğinin işaretini kaldırın
  6. Arayüz geri aramalarını dahil et seçeneğinin işaretini kaldırın
  7. Bitirmeyi seçin

Bir parça oluşturduktan sonra, parçayı uygulamanıza eklemeniz gerekir. Bir parça eklemek için, önce linear düzeni tıklayın ve activity_main.xml düzeninden bir parça etiketi oluşturun. Bu parçaya bir fragment id ve parça sınıfının tam yoluna bir android:name verin. Son olarak, düzen genişliğini ve yüksekliğini match_parent olarak ayarlayın ve hazırsınız!

Çözüm

Bu öğreticide, Kotlin programlama dilini kullanan bir Android uygulamasında etkinlik durumu ve parça yaşam döngüsü hakkında bazı temel ve gelişmiş kavramları ele aldık.

Parçalar, modülerliği ve kodun yeniden kullanımını destekleyerek birçok aktivitede aynı liste görünümünü kullanmamıza izin verir. Ayrıca, Android tablet cihazlar için çok bölmeli arayüzler oluşturmak için de faydalıdırlar. Öte yandan, etkinlik durumu yaşam döngüsü, Android uygulamasının yedi durumu boyunca nasıl davranacağı hakkında bilgi sağlar. Son olarak, etkinlik durumları arasındaki benzerlikleri ve farklılıkları karşılaştırarak bazı parça yaşam döngüsü örnekleri oluşturduk.

Bir Android geliştiricisi olarak, Android uygulama geliştirmeleri sırasında her zaman en son teknoloji sürümlerinden haberdar olmak ve en iyi uygulamaları takip etmek önemlidir. Umarım bu makaleyi beğenmişsinizdir ve herhangi bir sorunuz varsa yorum bırakın. Mutlu kodlama!

Kotlin ile Android uygulamalarında Etkinlik sonrası durumu ve parça yaşam döngüsü ilk olarak LogRocket Blog'da göründü.

etiketlerETİKETLER
Üzgünüm, bu içerik için hiç etiket bulunmuyor.

Sıradaki içerik:

Kotlin ile Android uygulamalarında etkinlik durumu ve parça yaşam döngüsü