URL到ImageView

时间:2014-03-31 16:59:24

标签: android url imageview http-get

我查看了遍历stackoverflow并且没有为此找到一个解决方案!

    package com.example.sfgsfg;

import java.io.InputStream;
import java.net.URL;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.entity.BufferedHttpEntity;
import org.apache.http.impl.client.DefaultHttpClient;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.widget.ImageView;

public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ImageView img = (ImageView) findViewById(R.id.imageView1);
        try {
            URL url = new URL(
                    "http://0.tqn.com/d/webclipart/1/0/5/l/4/floral-icon-5.jpg");
            // try this url =
            // "http://0.tqn.com/d/webclipart/1/0/5/l/4/floral-icon-5.jpg"
            HttpGet httpRequest = null;

            httpRequest = new HttpGet(url.toURI());

            HttpClient httpclient = new DefaultHttpClient();
            HttpResponse response = (HttpResponse) httpclient
                    .execute(httpRequest);

            HttpEntity entity = response.getEntity();
            BufferedHttpEntity b_entity = new BufferedHttpEntity(entity);
            InputStream input = b_entity.getContent();

            Bitmap bitmap = BitmapFactory.decodeStream(input);

            img.setImageBitmap(bitmap);

        } catch (Exception ex) {

        }

    }

}

这是我最近的尝试,我尝试过以下所有内容: Display Image(From Url) In ImageView Android, Make an image at a URL equal to ImageView's image How to load an ImageView by URL in Android? how to set image from url for imageView Android App Display Image From URL

什么都行不通!而且我需要它而不使用AsyncTask!请帮助!

3 个答案:

答案 0 :(得分:1)

我强烈建议您使用this

答案 1 :(得分:1)

答案 2 :(得分:0)

使用Glide或Picasso从URL获取图像并将其设置为imageview。这两个通常使用的非常著名的库。

对于Glide实施'com.github.bumptech.glide:glide:4.2.0'文件或Java中的build.gradle

Glide.with(getApplicationContext())
                .load(image)
                .into(imageView);

对于毕加索,在'com.squareup.picasso:picasso:2.71828'和Java中实现build.gradle

Picasso.get()
  .load(url) 
  .resize(50, 50)
  .centerCrop()
  .into(imageView)