android 中封装对图片存储以及传递工具类

笔者公司自己研发的android终端设备中,有拍照模块,然后应用中需要把照片传递到很多页面,如果用intent把图片的byte数组传递页面,有时候会因为字节数组过大而传递不成功,因此封装了一个工具类,先把照片存储到一个类中,跳转页面之后再把图片的byte数组取出来。

1、思路分析

其实就是把图片转成byte数组,然后通过HashMap存储,跳转页面之后在从HashMap中取出byte数组,在转成Bitmap来满足业务的使用

2、核心代码
public class PhotoCollectUtils  {
    public static PhotoCollectUtils mPhotoCollectUtils;

    private HashMap<Integer, byte[]> hashMapData = null;

    public static PhotoCollectUtils getInstance() {
        if (mPhotoCollectUtils == null) {
            mPhotoCollectUtils = new PhotoCollectUtils();
        }
        return mPhotoCollectUtils;
    }

    @SuppressLint("UseSparseArrays")
    public PhotoCollectUtils() {
       
        hashMapData = new HashMap<Integer, byte[]>();
    }

    public void saveHashMapData(int num, byte[] dataList) {
        if (dataList != null) {
            hashMapData.put(num, dataList);
        }
    }

    public HashMap<Integer, byte[]> getHashMapData() {
        return hashMapData;
    }

    public void reSetHashMap() {
        if (hashMapData != null) {
            hashMapData.clear();
        }
    }
}
3、使用方法
//存储数据
 PhotoCollectUtils.getInstance().saveHashMapData(0, bytes);

//获取存储的数据
private HashMap<Integer, byte[]> hashMap;
hashMap = PhotoCollectUtils.getInstance( ).getHashMapData( );
byte[] byteData = hashMap.get(0);
    原文作者:追梦小乐
    原文地址: https://www.jianshu.com/p/2ca6ee7243e3
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