Android Service(四)
来源:互联网 发布:淘宝怎样设置降价提醒 编辑:程序博客网 时间:2024/06/05 15:12
上次说到了,我们想掉用service的接口set或者是get一个对象,可是aidl文件里只能声明基本的数据类型,那怎么传递对象呢?方法一般是让对象实现Parcelable接口,这样对象就可以read 或者 write到一个parcel对象里。
如下:
//MyRect.java@Overridepublic int describeContents() {// TODO Auto-generated method stubreturn 0;}public static final Parcelable.Creator<MyRect> CREATOR = new Parcelable.Creator<MyRect>() {@Overridepublic MyRect createFromParcel(Parcel source) {// TODO Auto-generated method stubreturn new MyRect(source.readInt(), source.readInt(), source.readInt(), source.readInt());}@Overridepublic MyRect[] newArray(int size) {// TODO Auto-generated method stubreturn new MyRect[size];}};@Overridepublic void writeToParcel(Parcel dest, int flags) {// TODO Auto-generated method stubdest.writeInt(mLeft);dest.writeInt(mTop);dest.writeInt(mRight);dest.writeInt(mBottom);}public void readFromParcel(Parcel _reply) {// TODO Auto-generated method stubmLeft = _reply.readInt();mTop = _reply.readInt();mRight = _reply.readInt();mBottom = _reply.readInt();}这里的static变量CREATOR是必需要有的。此外我们还要在aidl文件里对MyRect类进行声明,并且类名保持一至。
//MyRect.aidl
package com.example.servicedemo;parcelable MyRect;
这样我们就可以在Service里进行引用了
package com.example.servicedemo;import com.example.servicedemo.MyRect;interface IServiceDemo {void sayHello();void setRect(inout MyRect rect);}
Service的用法大概就说这么多吧,算是个笔记吧,至于各中原理,还要细细读源码,也希望了解的同鞋多多分享。demo 源码
详细还是看google的文档:https://developer.android.com/guide/components/aidl.html
- Android Service(四)
- Android Service 详解四:开始停止service
- Android Service 详解四:开始停止service
- Android Service 详解四:开始停止service
- Android Service 详解四:开始停止service
- Android service(四)Intent服务
- Android四大组件(四) Service
- Android Service 之四 问题总结
- Android学习笔记(四):Service简介
- android学习笔记四——Service
- Android 四大组件学习之Service四
- Android四组件之Service&Demo
- Android bound service 详解四:service绑定及生命期
- Android bound service 详解四:service绑定及生命期
- Android bound service 详解四:service绑定及生命期
- Android bound service 详解四:service绑定及生命期
- Android笔记三十.Service入门(四).跨进程调用Service(AIDL Service)
- Android 面试题总结之Android 基础Service(四)
- 编码GBK的不可映射字符如何解决?(待解决)
- 程序员扩充人脉那些事儿
- GAE、SAE和BAE的对比分析
- poj 3233 Matrix Power Series(矩阵快速幂)
- 路由当交换机用 手机连WIFI设置
- Android Service(四)
- 10分钟学会基于ASP.NET的 JQuery实例 (转)
- ack.vim——vim 整个工程全局查找插件
- IT开发技术网站集
- SoapUI日期格式输入出错--invalid date format (2013-07-05 12:10:08) with out - s at correct place
- 使用ContentProvider管理联系人
- 使用maven构建web项目实例
- vim格式化C代码
- JAVA回调函数