在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"/>