Service的使用
Service的使用
使用Service服务需要在Manifest.xml文件中声明
<service android:name = "com.himanmin.xu.servicedemo.TimeService">
<intent-filter>
<action android:name="action"/>
</intent-filter>
</service>
在启用service时,根据Service是否需要需要与其他进程进行数据交互,启用方式不同。前者只需service在后台运行,后者可能需要得到service的数据反馈。
无数据交互的service,可以通过startService(intent)和stopService(intent)启动和关闭,而intent则通过
intent.setAction("action"),action需与Manifest.xml文件中的声明一致。
这种情况下service的生命周期为:
onCreate()->onStartCommand()->onDestroy()
需要数据交互的service,需要将service与反馈对象进行绑定。常见的,主进程开启一个service服务,然后将结果返回到主进程所在的Activity中。绑定和解除绑定分别使用bindService()和unBindService(),其中bindService()会绑定service或启动相应的service并绑定,目标service通过设置intent确定。在service类中,复写onBind()方法,并返回自定义的IBinder实例,该实例一般含有返回service实例的方法。在主进程的activity中,则需要创建ServiceConnection对象,获取返回的IBinder实例,并进而获取service,进行service自定义功能的数据操作。
这个过程的生命周期
onCerate()未创建->onBind()->onUnBind()->onDestroy()
转载于:https://www.cnblogs.com/himanxu/p/4640985.html
Service的使用相关推荐
- struts2 与 sping 整合 控制器中 service注入的问题
以个人见解认为struts1 与spring整合的时候按照习惯,我们会把 action 控制器直接配置到sping中去: eg : 这里以使用元注解方式实现Service注入进行讲解: 控制器关键代码 ...
- java action dao_java中Action层、Service层和Dao层的功能区分
一.Action/Service/DAO简介: Action是管理业务(Service)调度和管理跳转的. Service是管理具体的功能的. Action只负责管理,而Service负责实施. DA ...
- Android中Service生命周期、启动、绑定、混合使用
一.Activity和Service如何绑定: 1.Service和Activity之间的连接可以用ServiceConnection来实现.实现一个ServiceConnection对象实例,重写o ...
- CentOS7下启动Nginx出现Failed to start nginx.service:unit not found
错误的原因就是没有添加nginx服务,所以启动失败. 解决方法: 1. 在/root/etc/init.d/目录下新建文件,文件名为nginx 或者用命令在根目录下执行:# vim /etc/i ...
- CentOS7 service network start命令启动时报错解决方法
service network start命令启动时报错: [root@localhost network-scripts]# service network start Starting netwo ...
- android Service 的使用
1 Service 简介 Service 是Android 四大组件之一 一般在后台运行,无用户界面,用户无法看到. Service主要用于组件之间交互(例如:与Activity.ContentPro ...
- Web Service 安全性解决方案(SOAP篇)
拼吾爱程序人生 » 软件编程 » Visual Studio.NET » Web Service » Web Service 安全性解决方案(SOAP篇) Web Service 安全性解决方案(SO ...
- Hibernate **关于hibernate4.3版本之后org.hibernate.service.ServiceRegistryBuilder被弃用**
之前一直都是使用hibernate4.2.21的我,有一天突然没有使用本地的jar包而是让IDEA自动下载最新版本的hibernate5.2.2之后,发现有几个经常使用的方法报错了. //创建配置对象 ...
- [转]JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分
首先这是现在最基本的分层方式,结合了SSH架构.modle层就是对应的数据库表的实体类.Dao层是使用了Hibernate连接数据库.操作数据库(增删改查).Service层:引用对应的Dao数据库操 ...
- k8s nodeport无法访问_k8s学习之service详解
1.概述 通过Deployment来创建一组Pod来提供具有高可用性的服务.每个Pod都会分配一个单独的Pod IP,却存在如下两问题: 1.pod ip仅仅集群内部可见的虚拟IP,外部无法访问 2. ...
最新文章
- php日志接入rsyslog,rsyslog和在PHP上的应用
- 算法------四数相加 II (java 版本)
- java - 把日志生成到指定目录
- Kanboard简单的可视化任务板,项目管理
- HH SaaS电商系统的仓储系统设计
- codeforces 701 E. Connecting Universities(树+ 边的贡献)
- vagrant使用centos的环境安装..
- iptables详解和练习
- 16款测序平台性能大PK,华大表现不俗!基于人类和细菌基因组DNA水平的多平台测序数据研究成果发布...
- 吴恩达《机器学习》第十五章:异常检测
- 系统类扩展方法,实现对所有类或某种类扩展自定义方法
- iOS-国家代码选择功能github开源分享
- SUID、SGID、粘滞位
- 孟子模型 | 当Bert炼丹不是玄学而是哲学
- 黑马程序员JVM完整教程
- 不知道CAD坐标系,如何做到CAD与卫星影像无偏叠加?
- 今天准备出发去珠海横琴,去长隆海洋乐园看鲨鱼宝宝了
- Java方法:方法解释,方法的定义及调用
- 电竞网咖用2.5G网卡,体验飞一般的感觉!
- LabVIEW图形化TensoRT工具包的安装下载分享
热门文章
- 使用vue-cli3创建项目的时候出错,ERROR command failed: npm install --loglevel error --registry
- 为什么JavaScript中给变量赋值会影响到其他地方?
- IO多路复用之select、poll、epoll介绍
- sklearn svm 调参_用 Grid Search 对 SVM 进行调参
- mysql 流浪,流浪汉机器 – 如何找出mysql用户名/密码
- file* linux,Linux基础——file命令与magic file
- 内核aio_IO模型_NIO_AIO
- zookeeper分布式安装与配置
- python保留字符串之外的_Python--字符串
- 德国Java工程师_1886年,德国工程师。