BaseActivity
it's good practice to create a base activity to implement common features.
BasicActivity.kt:
import android.os.Bundle
import android.util.Log
abstract class BaseActivity : AppCompatActivity() {
protected abstract val tag : String
protected abstract fun getLayout(): Int
protected abstract fun getActivityTitle(): Int
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(getLayout())
activity_title.setText(getActivityTitle())
Log.v(tag, "[ ON CREATE ]")
}
override fun onPostCreate(savedInstanceState: Bundle?) {
super.onPostCreate(savedInstanceState)
Log.v(tag, "[ ON POST CREATE ]")
}
override fun onRestart() {
super.onRestart()
Log.v(tag, "[ ON RESTART ]")
}
override fun onStart() {
super.onStart()
Log.v(tag, "[ ON START ]")
}
override fun onResume() {
super.onResume()
Log.v(tag, "[ ON RESUME ]")
}
override fun onPostResume() {
super.onPostResume()
Log.v(tag, "[ ON POST RESUME ]")
}
override fun onPause() {
super.onPause()
Log.v(tag, "[ ON PAUSE ]")
}
override fun onStop() {
super.onStop()
Log.v(tag, "[ ON STOP ]")
}
override fun onDestroy() {
super.onDestroy()
Log.v(tag, "[ ON DESTROY ]")
}
}
MainActivity.kt:
class MainActivity : BaseActivity() {
override val tag = "Main activity"
override fun getLayout() = R.layout.activity_main
}