【问题标题】:Draw Image from Internet in kotlin在 kotlin 中从互联网上绘制图像
【发布时间】:2022-01-20 23:28:14
【问题描述】:

在我从资源设置图像之前,我需要在我的游戏中设置背景图像,但现在我需要从互联网设置背景。 我试过这段代码:

var uri = "https://apod.nasa.gov/apod/image/2201/IMG_9447_1024.jpg".toUri()
  @Suppress("DEPRECATION")
  var bitmap = MediaStore.Images.Media.getBitmap(context.contentResolver,uri)

  bitmap = Bitmap.createScaledBitmap(
    bitmap,
    2000,
    2000,
    false
  )

但我收集了这个错误:

E/AndroidRuntime: FATAL EXCEPTION: Thread-2
Process: com.example.ilmiogioco, PID: 10312
java.io.FileNotFoundException: No content provider: https://apod.nasa.gov/apod/image/2201/IMG_9447_1024.jpg
    at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1673)
    at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:1503)
    at android.content.ContentResolver.openInputStream(ContentResolver.java:1187)
    at android.provider.MediaStore$Images$Media.getBitmap(MediaStore.java:1707)
    at com.example.ilmiogioco.Solo.SpaceView.draw(SpaceView.kt:346)
    at com.example.ilmiogioco.Solo.SpaceView.run(SpaceView.kt:146)
    at java.lang.Thread.run(Thread.java:919)

它说没有内容提供者,但 url 有效。 其他方法?

【问题讨论】:

    标签: android android-studio kotlin


    【解决方案1】:

    您想将图像从 URL 加载到 imageview,对吗?实现这一目标的最简单方法是使用第三方库。

    最受欢迎的库之一是“Glide”。试试看: https://github.com/bumptech/glide

    另一种选择是 google 推荐的库“Picasso”。与 Glide 非常接近。

    如果你想看看: https://square.github.io/picasso/

    【讨论】:

      猜你喜欢
      • 2023-02-22
      • 1970-01-01
      • 2014-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多