android编写Service入门用法与教程
2010-09-15 00:09:00 来源:WEB开发网这里将前面的例子中返回的int数据改为复杂数据类型:
package com.easymorse;import android.os.Parcel;import android.os.Parcelable;public class CountBean implements Parcelable { public static final Parcelable.Creator CREATOR = new Creator() { @Override public CountBean createFromParcel(Parcel source) { CountBean bean = new CountBean(); bean.count = source.readInt(); return bean; } @Override public CountBean[] newArray(int size) { return new CountBean[size]; } }; public int count; @Override public void writeToParcel(Parcel dest, int flags) { dest.writeInt(this.count); } @Override public int describeContents() { return 0; }}
然后,需要在相同包下建一个同名的aidl文件,用于android生成相应的辅助文件:
package com.easymorse;parcelable CountBean;
这一步是android 1.5后的变化,无法通过adt生成aidl,也不能用一个比如全局的project.aidl文件,具体见:http://www.anddev.org/viewtopic.php?p=20991
然后,需要在服务的aidl文件中修改如下:
package com.easymorse;import com.easymorse.CountBean;interface ICountService { CountBean getCount();}
其他的改动很小,只需将CountService和调用CountService的部分修改为使用CountBean即可。
原文出自:http://marshal.easymorse.com/archives/1564
赞助商链接