android项目课程的设计与实施国培service_第1页
android项目课程的设计与实施国培service_第2页
android项目课程的设计与实施国培service_第3页
android项目课程的设计与实施国培service_第4页
android项目课程的设计与实施国培service_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Android项目课程的设计与实施(国培)第9天Android服务项目涉及技能#技能项重点难点隶属课程1Activity组件√Android程序设计基础2Boradcastreceiver组件√√Android程序设计基础3线程√√Android程序设计基础4Service组件√Android程序设计基础5自定义组件(button)√√Android高级程序设计6文件读写与数据存储√Android高级程序设计主要内容认识服务系统服务服务与线程前台服务自定义服务认识服务服务(Service)是一个没有用户界面的在后台运行执行耗时操作的应用组件。其他应用组件能够启动Service,并且当用户切换到另外的应用场景,Service将持续在后台运行。另外,一个组件能够绑定到一个service与之交互(IPC机制)。

例如,一个service可能会处理网络操作,播放音乐,操作文件I/O或者与内容提供者(contentprovider)交互,这些活动都是在后台进行。系统服务NotificationServiceWindowServiceActivityService通过context.getSystemService(Context.ACTIVITY_SERVICE)获得ActivityManager,通过ActivityManager我们可以获得系统里正在运行的activities,包括进程(Process)等、应用程序/包、服务(Service)、任务(Task)信息。通过Context.getSystemService(Context.NOTIFICATION_SERVICE)获得NotificationManager,实现状态栏通知。通过Context.getSystemService(Context.WINDOW_SERVICE)获得WindowManager,使用WindowManager可以在其他应用最上层,甚至手机桌面最上层显示窗口。NOTIFICATION_SERVICE使用NOTIFICATION_SERVICE实现状态栏通知1.获取NotificationManager实例,即获得状态通知栏管理权;2.实例化notification的constructor3.对notifyBuilder设置各种属性4.显示notificationsmallicon、ContentTitle、ContentText必须实现WINDOW_SERVICEWINDOW_SERVICE实现悬浮窗1、获取WindowManagermanager=(WindowManager)getApplicationContext().getSystemService(Context.WINDOW_SERVICE);2、设置WindowManager.LayoutParams

通过LayoutParams设置窗口的属性,进行各种各样的操作,像悬浮窗口的拖动,拉伸等操作。3、WindowManager的操作(1)窗口添加addView(Viewview,ViewGroup.LayoutParamsparams);(2)窗口更新updateViewLayout(Viewview,ViewGroup.LayoutParamsparams);(3)窗口删除removeView(Viewview);自定义服务1.继承Service类;2.重写onCreate()、onStartCommand()、onDestroy()、onBind()中需要的方法;

3.在androidManifest.xml中进行注册;4.启动Service;

启动自定义service有两种方法:startService和bindService实现步骤服务类别类别区别startService启动的服务主要用于启动一个服务执行后台任务,不进行通信。停止服务使用stopServicebindService启动的服务该方法启动的服务可进行通信。停止服务使用unbindServicestartService

同时也bindService启动的服务停止服务应同时使用stepService与unbindService生命周期传递数据1.使用Intent作为载体,启动服务时传递数据;2.从onStartCommand()中的intent参数中接收数据;onStartCommand()返回值START_NOT_STICKYSTART_STICKYSTART_REDELIVER_INTENTSTART_STICKY_COMPATIBILITY说明:注意四种返回值之间的差别及对于LowMemory的影响Service与Thread相同点不同点可以进行一个后台长时间的动作,而不阻塞线程。Thread:Thread是程序执行的最小单元,它是分配CPU的基本单位。可以用Thread来执行一些异步的操作。

Service:Service是android的一种机制,当它运行的时候如果是LocalService,那么对应的Service是运行在主进程的main线程上的。前台服务类别区别应用前台服务会在通知一栏显示ONGOING的Notification,使用前台服务可以避免服务在后台运行的时候被系统KILL。当服务被终止的时候,通知一栏的Notification也会消失,这样对于用户有一定的通知作用。常见的如音乐播放服务。后台服务默认的服务即为后台服务,即不会在通知一栏显示

ONGOING的

Notification。当服务被终止的时候,用户是看不到效果的。某些不需要运行或终止提示的服务,如天气更新,日期同步,邮件同步等。前台服务与后台服务前台服务使用方式onStartCommand里面调用startForegroun

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论