[Android实例] Android Service 服务详细讲解

android service实例 立即下载

 

的Service 和 Handler一样很重,如需了解Handler,请查看Android Handler 异步消息机制

下面我们具体讲解一下Service:

Service概念及用途:
Service 是 Android 系统中的一种组件,它和Activity 的级别差不多,但又Activity不同,它是不能与用户交互的,但可以和其他组件进行交互。它不能自己运行,只能后台运行。
如果我们退出应用时,Service进程并没有结束,它仍然在后台运行,那我们什么时候会用到Service呢?比如我们播放音乐的时候,有可能想边听音乐边干些其他事情,当我们退出播放音乐的应用,如果不用Service,我们就听不到歌了,所以这时候就得用到Service了,又比如当我们一个应用的数据是通过网络获取的,不同时间(一段时间)的数据是不同的这时候我们可以用Service在后台定时更新,而不用每打开应用的时候在去获取。

Service生命周期:
Android Service的生命周期并不像Activity那么复杂,它只继承了onCreate(),onStart(),onDestroy()三个方法,当我们第一次启动Service时,先后调用了onCreate(),onStart()这两个方法,当停止Service时,则执行onDestroy()方法,这里需要注意的是,如果Service已经启动了,当我们再次启动Service时,不会在执行onCreate()方法,而是直接执行onStart()方法,具体的可以看下面的实例。

Service与Activity通信:
Service后端的数据最终还是要呈现在前端Activity之上的,因为启动Service时,系统会重新开启一个新的进程,这就涉及到不同进程间通信的问题了(AIDL)这一节我不作过多描述,当我们想获取启动的Service实例时,我们可以用到bindService和onBindService方法,它们分别执行了Service中IBinder()和onUnbind()方法。

Service 启动方式:
一、context.startService()
二、context.bindService();

使用Service之前必须在android
Mainfest.xml 中注册
调用流程:

第一种:

启动:context.startService() ---> onCreate() ---> onStartCommand()
销毁:ontext.stopService()   ---> onDestroy();
如果Service还没运行,则Android会先调用onCreate()方法,然后再调用onStartCommand();
如果Service已经运行了,则只调用onStartCommand(),所以一个Service的onStartCommand(),方法可能会调用多次。

第二种:
启动:context.bindService() ---> onCreate() --->onBind();
销毁:onUnibind() ---> onDestroy()
onBind() 将返回给客户端一个IBind接口实例,IBind允许客户端调用服务的方法,比如得到Service允许状态或者其他操作这个时候调用者(Context,例如Activity)会和Serv

转载自: http://www.eoeandroid.com/forum.php?mod=viewthread&tid=158038&fromuid=564972

android--service实例 NULL 博文链接:https://javajeye.iteye.com/blog/803007 立即下载

相关推荐

Android Service测试例子

Service 是一个可以在后台执行长时间运行操作而不提供用户界面的应用组件。服务可由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行。 此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC)。上面的这句话是官方的解释,这句化的第一句很明显的阐述了Service的使用场景,也就是说在不需要与用户进行交互(用户点击屏幕等触发事件的行为都是交互行为)的情景,以及某个操作需要在后台长时间运行的情况。只要满足这两个情况之一,都可以考虑使用Service。

Android中的Service(案例+代码+效果)

Android中的Service,Service简单使用

. 3392

android 中的服务Service intentService例子

NULL 博文链接:https://zhanglimijavaeye.iteye.com/blog/1881599

Android service实例解析

Service是android 系统中的一种组件,它跟Activity的级别差不多,但是他不能自己运行,只能后台运行,并且可以和其他组件进行交互。Service的启动有两种方式:context.startService() 和 context.bindService()。

Eqiqi的博客 1165

使用ONNX Runtime在Java Web应用中部署深度学习模型

当应用场景需要集成深度学习模型进行推理时,直接在Java Web应用中集成深度学习框架可能会面临性能、兼容性等问题。为了将深度学习模型无缝集成到Java Web应用中,是一项广受认可且实用的方法。本篇文档将介绍如何将模型转换为ONNX格式,并通过ONNX Runtime Server进行部署,并通过Java Web应用调用以进行回归或预测任务。本方案的主要目标是实现以下功能:将PyTorch模型转换为ONNX格式。部署ONNX Runtime Server,加载ONNX模型并提供推理服务。

