Logo SatellaSoft



Carregar imagem usando Picasso no Android Studio

Veja como usar a biblioteca Picasso para carregar imagens da web dentro do ImageView.


Ícone homem Gunnar Correa
Ícone data de publicação 26/05/2016
Ícone quantidade de visualização 3,862
Ícone bandeira do Brasil Português

Para que nossos aplicativos não usem informações locais ou até mesmo para não ficar estático, podemos utilizar diversas bibliotecas ou recursos para fazer requisições de informações da internet. Neste artigo será apresentado a biblioteca Picasso, em especifico apenas a parte da requisição e carregamento da imagem em um ImageView.

Antes de mais nada, devemos acessar a página da biblioteca e obter os dados do Gradle, para isto acesse http://square.github.io/picasso, note que quase no final da página, temos uma guia chamada Gradle, devemos copiar esta informação e colar dentro do nosso pacote.

Pacote Gradle no git hub

Dentro do nosso projeto abra o arquivo Module.app, que está dentro de app/Gradle Scripts/build.gradle (segundo item).

Inserir pacote Gradle

 

Dentro do arquivo de XML, em dependencies, insira o pacote Gradle que obteve no site do Git Hub, como mostra a imagem a seguir.

Pacote do Picasso inserido no Gradle

Apenas inserir as informações do pacote não é o suficiente para que a biblioteca fique ativa em nossa aplicação. Assim que inserir o pacote em dependencies, um botão na parte superior direita do editor de script irá surgir, clique no botão Sync Now para sincronizar a biblioteca com seu pacote.

Sincronizar pacote do Picasso com a aplicação.

Aguarde a biblioteca ser baixada e aplicada no pacote, dependendo da velocidade de sua conexão pode demorar.

Sincronizando pacote Gradle com Android Studio.

Com a biblioteca pronta, agora apenas precisamos fazer as requisições, para isto insira em seu layout um ImageView, Button e Plain Text.

Projeto com ImageView, TextView e um Buttom.

Nosso botão terá um método chamado CarregarImagem(), quando ele for chamado, vai obter a url da imagem que está dentro do campo txtUrl, em seguida carregar para dentro do imvImagem.

A biblioteca do Picasso precisa apenas do contexto, url da imagem e o ImageView que irá carregar a imagem requisitada.  Veja o código abaixo.

Código 01:

package com.gunnarcorrea.picassorequisicao;

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

import com.squareup.picasso.Picasso;

public class MainActivity extends AppCompatActivity {

    private TextView txtUrl; //Variável privada do tipo TextView
    private ImageView imvImagem; //Variável privada do tipo ImageView

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

        txtUrl = (TextView) findViewById(R.id.txtUrl); //Fazemos um CAST da variável txtUrl e associamos ela ao componente txtUrl presente na View.
        imvImagem = (ImageView) findViewById(R.id.imvImagem); //Fazemos um CAST da variável imvImagem e associamos ela ao componente imvImagem presente na View.
    }

    public void CarregarImagem(View v) {
        Picasso.with(v.getContext()).load(txtUrl.getText().toString()).into(imvImagem);
        /*
        *Picasso.with(Aqui vem o contexto).load(URL da imagem).into(ImageView responsável pelo render);
        *
        * */
    }
}

Se testarmos nosso aplicativo agora, nada irá acontecer, por que necessitamos atribuir a permissão de acesso à internet. Para atribuir está permissão, abra o arquivo que está em: app/manifest/AndroidManifest.xml.

Insira a seguinte linha de permissão:  

.

Permissão para acesso a internet no AndroidManifest.xml.

Agora executando nosso aplicativo, podemos ver o Picasso em ação, carregando a imagem informada. É importante lembrar, que o Picasso necessita de internet para carregar as imagens e quando não há conexão, o aplicativo exibe uma mensagem de erro e fecha.

Aplicativo Android requisitando imagem com o Picasso.




Sobre o autor


Gunnar Correa

Nome: Gunnar Correa

Site: http://www.gunnarcorrea.com


Autodidata, graduado em Desenvolvimento Web e especialista em Tecnologias na Educação em uma universidade no interior de São Paulo. Comecei meus estudos na área de programação quando ainda era criança, e atualmente estou estudando desenvolvimento de jogos.

Sou o CEO do portal SatellaSoft, criado em 2009 com o intuito de compartilhar conhecimento de forma gratuita e inédita.


Comentários



É necessário estar autenticado para comentar, clique aqui para se registrar ou aqui para acessar a sua conta!