使用Glide把图片保存到sharedpreferences中

2019-05-09  本文已影响0人  糖糖_2c32

在builde.gradle中添加依赖:

com.github.bumptech.glide:glide:4.9.

在子线程中添加代码:

Bitmap bitmap = Glide.with(MainActivity.this)
       .asBitmap()
       .load(url)   //需要下载的图片的地址
       .submit()
       .get();

这样就得到了图片,接下来就是把图片转化为base64格式的字符串了

//把bitmap转化为base64格式的字符串
ByteArrayOutputStream out = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 30, out);
String result = Base64.encodeToString(out.toByteArray(), Base64.DEFAULT);

得到字符串以后,把其存入到sharedPreferences中去

SharedPreferences sharedPreferences = getSharedPreferences("image", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("imageString", result);
editor.apply();

然后再主线程中,得到sharedPreferences中的base64格式的字符串,并把图片加载进ImageView中。

SharedPreferences sharedPreferences = getSharedPreferences("image", MODE_PRIVATE);
String imageString = sharedPreferences.getString("imageString", "");
byte[] bytes = Base64.decode(result, Base64.DEFAULT);
Bitmap b = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
mImageView.setImageBitmap(b);

最后不要忘记再AndroidManifast.xml中添加网络权限

<uses-permission android:name="android.permission.INTERNET"/>
上一篇下一篇

猜你喜欢

热点阅读