1. Classes liées au statut
package com. study. state
class Activity {
companion object {
val onCreateState = OnCreateState ( )
val onStartState = OnStartState ( )
val onResumeState = OnResumeState ( )
}
var activityState: ActivityState =
OnCreateState ( )
set ( value) {
field = value
activityState. activity = this
}
fun onCreate ( ) {
activityState? . onCreate ( )
}
fun onStart ( ) {
activityState? . onStart ( )
}
fun onResume ( ) {
activityState? . onResume ( )
}
}
package com. study. state
abstract class ActivityState {
var activity: Activity? = null
abstract fun onCreate ( )
abstract fun onStart ( )
abstract fun onResume ( )
}
package com. study. state
class OnCreateState : ActivityState ( ) {
override fun onCreate ( ) {
println ( "当前Activity状态onCreate" )
}
override fun onStart ( ) {
activity? . activityState = Activity. onStartState
}
override fun onResume ( ) {
activity? . activityState = Activity. onResumeState
}
}
package com. study. state
class OnResumeState: ActivityState ( ) {
override fun onCreate ( ) {
activity? . activityState = Activity. onCreateState
}
override fun onStart ( ) {
activity? . activityState = Activity. onStartState
}
override fun onResume ( ) {
println ( "当前Activity状态onResume" )
}
}
package com. study. state
class OnStartState: ActivityState ( ) {
override fun onCreate ( ) {
activity? . activityState = Activity. onCreateState
}
override fun onStart ( ) {
println ( "当前Activity状态onStart" )
}
override fun onResume ( ) {
activity? . activityState = Activity. onResumeState
}
}
Deuxièmement, l'appel du programme principal
package com. study. state
fun main ( ) {
val activity = Activity ( )
activity. activityState = OnCreateState ( )
println ( "当前状态:" + activity. activityState? . javaClass? . simpleName)
activity. onStart ( ) ;
println ( "当前状态:" + activity. activityState? . javaClass? . simpleName)
activity. onResume ( )
println ( "当前状态:" + activity. activityState? . javaClass? . simpleName)
}
Trois, résultats en cours
Quatre, résumé de l'apprentissage des modèles de conception
Après avoir persisté dans l'apprentissage d'un modèle de conception sensible au temps, j'ai une compréhension plus profonde des modèles de conception. Merci beaucoup d'avoir fourni des ressources d'apprentissage.