service是android4大组件之一, 主要用于:后台运行和跨进程访问(通过AIDL实现进程间通信).
service的生命周期: service的生命周期包含3个阶段: 创建、开始、销毁。
编写自定义服务需要3个步骤:
1.继承android.app.Service.实现onBind方法.
2.在AndroidManifest.xml中使用<service>标签配置服务
3.如果要开启一个服务调用startService方法, 如果要销毁一个服务,则调用: stopService方法.
系统服务:
1.android系统本身实现的一些服务,如音频服务, 窗口服务
2.通过Activity类得getSystemService方法获取系统服务,系统服务的ID在android.context.Context类中被定义.
AIDL服务-跨进程服务
1.在android系统中,进程间不能共享内存,故android使用了aidl机制实现进程间通信.
2.android采用远程过程调用(Remote Procedure Call , RPC)方式实现,与很多RPC方案一样,android使用接口定义语言(Interface Definition Language,IDL)来公开服务接口.所以这种跨进程访问的服务叫AIDL.
总结: android中的service是android4大组件之一, android本身提供了很多系统服务, 通过这些服务可以实现复杂功能.
并且我们可以实现自定义服务来实现后台运行, 也可通过AIDL服务提供给其他应用使用.
参考文章: http://wenku.baidu.com/view/58dbf82bcfc789eb172dc8d8.html
http://www.linuxidc.com/Linux/2011-04/33966p8.htm
分享到:
相关推荐
“android-location-service-源码.rar”包含了Android系统中定位服务的核心源代码,包括LocationManagerService、LocationProvider、GpsLocationProvider、NetworkLocationProvider等关键类。通过对这些源码的深入...
在Android开发中,Service是四大组件之一,它用于在后台执行长时间运行的操作,即使用户界面关闭仍然可以继续运行。这个"Android--Application-Service.rar_DEMO_service"的压缩包提供了一个学习Android Service基础...
1. **SDK Tools**: 这是SDK的基础工具,包含了用于构建、调试和优化Android应用的命令行工具,如adb(Android Debug Bridge)、dx(Dalvik编译器)、ddms(Dalvik Debug Monitor Service)等。 2. **Platform Tools...
《Android SDK for Windows详解》 Android SDK(Software Development Kit)是Android系统开发的重要工具集,为开发者提供...通过学习和掌握Android SDK,开发者能够创建出功能丰富、用户体验优秀的Android应用程序。
8. **实验8**:可能涉及服务(Service)的概念,学生可能学习了如何创建后台运行的服务,即使应用在后台或者被用户关闭时也能继续执行任务。 每个实验通常会涵盖一个特定的Android开发主题,通过实际编写和调试代码...
总的来说,Android SDK r17是开发者进入Android世界的重要入口,提供了所有必要的工具和技术,使他们能够创造出丰富的、跨设备的应用程序,服务全球数亿的Android用户。随着技术的不断发展,开发者需要不断学习和...
Intent在Android开发中扮演着至关重要的角色,它是四大组件(Activity、Service、BroadcastReceiver和ContentProvider)间通信的关键。Intent不仅用于应用间的交互,也可以在同一个应用内的不同组件之间传递信息。...
本文将基于提供的"Android auto-update-service-develop"源码Demo,深入剖析自动更新服务的实现机制,为学习者提供详尽的指导。 首先,自动更新服务通常基于Google的Play服务框架,利用Google Play Store的更新机制...
ServiceSample是一个经典的Android学习项目,旨在帮助开发者深入理解如何在Android应用中使用Service组件。这个压缩包包含了一系列示例代码,展示了Service的各种用法。 Service在Android中的主要用途包括播放音乐...
在Android开发领域,掌握核心知识点是至关重要的...这个"Android--开发--doc"文档可能包含了以上所有或部分知识点的详细解释,通过学习,开发者可以提升自己的Android开发技能,解决实际问题,创建出色的Android应用。
此外,理解Android的组件模型,如活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供者(Content Provider),是构建功能完整应用的基础。 总之,"android-sdk_r24.4.1-windows.zip...
通过以上介绍,读者可以对Android开发的基本环境和系统架构有一个初步的认识,为进一步学习和实践打下基础。在实际开发中,还需要结合具体的API文档和开发实践,逐步深入理解和掌握Android平台的各种特性和技巧。
再者,Android应用的核心组件包括Activity、Service、BroadcastReceiver、ContentProvider等,它们共同构成了Android系统的基石。在源码中,我们应关注这些组件的创建、启动、通信以及生命周期管理,这些都是开发者...
7. **服务端与客户端数据同步**:ArcGIS支持与ArcGIS Server或其他GIS服务的交互,例如通过FeatureService进行数据的增删改查,实现服务端和客户端数据的同步。 8. **3D地图支持**:虽然在Android平台上,3D地图...
总结来说,"native-service-master.zip"提供的示例项目旨在帮助开发者学习如何在Android平台上创建和管理原生服务,包括使用JNI、NDK、AIDL以及处理线程和同步问题。这个项目将提供实践操作经验,加深对Android ...
- Android应用程序架构:理解Activity、Service、BroadcastReceiver、ContentProvider等组件的工作原理。 - UI布局:如LinearLayout、RelativeLayout、ConstraintLayout等布局管理器的使用。 - 数据存储:SQLite...
"安卓Android源码——auto-update-service-develop.zip"这个压缩包很可能包含了用于自动更新服务的源代码,这对于那些希望构建具备自动更新功能的Android应用开发者来说是非常有价值的资源。在这个项目中,我们可以...
通过深入学习和实践《ArcGIS Runtime SDK for Android Guide 100.9.0》,开发者能够构建出功能丰富、性能优异的地理信息应用程序,满足各种业务需求,例如地图导航、资产管理、环境监测、公共服务等。
6. **服务(Service)**:阐述后台运行的服务,如何创建和管理服务,以及服务与Activity的区别。 7. **广播接收器(BroadcastReceiver)**:介绍Android中的事件驱动编程,如何注册和使用BroadcastReceiver响应系统广播...