电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

Android移动应用设计与开发 教学课件 ppt 作者 黄宏程 胡敏 陈如松 Android移动应用设计与开发--第06章

13页
  • 卖家[上传人]:E****
  • 文档编号:89337615
  • 上传时间:2019-05-23
  • 文档格式:PPT
  • 文档大小:1.21MB
  • / 13 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、Android 移动应用设计与开发,第6章 服务,6.1 本地服务 6.1.1 两种启动方式 6.1.2 生命周期 6.2 远程服务 6.3 服务小实例 6.4 本章小结,本章导读,第6章 服务,Service是Android系统中的四大组件之一,它与Activity不同,它是不能与用户交互的。它是一种长生命周期的,没有可视化界面,运行于后台的一种服务程序。,6.1 本地服务,本地服务(Local Service)用于应用程序内部,可以实现应用程序自己的一些耗时任务,比如查询升级信息、网络传输,或者在一些场合需要在后台执行,比如播放音乐,并不占用应用程序比如Activity所属的线程,而是单开线程后台执行,这样用户体验比较好。,6.1.1 两种启动方式,Service有两种启动方式: 1、通过Context.bindService(Intent intent, ServiceConnection conn, int flags) 绑定时,bindService - onCreate() onBind();绑定Service需要三个参数: intent:Intent对象,需要定义指向服务

      2、类。 conn:ServiceConnection接口对象,创建该对象要实现它的 onServiceConnected()和 onServiceDisconnected()来判断连接成功或者是断开连接。 flags:创建Service模式,一共有以下三种模式: Service.BIND_AUTO_CREATE:指定绑定的时候自动创建Service,最常使用的模式 Service.BIND_DEBUG_UNBIND:测试绑定的时候,进行调试所用 Service.BIND_NOT_FOREGROUND:不在前台进行绑定,6.1.1 两种启动方式,解绑定,unbindService onUnbind() onDestory(); 此时如果调用者(如Activity)直接退出,Service 由于与调用者绑定在一起,则Service 会随着调用者一同停止。 2、通过Context.startService(Intent intent) 启动时,startService onCreate() onStart(); 停止时,stopService onDestroy();,6.1.2 生命周期,S

      3、ervice生命周期一般有两种运行模式,这两种模式并不是完全分离的: 该模式下,Service是通过Context.startService()方法开始,以Context.stopService()方法停止。 外部程序建立一个到Service的连接,通过这个连接来操作Service。建立连接开始于Context.bindService(),结束于Context.unbindService()。多个客户端可以绑定到同一个Service,如果Service没有启动,可以通过Context.bindService()启动它。,在程序没有停止Service或者Service自己停止的情况下,Service将一直在后台运行。,1,可以通过接口被外部程序调用。,2,6.1.2 生命周期,Service的生命周期:,1,2,整个生命周期,活动生命周期,从onCreate()开始,到onDestroy()结束,跟Activity很类似。Service生命周期在onCreate()中执行初始化操作,在onDestroy()中释放所有用到的资源。,开始于onStart(),或者开始于onBind()方法。

      4、在音乐播放器中,使用Context.startService()方法启动,音乐服务会通过Intent来查看要播放哪首歌曲并开始播放。,6.1.2 生命周期,两种不同的启动方式决定了服务的生命周期不完全相同,但这两种服务过程并非完全对立的,有时候我们需要将它们结合起来使用。,6.2 远程服务,远程服务(Remote Service)用于Android系统内部的应用程序之间。 可以通过自己定义并暴露出来的接口进行程序操作。应用程序建立一个到服务对象的连接,并通过那个连接来调用服务。连接以调用Context.bindService()方法建立,以调用Context.unbindService()关闭。 多个应用程序可以绑定至同一个服务。如果服务此时还没有加载,Context.bindService()会先加载它。可被其他应用程序复用,比如天气预报服务,其他应用程序不需要再写这样的服务,调用已有的即可。 在Android系统中,一个进程通常不能直接访问其他进程的内存空间。如果要在不同的进程间传递对象,需要把对象解析成操作系统能够理解的数据格式。 Android采用AIDL(接口定义语言)的方式

      5、实现。AIDL是一种接口定义语言,用于约束两个进程间的通讯规则,编译器会生成它的代码,从而实现Android设备上的两个进程间通信(IPC)。,6.3 服务小实例,MsgService类是如何完成“客户端定时与服务器进行交互获得最新的话题、私信以及好友的信息,并在界面中进行提示、刷新”大等功能的? MsgService类继承自Service类,实现了其中的onCreate、onStart、onBind与onDestroy方法,同时也实现了接口Runnable和其中的run()方法。 onCreate方法初始化Service,并获得当前登录用户的用户名与密码信息,为请求服务器的参数设置做好准备。 onStart方法利用Runnable开启一个线程,运行run方法,进行服务器的数据请求,在线程中请求是为了防止程序内存占用过大。 onBind方法是用来绑定服务,在本项目中不要求服务绑定。 onDestroy方法销毁此后台服务。,6.4 本章小结,本章所学内容: Android系统中的两种服务:本地服务和远程服务 服务的生命周期。 在本地服务中我们还学习了两种不同的启动方式,不同的应用需考虑使用不同的启动方式。,Thank You !,第4章 结束,

      《Android移动应用设计与开发 教学课件 ppt 作者 黄宏程 胡敏 陈如松 Android移动应用设计与开发--第06章 》由会员E****分享,可在线阅读,更多相关《Android移动应用设计与开发 教学课件 ppt 作者 黄宏程 胡敏 陈如松 Android移动应用设计与开发--第06章 》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.