lifecycle @onlifecycleevent()已弃用,您应该使用LifeCycleEventObserver或DefaultLifeCycleObServer

发布于 2025-01-30 03:07:38 字数 31 浏览 3 评论 0原文

答案在底部,

我认为这对您有用

Answer is on bottom

I think it will be useful for you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

十六岁半 2025-02-06 03:07:38

1- LifeCycleVentObserver

首先

您应该实现以下操作:

”旧的依赖性已被弃用:

implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"

新的依赖性,您应该使用此

dependencies {    
    implementation"androidx.lifecycle:lifecycleprocess:2.8.3"
}

其次

应该写这件:

class App : Application() {
    override fun onCreate() {
        super.onCreate()

        ProcessLifecycleOwner.get().lifecycle.addObserver(lifecycleEventObserver)

    }

第三,

您应该写下:

在这里,我仅实施了两个生命周期事件,当您需要其他生命周期事件时,您应该实现它们

    var lifecycleEventObserver = LifecycleEventObserver { _, event ->
        when (event) {
            Lifecycle.Event.ON_STOP -> {
                //your code here
            }
            Lifecycle.Event.ON_START -> {
                //your code here
            }
            else -> {}
        }
    }

2- defaultlifecycleobserver,

首先

您应该实现此处:

dependencies {
    implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
}

其次,

您应该写下:

class App : Application() {
    override fun onCreate() {
        super.onCreate()

        ProcessLifecycleOwner.get().lifecycle.addObserver(defaultLifecycleObserver)

    }

第三,

您应该写下:

在这里,我仅实施了两个生命周期事件,当您需要其他生命周期事件时,您应该实现它们

    var defaultLifecycleObserver = object : DefaultLifecycleObserver {

        override fun onStart(owner: LifecycleOwner) {
            super.onStart(owner)
            //your code here
        }

        override fun onStop(owner: LifecycleOwner) {
            super.onStop(owner)
            //your code here
        }
    }

3-活动lifecyClecallbacks,

首先

您应该写下:

class App : Application() {
    override fun onCreate() {
        super.onCreate()

        registerActivityLifecycleCallbacks(activityLifecycleCallbacks)

    }

其次,

您应该写这篇文章:

    private val activityLifecycleCallbacks = object : ActivityLifecycleCallbacks {
        
        override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {
            
        }

        override fun onActivityStarted(activity: Activity) {
            
        }

        override fun onActivityResumed(activity: Activity) {
            
        }

        override fun onActivityPaused(activity: Activity) {
           
        }

        override fun onActivityStopped(activity: Activity) {
            
        }

        override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {

        }

        override fun onActivityDestroyed(activity: Activity) {

        }

    }

1 - LifecycleEventObserver

Firstly

You should implementation this: more info

Old dependency have been deprecated:

implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"

New dependency, You should use this

dependencies {    
    implementation"androidx.lifecycle:lifecycleprocess:2.8.3"
}

Secondly

You should write this:

class App : Application() {
    override fun onCreate() {
        super.onCreate()

        ProcessLifecycleOwner.get().lifecycle.addObserver(lifecycleEventObserver)

    }

Thirdly

You should write this:

In here I implemented only two Lifecycle Event, when you need other Lifecycle Event, you should implement them

    var lifecycleEventObserver = LifecycleEventObserver { _, event ->
        when (event) {
            Lifecycle.Event.ON_STOP -> {
                //your code here
            }
            Lifecycle.Event.ON_START -> {
                //your code here
            }
            else -> {}
        }
    }

2 - DefaultLifecycleObserver

Firstly

You should implementation this:

dependencies {
    implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
}

Secondly

You should write this:

class App : Application() {
    override fun onCreate() {
        super.onCreate()

        ProcessLifecycleOwner.get().lifecycle.addObserver(defaultLifecycleObserver)

    }

Thirdly

You should write this:

In here I implemented only two Lifecycle Event, when you need other Lifecycle Event, you should implement them

    var defaultLifecycleObserver = object : DefaultLifecycleObserver {

        override fun onStart(owner: LifecycleOwner) {
            super.onStart(owner)
            //your code here
        }

        override fun onStop(owner: LifecycleOwner) {
            super.onStop(owner)
            //your code here
        }
    }

3 - ActivityLifecycleCallbacks

Firstly

You should write this:

class App : Application() {
    override fun onCreate() {
        super.onCreate()

        registerActivityLifecycleCallbacks(activityLifecycleCallbacks)

    }

Secondly

You should write this:

    private val activityLifecycleCallbacks = object : ActivityLifecycleCallbacks {
        
        override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {
            
        }

        override fun onActivityStarted(activity: Activity) {
            
        }

        override fun onActivityResumed(activity: Activity) {
            
        }

        override fun onActivityPaused(activity: Activity) {
           
        }

        override fun onActivityStopped(activity: Activity) {
            
        }

        override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {

        }

        override fun onActivityDestroyed(activity: Activity) {

        }

    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文