我刚开始接触Android Studio和Kotlin,需要从互联网加载图片并将其保存到手机上。我尝试使用Glide将图片加载为位图,然后保存,但没有成功。这段代码是我找到的最好的东西,但它不起作用。
try {
var bitmap = Glide.with(this)
.asBitmap()
.load("https://s3.amazonaws.com/appsdeveloperblog/Micky.jpg")
.apply(RequestOptions().override(100).downsample(DownsampleStrategy.CENTER_INSIDE).skipMemoryCache(true).diskCacheStrategy(DiskCacheStrategy.NONE))
.submit().get()
val wrapper = ContextWrapper(applicationContext)
var file = wrapper.getDir("Images", Context.MODE_PRIVATE)
file = File(file, "img.jpg")
val out = FileOutputStream(file)
bitmap.compress(Bitmap.CompressFormat.JPEG, 85, out)
out.flush()
out.close()
}
catch (e: Exception) {
println(e)
}
我理解的问题在于Glide中的 ".submit().get()" 部分。但是如果我将它移除,则压缩功能将无法正常工作。
var file = it.getDir("Images", Context.MODE_PRIVATE)
时,文件将保存到“Images”文件夹中。所以这意味着我理解错了,我仍然需要定义目录吗? - Seiggailion