Android bitmap序列化
来源:互联网 发布:血槽已空的网络意思 编辑:程序博客网 时间:2024/06/06 15:42
最近在开发中需要用到图片bitmap的序列化并进行传递,发现bitmap是没有序列化的,下面是自己实现的一个序列化方法,分享下。
----------------------------------------------------------------------------------------------------------
import java.io.ByteArrayOutputStream;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Bitmap.CompressFormat;
import android.os.Parcel;
import android.os.Parcelable;
/**
*@author tcwkid
*@date 2011-12-07
*/
public class DetailIcon implements Parcelable{
private Bitmap draw;
private static byte[] byteDraw;
public Bitmap getDraw() {
return draw;
}
public void setDraw(Bitmap draw) {
this.draw = draw;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
byteDraw=getBytes(draw);
dest.writeByteArray(byteDraw);//其实这里写入是有顺序的,先写的先读
}
public static final Parcelable.Creator CREATOR=new Creator() {
@Override
public DetailIcon[] newArray(int size) {
return new DetailIcon[size];
}
@Override
public DetailIcon createFromParcel(Parcel source) {
DetailIcon di=new DetailIcon();
source.readByteArray(byteDraw);
di.setDraw(getBitmap(byteDraw));
return di;
}
};
private static Bitmap getBitmap(byte[] data) {
return BitmapFactory.decodeByteArray(data, 0, data.length);
}
private byte[] getBytes(Bitmap bitmap) {
ByteArrayOutputStream baops = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.PNG, 0, baops);
return baops.toByteArray();
}
}
----------------------------------------------------------------------------------------------------------
以上是通过byte[]来进行序列化的,因为bitmap是没有序列化的,需要我们去实现,可以选择继承bitmap实现序列化,这里采用byte[]方式。
接下来就可以使用Intent的putExtra(String name,Parcelable value)来发送bitmap了。
- Android bitmap序列化
- Android bitmap对象序列化
- Android bitmap序列化
- Bitmap 不能序列化
- 如何将Bitmap序列化
- 如何将Bitmap序列化
- Android Parcelable 序列化 的时候:已经序列化的对象, 数组,boolean,Bitmap;
- Android开发时图片Bitmap序列化问题(How to fix a java.io.NotSerializableException: android.graphics.Bitmap)
- Android平台实现位图(Bitmap)的序列化和反序列化
- 指定存储位置/Bitmap内存溢出解决/解决Bitmap无法序列化问题/输入流转Bitmap
- 如何将Bitmap序列化(Bitmap的序列化问题)
- android Bitmap
- android Bitmap
- android bitmap
- android Bitmap
- android bitmap
- android Bitmap
- Android Bitmap
- 课程设计:用wininet接口写的FTP Client
- 关于信号强度单位db和dBm
- 自己动手写C语言格式化输出函数(三)
- 黑马程序员_泛型
- JAVA String.format 方法使用介绍
- Android bitmap序列化
- 初步了解实体类
- windows系统上安装与使用Android NDK r5
- 改mm
- vmware NAT共享设置
- web上的分页分析
- 传值和传址
- OGNL表达式struts2标签“%,#,$”
- 旋钮编码开关工作原理