Sobes.tech
Intern

Jaké jsou vaše znalosti a zkušenosti s Core Android?

sobes.tech AI

Odpověď od AI

Znalosti a zkušenosti s Core Android zahrnují pochopení základních komponent OS a jejich interakce s aplikacemi.

Moje zkušenosti zahrnují:

  • Životní cyklus Activity a Fragment: Hluboké pochopení metod životního cyklu (onCreate, onStart, onResume, onPause, onStop, onDestroy) a řízení stavů při otáčení obrazovky, přepínání mezi aplikacemi a ukončení aktivity.
  • Intenty a IPC: Použití explicitních a neexplicitních intentů pro spuštění komponent (Activity, Service, BroadcastReceiver), přenos dat a meziprocesovou komunikaci (IPC).
  • Služby: Vytváření a řízení pozadí úloh pomocí Service, IntentService (zastaralé, ale pochopení je) a WorkManager pro odolné pozadí operace.
  • Broadcast Receivers: Registrace a zpracování systémových a uživatelských vysílacích zpráv.
  • Content Providers: Interakce se systémovými a uživatelskými databázemi, přístup k sdíleným datům (například kontakty, média).
  • Vlákna a konkurence: Práce s vlákny, AsyncTask (zastaralé), Handler, Looper a moderními nástroji, jako jsou Coroutines pro správu asynchronních operací.

Příklad práce s životním cyklem Activity:

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

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_my)
        // Inicializace UI, obnovení stavu z savedInstanceState
    }

    override fun onStart() {
        super.onStart()
        // Activity se stává viditelnou
    }

    override fun onResume() {
        super.onResume()
        // Activity přechází do popředí, je možné s ní komunikovat
    }

    override fun onPause() {
        super.onPause()
        // Activity odchází do pozadí, ale je stále viditelná (například dialog nad ní)
    }

    override fun onStop() {
        super.onStop()
        // Activity již není viditelná
    }

    override fun onDestroy() {
        super.onDestroy()
        // Activity je zničena
    }

    override fun onSaveInstanceState(outState: Bundle) {
        super.onSaveInstanceState(outState)
        // Uložení stavu před zničením Activity (například při otáčení)
        outState.putString("my_data", "nějaká_hodnota")
    }

    override fun onRestoreInstanceState(savedInstanceState: Bundle) {
        super.onRestoreInstanceState(savedInstanceState)
        // Obnovení stavu
        val data = savedInstanceState.getString("my_data")
        // Použití obnovených dat
    }
}

Pochopení těchto základů je klíčové pro tvorbu stabilních a efektivních Android aplikací.