Sobes.tech
Junior

O que normalmente acontece no método onCreate numa aplicação Android?

sobes.tech IA

Resposta da IA

No onCreate() ocorre a inicialização da atividade. Isto inclui:

  • Ligação setContentView: definir o layout da interface de utilizador para a atividade.
  • Obter referências aos elementos View: procurar elementos View (por exemplo, TextView, Button) usando findViewById() para trabalhar com eles posteriormente.
  • Inicialização de dados: carregar dados para a atividade, como ler de um Bundle, obter de um Intent ou preparar estruturas de dados.
  • Inscrição em ouvintes: definir ouvintes para os elementos View (por exemplo, OnClickListener) para lidar com a interação do utilizador.
  • Restauração do estado: restaurar o estado anterior da atividade a partir do Bundle passado (se não for null).
  • Configuração do ActionBar/Toolbar (se necessário).
// Exemplo de uso de onCreate() em Kotlin
class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState) // Sempre chame super.onCreate()
        setContentView(R.layout.activity_main) // Ligação do layout

        val textView = findViewById<TextView>(R.id.myTextView) // Obter referência ao TextView
        textView.text = "Olá, Android!" // Definir texto

        val myButton = findViewById<Button>(R.id.myButton) // Obter referência ao botão
        myButton.setOnClickListener { // Definir ouvinte de cliques
            // Lidar com o clique do botão
        }

        // Restaurar estado do Bundle (se existir)
        savedInstanceState?.let {
            // Restaurar dados do Bundle
        }
    }
}
// Exemplo de uso de onCreate() em Java
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState); // Sempre chame super.onCreate()
        setContentView(R.layout.activity_main); // Ligação do layout

        TextView textView = findViewById(R.id.myTextView); // Obter referência ao TextView
        textView.setText("Olá, Android!"); // Definir texto

        Button myButton = findViewById(R.id.myButton); // Obter referência ao botão
        myButton.setOnClickListener(v -> { // Definir o ouvinte de cliques
            // Lidar com o clique do botão
        });

        // Restaurar estado do Bundle (se existir)
        if (savedInstanceState != null) {
            // Restaurar dados do Bundle
        }
    }
}

Em essência, onCreate() é o primeiro método do ciclo de vida da atividade, onde a maioria das configurações iniciais são feitas.