在Android应用程序中使用毕加索库获取图像

时间:2015-10-24 18:18:39

标签: android imageview picasso dynamic-ui

我正在开发一个Android应用程序,它现在是静态的。为了让它变得动态,我想用毕加索库来获取图像。但它没有显示网址的图像。以下是我的代码 -

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'

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

2 个答案:

答案 0 :(得分: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);

图片从指定的网址加载到 imageView

  • 图片 - 必须是图像(不是某些重定向等)
  • imageView - 必须以非零尺寸(指定宽度和高度)显示
  • 网址 - 您必须连接到互联网,因此您必须在清单
  • 中声明它

<uses-permission android:name="android.permission.INTERNET" />

答案 1 :(得分:0)

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

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的宽度和高度中包装内容。 互联网许可。 希望它有所帮助!