shysea2019的博客 8857

手把手教你设计T型和Π型衰减器:从理论计算到实际搭建(含误差分析)

本文详细介绍了T型和Π型衰减器的设计方法,从理论计算到实际搭建,包括电阻值推导、元件选择技巧及误差分析。通过实例演示如何设计50Ω系统中的10dB衰减器,并提供了高频应用和优化策略,帮助电子工程师掌握阻抗匹配与信号衰减的核心技术。

weixin_33737774的博客 395

Android系统开发 ----- 系统服务开发

Android系统开发 系统服务开发

weixin_68948960的博客 4718

保姆级教程:用PROGRAM_FTDI搞定Xilinx FPGA的JTAG调试器(基于FT232/FT2232/FT4232)

本文详细介绍了如何使用FT232/FT2232/FT4232系列芯片通过PROGRAM_FTDI工具配置Xilinx FPGA的JTAG调试器。从芯片选型、驱动安装到固件烧写和Vivado验证,提供了完整的实操指南和避坑要点,帮助开发者低成本实现高效调试。

weixin_29271053的博客 2155

Java设计模式之单例模式(Singleton)在Android系统服务中的应用

单例模式:一个应用程序中 只有一个实例 特点是: ① 私有的构造方法 ② 私有的静态实例 ③ 公有静态访问方法单例分为饿汉式和懒汉式:其中懒汉式存在线程安全问题,所以需要加锁。饿汉式: public class Singleton { // 饿汉式是直接创建对象 public static Singleton instance = new Singleton(

huang_xiao_yu的博客 1151

Cortex-M异常处理深度解析:从HardFault到调试实战

在嵌入式开发中,Cortex-M系列处理器的异常处理机制是保障系统可靠性的核心。然而,面对HardFault、MemManage、BusFault等异常时,开发者往往陷入迷茫。本文结合SEGGER AN00016和Keil AN209两篇权威文档,深入剖析异常根源、寄存器解析及调试技巧,并通过代码实例演示如何快速定位问题。

汽车电子软件领域知识分享 2533

无人机飞控技术最详细解读

已剪辑自: https://zhuanlan.zhihu.com/p/64519280[导读]被称作是“飞行器的大脑”的飞控到底是什么?以前,搞无人机的十个人有八个是航空、气动、机械出身,更多考虑的是如何让飞机稳定飞起来、飞得更快、飞得更高。如今,随着芯片、人工智能、大数据技术的发展,无人机开始了智能化、终端化、集群化的趋势,大批自动化、机械电子、信息工程、微电子的专业人材投入到了无人机研发大潮中,几年的时间让无人机从远离人们视野的军事应用飞入了寻常百姓家、让门外汉可以短暂的学习也能稳定可靠的飞行娱乐。不可

qq_41854911的博客 1万+

Android服务端开发1-使用Eclipse搭建Java Web服务端

本篇博客介绍如何使用Eclipse来创建一个Java Web程序,为后面讲通过Android客户端跟服务端进行交互打下基础,关于服务端可以选用的程序很多,主流的搭配是Android客户端+PHP服务端,我们也可以使用Android客户端+Java EE服务端这样的搭配,就看公司是以哪种方式提供了。创建一个Java Web程序,没有特别复杂的流程,我们先准备一下原材料: 1. Eclipse(注:这

巫山老妖 3万+

6.6kW的车载充电器(On-Board Charger, OBC)电路分析

图片展示了6.6kW的车载充电器(On-Board Charger, OBC)电路,其中包含双向和单向两种拓扑结构。接下来我们将深入分析每个模块的设计、原理及其优势,以帮助理解不同结构在实际应用中的选型和应用。

weixin_43199439的博客 5658

安卓服务Service

安卓服务Service

lunious的博客 5489

一文读懂5G网络整体架构(接入网+承载网+核心网)

接入网重构分级(分工更细、效率更高)、承载网三段化升级(管道更宽、更智能)、核心网服务化云化(管理更灵活、成本更低)最终实现“成本最优、资源灵活、场景适配”,才能支撑自动驾驶、工业互联网、智慧城市、VR/AR等各种新场景,真正走进我们的生活。

鲸落寰宇 428

05 - matlab m_map地学绘图工具基础函数 - 设置比例尺指北针

本篇介绍下m_map中添加指北针(m_northarrow)、比例尺(m_ruler)和进行比例缩放(m_scale)的函数及其用法 。提供了 示例以便参考,罗列了 各函数可设属性。希望对绘图的你有所帮助。

weixin_43339605的博客 1946

基于AIDL编程实现Android远程Service服务

文章目录Android本地Service异步消息处理机制服务与活动的通信Android远程ServiceBinder与AIDL基础AIDL Service服务端 Service 作为 Android 四大组件之一,应用非常广泛。 远程服务与本地服务最大的区别是:远程 Service 与调用者不在同一个进程里(即远程 Service 是运行在另外一个进程);而本地服务则是与调用者运行在同一个进程里。二者区别的详细区别如下图: Android本地Service 先来看看 Android 普通 Service

道阻且长,行则将至 4416

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

安卓四大组件之Service

安卓四大组件之Service

似霰的博客 4462

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【安卓】启动Service

启动Service: 1.创建一个service类 2.Intent intent=new Intent(this,MyService.class); startService(intent); 停止:Intent intent2=new Intent(this,MyService.class); stopService(intent2); 绑定:Intent intent3==new Intent(this,MyService.class); bindService(intent3,new Service

m0_52410356的博客 1760

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

android编写Service入门用法与教程

<br /><br />android SDK提供了Service,用于类似*nix守护进程或者windows的服务。<br />Service有两种类型:<br />1. 本地服务(Local Service):用于应用程序内部<br />2. 远程服务(Remote Sercie):用于android系统内部的应用程序之间<br />前者用于实现应用程序自己的一些耗时任务,比如查询升级信息,并不占用应用程序比如Activity所属线程,而是单开线程后台执行,这样用户体验比较好。<br />后者可被其他应

迷失的羔羊 567

《第一行代码Android》学习总结第十章 服务Service

一、定义一个服务。 1、新建ServiceTest项目,右击com.launcher.servicetest→New→Service→Service。 Exported属性表示是否允许除了当前程序外其他程序访问这个服务。 Enabled属性表示是否启用这个服务。 2、重写Service的如下方法。 public class MyService extends Service { ...

LBW9368的博客 637

android 前台服务 7.1,Service 使用详解

和你一起终身学习,这里是程序员 Android本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、Service 简介二、Service 的注册三、Service 的启动模式四、Service的生命周期五、启动模式使用举例六、bind 服务介绍七、bind 服务举例八、服务的优先级一、Service 简介首先我们先了解一下Service的继承关系,方便我们...

weixin_42356659的博客 512

Android中的Service详解

Android中的Service详解

hgfujffg的博客 6928

Android开发笔记(四十一)Service的生命周期

与生命周期有关的方法 onCreate : 创建服务 onStart : 开始服务,Android2.0以下版本使用 onStartCommand : 开始服务,Android2.0及以上版本使用。该函数返回值为整型,一般取值START_STICKY,具体说明如下: 1、START_STICKY:粘性的服务。如果服务进程被杀掉,保留服务的状态为开始状态,但不保留传送的Intent对象。随后

aqi00的博客 3364

Android基础 - Service实例深入理解

上篇学习了Service一些基础知识,知道了在Service做耗时任务(网络请求、IO等等)需开启一个线程,否则会导致ANR,接下来通过实例加深Service的使用理解。 Service种类及特点 Service几种典型实例 下面以模拟下载文件为例子 1、不可交互的后台服务 不可交互的后台服务即是普通的Service,是通过startService方法启动,其生命周期顺序...

学习,思考,输出 879

android Service Binder交互通信实例

<br />from: http://wallage.blog.163.com/blog/static/17389624201041873135376/<br />android SDK提供了Service,用于类似Lnix守护进程或者windows的服务。<br />Service有两种类型:<br />本地服务(Local Service):用于应用程序内部 <br />远程服务(Remote Sercie):用于android系统内部的应用程序之间 <br />前者用于实现应用程序自己的一些耗时任务,

kongxr的专栏 632
上一篇: 我6个月的学习苹果编程经历:从”大齿怪“到“狂欢者”
下一篇: android工具之TraceView
android_panda
博客等级 码龄15年 28粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值