Android bitmap对象序列化
来源:互联网 发布:ubuntu16.04 网络设置 编辑:程序博客网 时间:2024/06/05 04:34
由于BitMap没有实现序列化接口,所以当序列化到本地或者在activity之间序列化传递时,会报异常。
在这里介绍个简单的方法实现序列化BitMap:
可以将bitmap对象转换成byte[],然后再序列化或者传递,相反同样可以把byte[]转换成bitma对象。变相的传递序列化Bitmap。
代码如下:
bitmap对象和byte[]的相互转换
public byte[] getBytes(Bitmap bitmap){ ByteArrayOutputStream baos = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.PNG, 0, baos); return baos.toByteArray();} public Bitmap getBitmap(byte[] data){ return BitmapFactory.decodeByteArray(data, 0, data.length);}
序列化bitmap对象到本地和发序列化:
public void saveInputTypeEditTextDataToFile(Object object,String fileName){ObjectOutputStream objectOutputStream = null;try {FileOutputStream fileOutputStream = mContext.openFileOutput(fileName,Context.MODE_PRIVATE);objectOutputStream = new ObjectOutputStream(fileOutputStream);objectOutputStream.writeObject(object);objectOutputStream.flush();} catch (IOException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}finally{if (objectOutputStream != null) {try {objectOutputStream.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}public byte[] readBitmapDataFromFile(String fileName){ObjectInputStream objectInputStream = null;try {FileInputStream fileInputStream = mContext.openFileInput(fileName);objectInputStream = new ObjectInputStream(fileInputStream);byte[] editTexts = (byte[]) objectInputStream.readObject();return editTexts;} catch (StreamCorruptedException e) {e.printStackTrace();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}catch (Exception e) {e.printStackTrace();}finally{if (objectInputStream != null) {try {objectInputStream.close();} catch (IOException e) {e.printStackTrace();}}}return null;}
之后就可以根据你自己的逻辑对bitmap进行处理了。
- Android bitmap对象序列化
- Android bitmap序列化
- Android bitmap序列化
- Android Parcelable 序列化 的时候:已经序列化的对象, 数组,boolean,Bitmap;
- android对象序列化
- android 对象序列化
- android 对象序列化
- Android 对象序列化
- Android对象序列化
- android对象序列化
- Android对象序列化
- Android对象序列化
- Android对象序列化
- Android对象序列化
- Bitmap 不能序列化
- Android Serializalbe对象序列化
- android 序列化对象 Parcelable
- Android对象序列化实现
- 比如“1,2,3....10”,1到10这10个数,显示他的所有可能组合情况(排列顺序无所谓)
- vim命令(详细)
- linux下python学习笔记(六)
- 内核部件之同步机制之原子操作
- Asterisk SIP连通测试(X-Lite eyebeam)
- Android bitmap对象序列化
- linux内核面试题
- poj 1080&&hdu 1080 human gene fucnction
- Howto install matlab on Ubuntu
- [CF]291E. Tree-String Problem | dfs+kmp
- org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed
- 左值右值
- 强制数据类型转换的总结
- VirtualBox中的ubutnu系统下使用U盘