Sobes.tech
Intern

Core Android konusunda bilginiz ve deneyiminiz nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Core Android ile ilgili bilgi ve deneyim, işletim sisteminin temel bileşenlerini ve bunların uygulamalarla etkileşimini anlamayı kapsar.

Benim deneyimim şunları içerir:

  • Activity ve Fragment'in yaşam döngüsü: (onCreate, onStart, onResume, onPause, onStop, onDestroy) yaşam döngüsü yöntemlerinin derinlemesine anlaşılması ve ekran döndürmeleri, uygulama geçişleri ve aktivitenin sonlandırılması sırasında durumların yönetimi.
  • Intents ve IPC: Belli ve belirsiz intentlerin kullanımıyla bileşenlerin başlatılması (Activity, Service, BroadcastReceiver), veri aktarımı ve süreçler arası iletişim (IPC).
  • Servisler: Service, IntentService (artık kullanımdan kaldırılmış, ancak anlaşılmış) ve WorkManager kullanarak arka plan görevlerinin oluşturulması ve yönetimi.
  • Broadcast Receiver: Sistem ve kullanıcı tanımlı yayın mesajlarının kaydı ve işlenmesi.
  • Content Providers: Sistem ve kullanıcı veritabanlarıyla etkileşim, ortak verilere erişim (örneğin, kişiler, medya).
  • İş parçacıkları ve eşzamanlılık: İş parçacıklarıyla çalışma, AsyncTask (artık kullanımdan kaldırılmış), Handler, Looper ve modern araçlar olan Coroutines ile asenkron işlemlerin yönetimi.

Bir Activity'nin yaşam döngüsüyle çalışma örneği:

// Activity.kt
class MyActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_my)
        // UI başlatma, savedInstanceState'den durumun geri yüklenmesi
    }

    override fun onStart() {
        super.onStart()
        // Activity görünür hale gelir
    }

    override fun onResume() {
        super.onResume()
        // Activity ön plana geçer, kullanıcıyla etkileşim mümkün
    }

    override fun onPause() {
        super.onPause()
        // Activity arka plana gider, ancak hâlâ görünür (örneğin, üstte bir diyalog)
    }

    override fun onStop() {
        super.onStop()
        // Activity artık görünür değil
    }

    override fun onDestroy() {
        super.onDestroy()
        // Activity yok edilir
    }

    override fun onSaveInstanceState(outState: Bundle) {
        super.onSaveInstanceState(outState)
        // Activity yok edilmeden önce durumu kaydet (örneğin, döndürme sırasında)
        outState.putString("my_data", "some_value")
    }

    override fun onRestoreInstanceState(savedInstanceState: Bundle) {
        super.onRestoreInstanceState(savedInstanceState)
        // Durumu geri yükle
        val data = savedInstanceState.getString("my_data")
        // Geri yüklenen verilerin kullanımı
    }
}

Bu temel kavramların anlaşılması, stabil ve verimli Android uygulamaları geliştirmek için kritiktir.