本文实例为大家分享了缓存工具类ACache的使用,供大家参考,具体内容如下
(1). ACache mCache = ACache.get(this);
(2). String cacheData = mCache.getAsString("cache_data");
(3). if (!TextUtils.isEmpty(cacheData)) {
解析、setAdapter、
}
(4). 然后仍然请求网络,因为缓存的意义是为了在没网的情况下有数据显示。
(5). 网络请求后获得的数据再
mCache.remove("cache_data");
mCache.put("cache_data", data);
Acache.java:
/** * Copyright (c) 2012-2013, Michael Yang 杨福海 (pressFormat.PNG, 100, baos); return baos.toByteArray(); } /* * byte[] → Bitmap */ private static Bitmap Bytes2Bimap(byte[] b) { if (b.length == 0) { return null; } return BitmapFactory.decodeByteArray(b, 0, b.length); } /* * Drawable → Bitmap */ private static Bitmap drawable2Bitmap(Drawable drawable) { if (drawable == null) { return null; } // 取 drawable 的长宽 int w = drawable.getIntrinsicWidth(); int h = drawable.getIntrinsicHeight(); // 取 drawable 的颜色格式 Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565; // 建立对应 bitmap Bitmap bitmap = Bitmap.createBitmap(w, h, config); // 建立对应 bitmap 的画布 Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, w, h); // 把 drawable 内容画到画布中 drawable.draw(canvas); return bitmap; } /* * Bitmap → Drawable */ @SuppressWarnings("deprecation") private static Drawable bitmap2Drawable(Bitmap bm) { if (bm == null) { return null; } return new BitmapDrawable(bm); } }}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。