Sobes.tech
Intern

Kokia jūsų žinių ir patirties su Core Android lygis?

sobes.tech AI

Atsakymas iš AI

Žinios ir patirtis su Core Android apima pagrindinių OS komponentų ir jų sąveikos supratimą.

Mano patirtis apima:

  • Activity ir Fragment gyvenimo ciklas: gilus supratimas apie gyvenimo ciklo metodus (onCreate, onStart, onResume, onPause, onStop, onDestroy) ir būsenų valdymą ekrano pasukimo, tarp programų perjungimo ir veiklos užbaigimo metu.
  • Intents ir IPC: naudojimas aiškių ir neaiškių intentų komponentų paleidimui (Activity, Service, BroadcastReceiver), duomenų perdavimui ir tarpprocesinei komunikacijai (IPC).
  • Services: foninių užduočių kūrimas ir valdymas naudojant Service, IntentService (pasenęs, bet suprantamas) ir WorkManager patikimiems foniniams veiksmams.
  • Broadcast Receivers: sisteminių ir naudotojo platinamų pranešimų registravimas ir apdorojimas.
  • Content Providers: sąveika su sisteminėmis ir naudotojo duomenų bazėmis, prieiga prie bendrų duomenų (pvz., kontaktai, medijos).
  • Gijos ir konkurencija: darbai su gijomis, AsyncTask (pasenęs), Handler, Looper ir šiuolaikiniais įrankiais, tokiais kaip Coroutines, asinchroninių operacijų valdymui.

Pavyzdys, kaip dirbti su Activity gyvenimo ciklu:

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

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_my)
        // UI inicializacija, būsenos atkūrimas iš savedInstanceState
    }

    override fun onStart() {
        super.onStart()
        // Activity tampa matoma
    }

    override fun onResume() {
        super.onResume()
        // Activity pereina į priekį, sąveika su vartotoju įmanoma
    }

    override fun onPause() {
        super.onPause()
        // Activity pereina į foną, bet vis dar matoma (pvz., dialogas viršuje)
    }

    override fun onStop() {
        super.onStop()
        // Activity nebematyti
    }

    override fun onDestroy() {
        super.onDestroy()
        // Activity sunaikinama
    }

    override fun onSaveInstanceState(outState: Bundle) {
        super.onSaveInstanceState(outState)
        // Būsenos išsaugojimas prieš sunaikinimą (pvz., pasukus ekraną)
        outState.putString("my_data", "koks_nustatymas")
    }

    override fun onRestoreInstanceState(savedInstanceState: Bundle) {
        super.onRestoreInstanceState(savedInstanceState)
        // Būsenos atkūrimas
        val data = savedInstanceState.getString("my_data")
        // Naudojimas atkurtų duomenų
    }
}

Šių pagrindų supratimas yra labai svarbus kuriant stabilias ir efektyvias Android programas.