这篇文章主要介绍了Android四大组件之Service服务实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android四大组件之Service服务实例分析文章都会有所收获,下面我们一起来看看吧。Service是Android系统中的四大组件之一,它是一种长生命周期的,没有可视化界面,运行于后台的一种服务程序。Service 有的启动方式有两种:startService启动bindService启动首先我们创建一个MyService 类,并且继承自Service这里需要先实现onBind方法,onBind()
是Service必须实现的方法,返回的IBinder对象相当于Service组件的代理对象,Service允许其他程序组件通过IBinder对象来访问Service内部数据,这样即可实现其他程序组件与Service之间的通信。在AndroidManifest.xml
清单文件中注册显式启动通过类名称来启动,需要在Intent中指明Service所在的类,并调用startService (lntent)启动service。这里我使用按钮测试,需要在activity 中添加一个 serviceStart 按钮,用来演示回到MyService 类,并且添加一个onCreate 生命周期,用于验证我们的启动运行结果通过该方式启动Service,访问者与Service之间没有关联,即使访问者退出了,Service也仍然运行。按上面的说法,即使访问者退出了,Service也仍然运行,那么我们该怎么结束呢?我们在Activity 中,再添加一个停止按钮。显式启动停止Service,需要将启动Service的Intent传递给stopService (Intent)函数。回到MyService 类,并且添加一个onDestroy 生命周期,用于验证我们的停止运行结果上面我说startService 是显示启动,那么是不是还有对应的隐式启动呢?确实是有,但是从Android5.0开始,Google要求必须使用显示Intent启动Service,所以隐式启动咱就不介绍了。我们在回到Activity 中,再添加两个按钮,onClickBindServiceStart 和 onClickUnBindService 按钮参数说明:service:该参数通过Intent指定需要启动的service。connection:该参数是ServiceConnnection对象,当绑定成功后,系统将调用serviceConnnection的onServiceConnected ()
方法,当绑定意外断开后,系统将调用ServiceConnnection中的onServiceDisconnected方法。flags:该参数指定绑定时是否自动创建Service。如果指定为BIND_AUTO_CREATE,则自动创建,指定为0,则不自动创建。初始化一个connection绑定启动中,当调用者通过bindService()
函数绑定Service时,onCreate()
函数和onBinde ( )
函数将被先后调用。运行结果通过该方式启动Service,访问者与Service绑定在一起,访问者一旦退出了,Service也就终止了。取消绑定仅需要使用unbi免费云主机域名ndService()
方法,并将ServiceConnnection传递给unbindService()
方法在停止服务点击事件中使用 unbindService()
方法回到MyService 类,添加onUnbind 生命周期方法当调用者通过unbindService()
函数取消绑定Service时,onUnbind()
函数将被调用。如果onUnbind()
函数返回true,则表示重新绑定服务时,onRebind ()
函数将被调用。运行结果需要注意的是,unbindService()
方法成功后,系统并不会调用onServiceConnected()
,因为onServiceConnected()
只会在意外断开绑定时才被调用。这里别忘了在onDestroy()
销毁bindServiceonCreate() 当Service第一次被创建时,由系统调用。onStartCommand() 当startService方法启动Service时,该方法被调用。onDestroy() 当Service不再使用时,由系统调用。注意:一个startService只会创建一次,销毁一次,但可以开始多次,因此,onCreate()和onDestroy()方法只会被调用一次,而onStart()方法会被调用多次。onCreate() 当Service被创建时,由系统调用。onBind() 当bindService方法启动Service时,该方法被调用。onUnbind() 当unbindService方法解除绑定时,该方法被调用。onDestroy() 当Service不再使用时,由系统调用。注意:一个bindService可以创建多次,销毁多次,重复使用。关于“Android四大组件之Service服务实例分析”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Android四大组件之Service服务实例分析”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注百云主机行业资讯频道。
今天小编给大家免费云主机域名分享一下phpmyadmin怎么禁止外网使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。以上就是“phpmyadm…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。