如何使用其 url 显示图像?

How to display an image by using its url?

大家好,我想通过 URL 显示网络上的图像。这是我的代码:

public class LasVegas extends ActionBarActivity {

    //variable del toolbar o app_bar
    private android.support.v7.widget.Toolbar toolbar;
    //variable del view de la camara
    private ImageView viewCamVegas;
    //variable del bitmap(hace la imagen del url)
    private Bitmap bitmap;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //se "liga" la apariencia (xmls) a el codigo de java
        setContentView(R.layout.las_vegas);

        //le pasamos el view de el xml a la variable viewCamVegas
        viewCamVegas = (ImageView) findViewById(R.id.camaraVegas);

        bitmap = getBitmapFromURL("http://www.hdwallpapersimages.com/wp-content/uploads/2014/01/Winter-Tiger-Wild-Cat-Images.jpg");

        //se le pasa la imagen de el url al imageview
        viewCamVegas.setImageBitmap(bitmap);


        //se le da el valor de el app_bar o toolbar que creamos a la variable toolbar que creamos en esta clase
        toolbar = (android.support.v7.widget.Toolbar) findViewById(R.id.app_bar);


        //se aclara que no se va a usar el toolbar de android si no el mio (app_bar)
        setSupportActionBar(toolbar);

        //Vamos a crear el boton back de el toolbar para regresar a la actividad principal
        getSupportActionBar().setHomeButtonEnabled(true);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);


    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement

        //si se cliquea pico en el menu popout de la appbar y placa despliega la actividad de el pico y placa
        if (id == R.id.picoplaca) {

            Intent intent = new Intent(this, PicoPlaca.class);
            startActivity(intent);

        }
        //si se cliquea contacto en el menu popout de la appbar despliega la actividad contacto
        else if (id == R.id.contactomenu) {
            Intent intent = new Intent(this, Contacto.class);
            startActivity(intent);
        }


        //Si se preciona el boton hacia atras, te lleva a la actividad principal
        if (id == android.R.id.home)

        {
            Intent intent = new Intent(this, MainActivity.class);
            startActivity(intent);
        }

        return super.onOptionsItemSelected(item);


    }

    //metodo Bitmap que va a poner la imagen de el url
    public Bitmap getBitmapFromURL(String src)

    {
        try
        {
            URL url = new URL(src);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setDoInput(true);
            connection.connect();
            InputStream input = connection.getInputStream();
            Bitmap myBitmap = BitmapFactory.decodeStream(input);
            return myBitmap;

        }

        catch (Exception e) {
            e.printStackTrace();
            return null;
        }

    }



}

它完美编译,但是当我运行它时,URL应该显示图像的图像视图是空的;它根本不显示任何内容。

我该如何解决这个问题?

您尝试过使用 Picasso 吗?只需将 .jar 文件添加到您的 libs 文件夹并将以下行添加到您的代码中:

Picasso.with(this)
.load("http://www.hdwallpapersimages.com/wp-content/uploads/2014/01/Winter-Tiger-Wild-Cat-Images.jpg")
.into(viewCamVegas);