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) aWorkManagerpre 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,Loopera 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í.