Android-Jetpack-LifecycleService利用

开发者 2024-9-9 18:01:52 55 0 来自 中国
1.png 在开发当中,我们肯定会有利用到Service相干的需求,编写步伐的时间,肯定要做到Service与组件之间解耦,Android为我们提供了LifecycleService类资助我们实现。这篇博客告急分享LifecycleService相干的知识,盼望对看文章的小搭档有所开导。
查察Service与LifecycleService关系

层级关系,我们用一张图来阐明,泉源Android官网:

2.png 导入依靠

原生的Android SDK并没有LifecycleService类,需要导入Android的拓展库:
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'代码示例

1.创建服务的观察者AppServiceObserver:
import android.util.Logimport androidx.lifecycle.LifecycleObserverimport androidx.lifecycle.OnLifecycleEventimport androidx.lifecycle.Lifecycle/** * 类阐明:AppService的观察者 */class AppServiceObserver : LifecycleObserver {    @OnLifecycleEvent(Lifecycle.Event.ON_CREATE)    private fun startGetLocation() {        Log.d(TAG, ">>>>>>>>>>>>>>>>> 开始获取定位")    }    @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)    private fun stopGetLocation() {        Log.d(TAG, ">>>>>>>>>>>>>>>>> 制止获取定位")    }    companion object {        const val TAG = "TAG"    }}2.创建AppService并绑定AppServiceObserver:
import androidx.lifecycle.LifecycleServiceclass AppService : LifecycleService() {    override fun onCreate() {        super.onCreate()        lifecycle.addObserver(AppServiceObserver())    }}3.在界面内里启动大概制止服务,根据生命周期变革可以看到相应的Logcat。运用起来是不是很简朴呢?开发的时间,我们可以用起来。
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-23 20:06, Processed in 0.164340 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表