Sobes.tech
Intern

Aké sú vaše znalosti a skúsenosti s Core Android?

sobes.tech AI

Odpoveď od AI

Znalosti a skúsenosti s Core Android zahŕňajú pochopenie základných komponentov OS a ich interakcie s aplikáciami.

Moje skúsenosti zahŕňajú:

  • Životný cyklus Activity a Fragment: Hlboké pochopenie metód životného cyklu (onCreate, onStart, onResume, onPause, onStop, onDestroy) a riadenie stavov pri otáčaní obrazovky, prepínaní medzi aplikáciami a ukončení aktivity.
  • Intents a IPC: Použitie explicitných a neexplicitných intentov na spustenie komponentov (Activity, Service, BroadcastReceiver), prenos dát a medzoprocesovú komunikáciu (IPC).
  • Services: Vytváranie a riadenie pozadí úloh pomocou Service, IntentService (zastaralé, ale pochopenie je) a WorkManager pre odolné pozadie operácie.
  • Broadcast Receivers: Registrácia a spracovanie systémových a používateľských vysielacích správ.
  • Content Providers: Interakcia so systémovými a používateľskými databázami, prístup k zdieľaným dátam (napríklad kontakty, médiá).
  • Vlákna a konkurencia: Práca s vláknami, AsyncTask (zastaralé), Handler, Looper a modernými nástrojmi, ako sú Coroutines pre správu asynchrónnych operácií.

Príklad práce s životným cyklom Activity:

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

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_my)
        // Inicializácia UI, obnovenie stavu z savedInstanceState
    }

    override fun onStart() {
        super.onStart()
        // Activity sa stáva viditeľnou
    }

    override fun onResume() {
        super.onResume()
        // Activity prechádza do popredia, interakcia s používateľom je možná
    }

    override fun onPause() {
        super.onPause()
        // Activity odchádza do pozadia, ale je stále viditeľná (napríklad dialóg nad ňou)
    }

    override fun onStop() {
        super.onStop()
        // Activity už nie je viditeľná
    }

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

    override fun onSaveInstanceState(outState: Bundle) {
        super.onSaveInstanceState(outState)
        // Uloženie stavu pred zničením Activity (napríklad pri otáčaní)
        outState.putString("my_data", "nejaka_hodnota")
    }

    override fun onRestoreInstanceState(savedInstanceState: Bundle) {
        super.onRestoreInstanceState(savedInstanceState)
        // Obnovenie stavu
        val data = savedInstanceState.getString("my_data")
        // Použitie obnovených dát
    }
}

Pochopenie týchto základov je kľúčové pre tvorbu stabilných a efektívnych Android aplikácií.