【问题标题】:Fetching image using picasso library in android app在android应用程序中使用毕加索库获取图像
【发布时间】:2015-10-25 03:03:15
【问题描述】:

我正在开发一个 android 应用程序,它现在是静态的。为了使其动态化,我正在考虑使用 picasso 库获取图像。但它没有显示网址的图像。这是我在下面给出的代码 -

MainActivity.java

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;

import com.squareup.picasso.Picasso;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ImageView imageView = (ImageView) findViewById(R.id.imageView);

    Picasso.with(this)
            .load("http://s12.postimg.org/k07c5mzil/images_1.jpg")
            .placeholder(R.mipmap.ic_launcher)
            .error(R.mipmap.ic_launcher)
            .into(imageView);
}
}

activity_main.xml -

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">


<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/imageView"
    android:layout_gravity="center_horizontal" />
</LinearLayout>

我已在 android.manifest 中授予互联网权限。

还有对毕加索库的依赖——

compile 'com.squareup.picasso:picasso:2.5.2'

但我仍然无法看到网址的图像。 请帮帮我...

【问题讨论】:

  • 尝试为 imageview 或 match_parent 设置大小,可能是它没有被绘制(毕加索不会调整您的视图大小)
  • 这样可以吗?将图像上传到一些免费的图像托管网站并使用该图像的 url?
  • 网址可能也不正确...避免重定向
  • 那个网址不是图片..
  • 是的 @VizGhar 和 kientux... 我已经更改了图片网址。现在请交叉检查我的代码,我请求您提供一些解决方案。

标签: android imageview picasso dynamic-ui


【解决方案1】:
Picasso.with(this)
        .load("http://s12.postimg.org/k07c5mzil/images_1.jpg")
        .placeholder(R.mipmap.ic_launcher)
        .error(R.mipmap.ic_launcher)
        .into(imageView);

将从给定的 URL 加载 图像imageView

  • 图像 - 必须是图像(不是一些重定向等)
  • imageView - 它必须以非零尺寸可见(指定宽度和高度)
  • URL - 你必须连接到互联网,因此你必须在清单中声明它

&lt;uses-permission android:name="android.permission.INTERNET" /&gt;

【讨论】:

  • 你能给我推荐一些用于图像存储的门户,以便我可以用于此目的吗?是否可以在我托管我的应用程序的服务器中上传并使用该图像的链接?
  • 我在数据库中有 somename.xml,它通过 Picasso 加载到 ImageView 中,但每个图像都会调用 OnBitmapFailed()。
【解决方案2】:

修改您的代码并更改如下 我已经测试过了,它工作得很好。

ImageView imageView = (ImageView) findViewById(R.id.imageViewOfurl);
    Context context = imageView.getContext();
    String url = "http://yaitisme.com/images/getImage.jpg";



    Picasso.with(context)
            .load(url)
            .placeholder(R.mipmap.ic_launcher)
            .error(R.mipmap.ic_launcher)
            .resize(50,50)
            .into(imageView);

您可以根据您的程序替换名称。

问题的原因可能是大小,因此您可以调整它的大小。 还可以在 imageview 的宽度和高度中包装内容。 互联网许可也是如此。 希望有帮助!

【讨论】:

    猜你喜欢
    • 2016-02-02
    • 2018-01-01
    • 2016-09-03
    • 2016-11-14
    • 2016-12-31
    • 2021-10-01
    • 1970-01-01
    • 2014-10-20
    • 2020-06-27
    相关资源
    最近更新 更多