当前位置: 首页 > 知识库问答 >
问题:

静态编程语言如何使用Picasso将URL转换为位图?

危宜
2023-03-14

我想在google api中更改我的标记。所以我在Picasso中使用了“getBitmap”功能,但此功能返回“位图?”

.icon(位图描述符从位图(获取位图(user_URL[i])) -

所以,问题是:

  1. 类型不匹配错误(需要:位图,找到:位图?)
  2. java.lang.NullPointerException:图像在同一行中不能为空

我如何在科特林解决这个问题?

法典:

私人乐趣得到位图(网址 : 字符串) : 位图?{

    var bmp : Bitmap ?=null
    Picasso.get().load(url).into(object : com.squareup.picasso.Target {
        override fun onBitmapLoaded(bitmap: Bitmap?, from: Picasso.LoadedFrom?) {
            bmp =  bitmap
        }

        override fun onPrepareLoad(placeHolderDrawable: Drawable?) {}

        override fun onBitmapFailed(e: Exception?, errorDrawable: Drawable?) {}
    })
    return bmp
}

私人乐趣其他用户制造商(谷歌地图: 谷歌地图) {

    var latitude = mutableListOf<Double>()
    var longitude = mutableListOf<Double>()
    var user_URL = mutableListOf<String>()enter code here

    user_URL = maprepo.returnImage()
    latitude = maprepo.returnLatitude()
    longitude = maprepo.returnLongitude()

    for (i in 0 until latitude.size step (1)) {

        val makerOptions = MarkerOptions()
        makerOptions
            .position(LatLng(latitude[i], longitude[i]))
            .title("")           .icon(BitmapDescriptorFactory.fromBitmap(getBitmap(user_URL[i])))


        googleMap.addMarker(makerOptions)

      
    }
}

图像URL类型必备数组[字符串] 在火库中

maprepo图像功能

fun getImage(boardDTOId: MutableList<String>) {
    for (i in boardDTOId) {
        firestore.collection("Board").document(i).get().addOnSuccessListener {

            if (it != null) {
                photoUrl.add(it["profileUrl"] as String)
            }
        }
    }
}

fun returnImage():MutableList{return photoUrl}

============================================================================

< code > for(I in 0 until latitude . size step(1)){ log . e(" user _ Url ",user _ Url . tostring())log . e(" user _ Url 1 ",user_URL[i]) }

-

021-09-26 03:12:36.810 20861-20861/com.example.myapplicationE/user_Url:[https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles/JPEG_20210925_202119_.png?alt=media

2021-09-26 03:12:36.810 20861-20861/com.example.myappation E/user_Url1: https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles/JPEG_20210925_202119_.png?alt=media

2021-09-26 03:12:36.819 20861-20861/com . example . my application E/user _ Url:[https://firebase storage . Google APIs . com/v 0/b/capston-E 8850 . appspot . com/o/Profiles/JPEG _ 2021 09 25 _ 2021 19 _。png?alt =媒体

2021 09月26日03:12:36.819 20861-20861/com.example。我的应用程序E/user_Url1:https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles/JPEG_20210925_202119_.png?alt=media

2021-09-26 03:12:36.832 20861-20861/com . example . my application E/user _ Url:[https://firebase storage . Google APIs . com/v 0/b/capston-E 8850 . appspot . com/o/Profiles/JPEG _ 2021 09 25 _ 2021 19 _。png?alt =媒体

2021-09-26 03:12:36.832 2086 https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles/JPEG_20210925_195916_.png?alt=media user_Url1 1-20861

2021-09-26 03:12:36.843 2086 https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles/JPEG_20210925_202119_.png?alt=media user_Url 1-20861

2021 09月26日03:12:36.843 20861-20861/com.example。我的应用程序E/user_Url1:https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles/JPEG_20210922_200319_.png?alt=media

共有1个答案

诸葛文博
2023-03-14

简短而简单的方法将是

val bitmap: Bitmap = Picasso.with(context).load(url).get()
 类似资料:
  • 我正在尝试将我的Java类转换为静态编程语言,这是Java代码: 这就是我把它转换成的: Lambda符号似乎根本不起作用,或者我就是搞不懂。我在Kotlin中发现的所有双函数示例都直接返回这样的值 双函数{名称,年龄- 这在语法上是正确的,但在返回某些内容之前,我需要一些额外的逻辑。出现两条错误消息: > 类型不匹配。必需:单位,找到:字符串 但我确实想返回一个字符串,我还显式声明了它。但是,还

  • 我正在尝试在Spring的TransactionTemplate上编写Kotlin包装器。关键代码如下所示: 代码无法编译。这是因为Java类TransactionCallback在Java中定义为: 在静态编程语言中解释为返回可空的T-,但我的方法返回。 如何更改此代码以使其可编译,同时允许调用方使用可为null的类型作为泛型类型? 我可以做这样的事情: 但是我的调用者将无法传递类型为

  • 我的名单如下{(“a”,1),(“b”,2),(“c”,3),(“a”,4)} 我想将其转换为如下列表映射{("a"(1,4)),("b",(2)),("c",(3))} 也就是说,对于a,我们有一个1和4的列表,因为键是相同的。 Kotlin中如何将列表转换为地图中的答案?只显示唯一的价值(而不是像我一样的重复)。 我在Kotlin尝试了 但似乎不起作用。我怎样才能在 Kotlin 中做到这一点

  • 函数应将类型擦除列表转换为,即

  • 我试图用OkHttp和Cucumber在静态编程语言中设置一个Spring启动项目,并且在运行Cucumber任务时遇到以下错误。如何修复? 还有build gradle kts片段 我看到了这个错误https://github.com/square/okio/issues/647看起来可能是它,并修复了这个build.gradle,我如何将其翻译为kotlinbuild.gradle.kts?

  • 我有下面的代码块,希望使用Kotlin减少它。我该怎么做?