Sobes.tech
Junior

Co se obvykle děje v metodě onCreate v Android aplikaci?

sobes.tech AI

Odpověď od AI

V onCreate() dochází k inicializaci aktivity. To zahrnuje:

  • Přiřazení setContentView: určení rozvržení uživatelského rozhraní pro aktivitu.
  • Získání odkazů na prvky View: hledání prvků View (například TextView, Button) pomocí findViewById() pro další práci s nimi.
  • Inicializace dat: načtení dat pro aktivitu, například čtení z Bundle, získání z Intent nebo příprava datových struktur.
  • Přihlášení posluchačů: nastavení posluchačů pro prvky View (například OnClickListener) pro zpracování interakce uživatele.
  • Obnovení stavu: obnovení předchozího stavu aktivity z předaného Bundle (pokud není null).
  • Nastavení ActionBar/Toolbar (je-li potřeba).
// Příklad použití onCreate() v Kotlinu
class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState) // Vždy volat super.onCreate()
        setContentView(R.layout.activity_main) // Přiřazení rozvržení

        val textView = findViewById<TextView>(R.id.myTextView) // Získání odkazu na TextView
        textView.text = "Ahoj, Android!" // Nastavení textu

        val myButton = findViewById<Button>(R.id.myButton) // Získání odkazu na tlačítko
        myButton.setOnClickListener { // Nastavení posluchače kliknutí
            // Zpracování kliknutí na tlačítko
        }

        // Obnovení stavu z Bundle (pokud existuje)
        savedInstanceState?.let {
            // Obnovení dat z Bundle
        }
    }
}
// Příklad použití onCreate() v Javě
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState); // Vždy volat super.onCreate()
        setContentView(R.layout.activity_main); // Přiřazení rozvržení

        TextView textView = findViewById(R.id.myTextView); // Získání odkazu na TextView
        textView.setText("Ahoj, Android!"); // Nastavení textu

        Button myButton = findViewById(R.id.myButton); // Získání odkazu na tlačítko
        myButton.setOnClickListener(v -> { // Nastavení posluchače kliknutí
            // Zpracování kliknutí na tlačítko
        });

        // Obnovení stavu z Bundle (pokud existuje)
        if (savedInstanceState != null) {
            // Obnovení dat z Bundle
        }
    }
}

V podstatě je onCreate() prvním metodou životního cyklu aktivity, ve které se provádí většina inicializačních nastavení.