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就行了。