非硬编码路径在Picasso Android Studio上不起作用

问题描述

我在Android Studio上使用毕加索遇到麻烦。

我正在使用毕加索从数据库中加载图像

这是我的图像加载代码

String resultimageUrl = removeCharat(pImage,31);
Picasso.get().load(resultimageUrl).into(image_profile);

上面的代码的问题是它不起作用,但是如果对路径进行硬编码

Picasso.get().load("http://192.168/254/123/myapp/admin/images/12378123asdjh.jpg").into(image_profile);

代码将加载图像。我该怎么办?

我已经尝试过这样做

String newUrl = "\"http://" + resultimageUrl + "\"";
Picasso.get().load(newUrl).into(image_profile);

但是没有运气

解决方法

如果您有字符串:

resultImageUrl = "192.168/254/123/myapp/admin/images/12378123asdjh.jpg";

您要以http://作为前缀,然后可以使用String#format

String.format("http://%s",resultImageUrl);

编辑:一个有趣的替代方法也可以是使用Uri.Builder,尽管当您拥有每个单独的路径段时会更好:

final String url = new Uri.Builder()
  .scheme("http")
  .path(resultImageUrl)
  .build().toString();