首页 > 编程知识 正文

trigger input接口,过滤器应该实现的接口

时间:2023-05-06 14:43:34 阅读:154370 作者:854

Parcelable是Android提供的串行化接口,使用起来比Serializable更复杂,但效率高,常用于AIDL通信等。

一. Parcelable基本实现//parcelable接口publicclasspersonimplementsandroid.OS.parcelable { private intage; 私有字符串名称; @ overridepublicintdescribecontents () { return 0; } @ overridepublicvoidwritetoparcel (parcel dest,int flags ) )/dest.writeint ) this.age ); dest.writestring(this.name; } public Person () protected person (parcel in ) ) /按保存顺序this.age=in.readInt ); this.name=in.readString (; } publicstaticfinalcreatorpersoncreator=newcreatorperson () @ overridepublicpersoncreatefromparcel ((parcel source )/) @ }; }重要的是以下两种方法。

writeToParcel():将变量写入 Parcel,进行序列化

createFromParcel():从 Parcel 中创建序列化的对象

如果你觉得操作麻烦,还有一个简单的做法:

将名为Android Parcelable code generator的插件添加到Android Studio中。 打开这个类,使用Alt Insert,最后勾选Parcelbale就可以了。

二、enum实现可编程接口lcddwdm进行枚举,在尝试使用上述插件时,发现无法进行序列号。 这是因为Parcel.writeXXX中没有写入枚举方法,因此无法直接实现Parcelable。

此时,定义将枚举转换为Parcel可写类型的转换规则,支持从Parcel中获取变量以找到对应的枚举即可。

publicenumfruitimplementsparcelable {/* * *水果*/APPLE,BANANA,WATERMELON; @ overridepublicintdescribecontents () { return 0; } @ overridepublicvoidwritetoparcel (parcel dest,int flags )//枚举常量序号dest.writeint ) ordinal ); }通过publicstaticfinalcreatorfruitcreator=newcreatorfruit () ) overridepublicfruitcreatefromparcel /枚举常量序号找到} @ overrrided }; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。