Nesse tutorial vou descrever Ciclo de vida da Activity com Kotlin assim vamos entender como funciona a cada vez que trocamos de activity.
Primeiramente vamos criar um novo projeto vazio para fazer as mudanças e ver como funciona o ciclo da activity.
Se você ainda não sabe como criar um projeto vario então de uma olhada no tutorial Como criar um projeto no Android Studio.
Logo depois de criar o projeto vamos criar então uma nova Activity com o nome de Main2Activity.
Se você ainda não sabe como criar uma nova activity então de uma olhada no tutorial Como criar uma Activity no Android Studio.
Então vamos fazer o layout da nossa activity_main que deve conter apenas um botão para abrir a nova activity.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/btnNext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Next"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
Em nosso código da MainActivity deve ficar assim como o seguinte.
package br.com.uware.ciclodaactivity
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Log.d("Tela 1: ","onCreate")
btnNext.setOnClickListener {
val intent = Intent(this, Main2Activity::class.java)
startActivity(intent)
Log.d("Tela 1: ","Button Next")
}
}
override fun onResume() {
super.onResume()
Log.d("Tela 1: ","onResume")
}
override fun onRestart() {
super.onRestart()
Log.d("Tela 1: ","onRestart")
}
override fun onPause() {
super.onPause()
Log.d("Tela 1: ","onPause")
}
override fun onStop() {
super.onStop()
Log.d("Tela 1: ","onStop")
}
override fun onDestroy() {
super.onDestroy()
Log.d("Tela 1: ","onDestroy")
}
override fun onBackPressed() {
super.onBackPressed()
Log.d("Tela 1: ","onBackPressed")
}
}
Logo após ter modificado o código da activity principal vamos agora modificar o arquivo de layout da activity_main2.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Main2Activity">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Tela 2"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
Agora com nosso layout da MainActivity2 pronto vamos modificar o código dela e assim vamos entender como funciona o ciclo entre as Activities.
package br.com.uware.ciclodaactivity
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
class Main2Activity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main2)
Log.d("Tela 2: ","onCreate")
}
override fun onResume() {
super.onResume()
Log.d("Tela 2: ","onResume")
}
override fun onRestart() {
super.onRestart()
Log.d("Tela 2: ","onRestart")
}
override fun onPause() {
super.onPause()
Log.d("Tela 2: ","onPause")
}
override fun onStop() {
super.onStop()
Log.d("Tela 2: ","onStop")
}
override fun onDestroy() {
super.onDestroy()
Log.d("Tela 2: ","onDestroy")
}
override fun onBackPressed() {
super.onBackPressed()
Log.d("Tela 2: ","onBackPressed")
}
}
Chegou a hora de compilar e executar o projeto.
Logo depois que o emulador já estiver com seu aplicativo aberto siga os seguintes passos:
Então agora vamos olhar na aba run e e ver os logs e a sequencia deles, assim podemos ver como funciona o ciclo da activity.
Segue o ciclo da activity:
D/Tela 1:: onCreate
D/Tela 1:: onResume
D/Tela 1:: Button Next
D/Tela 1:: onPause
D/Tela 2:: onCreate
D/Tela 2:: onResume
D/Tela 1:: onStop
D/Tela 2:: onBackPressed
D/Tela 2:: onPause
D/Tela 1:: onRestart
D/Tela 1:: onResume
D/Tela 2:: onStop
D/Tela 2:: onDestroy
D/Tela 1:: onBackPressed
D/Tela 1:: onPause
D/Tela 1:: onStop
D/Tela 1:: onDestroy
Este é o ciclo de vida da activity no android,
Enfim espero ter ajudado com mais este tutorial sobre Ciclo de vida da Activity com Kotlin.
Visite e siga nosso canal no YouTube para ajudar no crescimento do site.
Tags:
Android Studio Ciclo da Activity Kotlin TutorialPosts relacionados: