综合( 右侧选择分类 )
SuperBig

Android Service详解(八)---前台服务详解

这是第八篇文章主要讲的是如何实现一个前台服务回顾可以到第一篇文章从头了解Service:Android Service详解系列1,Android Service详解(一)---概述4,Android Service详解(四)---绑定服务BoundService详解之扩展Binder类7,Android Service详解(七)---绑定服务BoundService详解之Messenger双向通信
5205 人浏览
SuperBig

Android Service详解(七)---绑定服务BoundService详解之Messenger双向通信的实现

这是第七篇文章主要讲的是BoundService中用Messenger实现IPC。前三篇文章对扩展Binder类和AIDL进行了说明,绑定服务一般通过AIDL和Messenger来实现IPC一、概述Messenger实现IPC通信,底层也是使用了AIDL方式。和AIDL方式不同的是, Messenger方式是利用Handler形式处理,因此,它是线程安全的,这也表示它不支持并发处理;而AIDL方式
3021 人浏览
SuperBig

Android Service详解(六)---绑定服务BoundService详解之AIDL的自定义属性使用

这是第六篇文章主要讲的是BoundService中用AIDL实现IPC,自定义属性的使用,上篇博客已经说明了AIDL应该如何使用,但是如果想传入一个自定义的类的时候怎么办呢?那么这篇博客将对这种情况进行详细描述废话不多说了,直接上步骤,前期的步骤上篇博客已经说明了,这篇是对上篇博客的扩展1.新建一AIDL文件,并与你即将定义的类型名字相同,例如Person.aidl2.新建一个类Person.ja
2843 人浏览
SuperBig

Android Service详解(五)---绑定服务BoundService详解之AIDL的使用

一、什么是AIDLAIDL(Android Interface Definition Language)安卓接口定义语言二、为什么使用AIDL呢?如果将Service变成远程Service的话,使用扩展的Binder进行通信会报错:这是由于在Bind Service按钮的点击事件里面我们会让MainActivity和MyService建立关联,但是目前MyService已经是一个远程Service
3047 人浏览
SuperBig

Android Service详解(四)---绑定服务BoundService详解之扩展Binder类

这是第四篇文章主要讲的是BoundService中使用扩展Binder类实现一、基础知识1.什么是绑定服务绑定服务是客户端-服务器接口中的服务器。绑定服务可让组件(例如 Activity)绑定到服务、发送请求、接收响应,甚至执行进程间通信 (IPC)。 绑定服务通常只在为其他应用组件服务时处于活动状态,不会无限期在后台运行。2.实现原理应用程序组件(客户端)通过调用bindService()方法能
3231 人浏览
SuperBig

Android Service详解(三)---IntentService

这是第三篇文章主要讲的是IntentService的使用一、Service的耗时操作如何解决呢?不管是何种Service,它默认都是在应用程序的主线程(亦即UI线程)中运行的。所以,如果你的Service将要运行非常耗时或者可能被阻塞的操作时,你的应用程序将会被挂起,甚至会出现ANR错误。为了避免这一问题,你应该在Service中重新启动一个新的线程来进行这些操作。现有两种方法大家参考:① 直接在
3185 人浏览
SuperBig

Android Service详解(二)---StartService

一丶概述启动服务由另一个组件通过调用 startService() 启动,这会导致调用服务的 onStartCommand() 方法。服务启动之后,其生命周期即独立于启动它的组件,并且可以在后台无限期地运行,即使启动服务的组件已被销毁也不受影响。 因此,服务应通过调用 stopSelf() 结束工作来自行停止运行,或者由另一个组件通过调用 stopService() 来停止它。应用组件(如 Act
3533 人浏览
SuperBig

Android Service详解(一)---概述

一、什么是ServiceService 是一个可以在后台执行长时间运行操作而不提供用户界面的应用组件。服务可由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行。 此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC)。 例如,服务可以处理网络事务、播放音乐,执行文件 I/O 或与内容提供程序交互,而所有这一切均可在后台进行。二、那么服务可以做什么呢?Serv
4002 人浏览