Android Parcel序列化实践
来源:互联网 发布:16年淘宝食品类目新规 编辑:程序博客网 时间:2024/06/08 07:40
public static class APPInfo implements Parcelable{ private String mAppName; private Drawable mDrawable; private String mPkgName; private String mStorePkg; private String mAppID; private String mDrawableUrl; private boolean mIsSelect; private boolean mIsInstall; public boolean isIsSelect() { return mIsSelect; } public void setIsSelect(boolean isSelect) { mIsSelect = isSelect; } public boolean isIsInstall() { return mIsInstall; } public String getStorePkg() { return mStorePkg; } public void setStorePkg(String storePkg) { mStorePkg = storePkg; } public void setIsInstall(boolean isInstall) { mIsInstall = isInstall; } public String getAppName() { return mAppName; } public void setAppName(String appName) { mAppName = appName; } public Drawable getDrawable() { return mDrawable; } public void setDrawable(Drawable drawable) { mDrawable = drawable; } public String getPkg() { return mPkgName; } public void setPkg(String pkgName) { mPkgName = pkgName; } public String getDrawableUrl() { return mDrawableUrl; } public void setDrawableUrl(String drawableUrl) { mDrawableUrl = drawableUrl; } public String getAppID() { return mAppID; } public void setAppID(String appid) { mAppID = appid; } public boolean isInstalled() { return mIsInstall; } public void setInstalled(boolean isInstalled) { mIsInstall = isInstalled; } public boolean isSelected() { return mIsSelect; } public void setSelected(boolean isSelected) { mIsSelect = isSelected; } public APPInfo(){ } public APPInfo(Parcel in) { //这里的顺序一定要和writeToParcel顺序一致,不然取的值会颠倒 mAppName = in.readString(); mPkgName = in.readString(); mAppID = in.readString(); mStorePkg = in.readString(); mDrawableUrl = in.readString(); } @Override public int describeContents() { // TODO Auto-generated method stub return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(mAppName); dest.writeString(mPkgName); dest.writeString(mAppID); dest.writeString(mStorePkg); dest.writeString(mDrawableUrl); } public static final Parcelable.Creator<APPInfo> CREATOR = new Creator<APPInfo>() { public APPInfo createFromParcel(Parcel source) { return new APPInfo(source); } public APPInfo[] newArray(int size) { return new APPInfo[size]; } };
Drawable 暂时没有找到序列化的方法,可以转成用Bitmap,因为Bitmap类本身已经是序列化的,或者重写Drawable类
转:android序列化Parcelable对boolean的实现
writeToParcel:
- dest.writeByte((byte) (myBoolean ? 1 : 0)); //if myBoolean == true, byte == 1
readFromParcel:
- myBoolean = in.readByte() != 0; //myBoolean == true if byte != 0
很简单,有木有,只是把boolean转成byte就行了。
0 0
- Android Parcel序列化实践
- Android序列化之Parcel
- Parcel序列化
- Android 数据Parcel序列化过程源码分析
- Android中的序列化机制——Parcel与Parcelable
- 序列化机制之-Parcel
- 安卓bundle传递序列化对象RuntimeException: Parcel android.os.Parcel@8325970: Unmarshalling unknown type code
- Android Parcel
- Android Parcel
- android parcel
- Android Parcel
- android parcel
- 序列化手段(1)——parcel例子详解
- Parcel android.os.Parcel@439e4cf0
- android 中Parcel
- Android Parcel理解
- Android Parcel理解
- Android中的Parcel是什么
- 数组笔记
- 统计每个小写字母出现的次数
- FPGA & Verilog开发经验若干
- javascript 函数属性prototype详解
- EDI采用标准组件设计可根据要求组合
- Android Parcel序列化实践
- insert /*+ append */ into一定会比insert into好吗?
- 第十三周项目五:统计每一个数的出现次数
- 二叉排序树、二叉平衡树算法
- 哈夫曼树与字典树
- Spring MVC 学习笔记12 —— SpringMVC+Hibernate开发(1)依赖包搭建
- 再看 运算符重载
- Flex通信-与Java实现Socket通信实例
- TClientSocket和TServerSocket 属性,方法,事件