Imagen de descarga de Android desde URL

Imagen de descarga de Android desde URL

En este tutorial, aprenderá cómo descargar una imagen desde una dirección URL a su aplicación de Android. Crearemos un botón y al hacer clic en el botón se iniciará una clase AsyncTask para comenzar a descargar una imagen desde una dirección URL. Vamos a empezar…

Cree un nuevo proyecto en Eclipse  File  >  New  >  Android Application Project. Complete los detalles y asigne un nombre a su proyecto  DownloadImageTutorial .

Nombre de la aplicación:  DownloadImageTutorial

Nombre del proyecto:  DownloadImageTutorial

Nombre del paquete:  com.androidbegin.downloadimagetutorial

Abra su  MainActivity .java  y pegue el siguiente código.

Actividad principal .java

paquete com.androidbegin.downloadimagetutorial;

importar java.io.InputStream;

importar android.os.AsyncTask;
importar android.os.Bundle;
importar android.app.Actividad;
importar android.app.ProgressDialog;
importar android.graphics.Bitmap;
importar android.graphics.BitmapFactory;
importar android.view.View;
importar android.view.View.OnClickListener;
importar android.widget.Button;
importar android.widget.ImageView;

clase pública MainActivity extiende Actividad {

	// Establezca su URL de imagen en una cadena
	Cadena URL = "https://www.androidbegin.com/wp-content/uploads/2013/07/HD-Logo.gif";
	Imagen de la vista de imagen;
	botón botón;
	ProgressDialog mProgressDialog;

	@Anular
	public void onCreate (Paquete guardadoInstanceState) {
		super.onCreate(estadoDeInstanciaGuardado);
		// Obtener el diseño de image.xml
		setContentView(R.diseño.actividad_principal);

		// Localice ImageView en activity_main.xml
		imagen = (ImageView) findViewById(R.id.image);

		// Localiza el botón en activity_main.xml
		boton = (Boton) findViewById(R.id.boton);

		// Hacer clic en el botón de captura
		button.setOnClickListener(nuevo OnClickListener() {
			public void onClick (Ver arg0) {

				// Ejecutar DownloadImage AsyncTask
				nueva DescargarImagen().ejecutar(URL);
			}
		});
	}

	// DescargarImagenAsyncTask
	clase privada DownloadImage extiende AsyncTask<String, Void, Bitmap> {

		@Anular
		vacío protegido onPreExecute() {
			super.onPreExecute();
			// Crear un diálogo de progreso
			mProgressDialog = nuevo ProgressDialog(MainActivity.this);
			// Establecer el título del diálogo de progreso
			mProgressDialog.setTitle("Tutorial de descarga de imágenes");
			// Establecer mensaje de diálogo de progreso
			mProgressDialog.setMessage("Cargando...");
			mProgressDialog.setIndeterminate(falso);
			// Mostrar diálogo de progreso
			mProgressDialog.show();
		}

		@Anular
		mapa de bits protegido doInBackground(String... URL) {

			Cadena imageURL = URL[0];

			mapa de bits mapa de bits = nulo;
			intentar {
				// Descargar imagen desde URL
				InputStream input = new java.net.URL(imageURL).openStream();
				// Decodificar mapa de bits
				mapa de bits = BitmapFactory.decodeStream(entrada);
			} captura (Excepción e) {
				e.printStackTrace();
			}
			devolver mapa de bits;
		}

		@Anular
		vacío protegido en PostExecute (resultado de mapa de bits) {
			// Establecer el mapa de bits en ImageView
			imagen.setImageBitmap(resultado);
			// Cerrar diálogo de progreso
			mProgressDialog.dismiss();
		}
	}
}

En esta actividad, hemos creado un botón y una vista de imagen y, al hacer clic en el botón, se mostrará un cuadro de diálogo de progreso y se iniciará la clase Descargar imagen AsyncTask. La imagen de descarga se descodificará en un mapa de bits y se establecerá en un ImageView. En este tutorial, alojamos el archivo GIF de imagen de muestra en nuestro servidor. Haga clic en este enlace para ver la imagen de muestra. https://www.androidbegin.com/wp-content/uploads/2013/07/HD-Logo.gif

A continuación, cree un archivo XML para su diseño gráfico MainActivity. Vaya a  res  >  diseño  > Haga clic con el botón derecho en el  diseño  >  Nuevo  >  Archivo XML de Android

Nombre su nuevo archivo XML  activity_main.xml  y pegue el siguiente código.

actividad_principal .xml

<RelativeLayout xmlns_android="http://schemas.android.com/apk/res/android"
    xmlns_herramientas="http://esquemas.android.com/herramientas"
    android_layout_width="match_parent"
    android_layout_height="match_parent" >

    <ImagenVista
        android_id="@+id/imagen"
        android_layout_width="wrap_content"
        android_layout_height="wrap_content"
        android_layout_centerHorizontal="verdadero"
        android_layout_centerVertical="verdadero" >
    </ImageView>

    <Botón
        android_id="@+id/botón"
        android_layout_width="fill_parent"
        android_layout_height="wrap_content"
        android_layout_below="@+id/imagen"
        android_layout_centerHorizontal="verdadero"
        android_layout_centerVertical="verdadero"
        android_text="@cadena/botón" />

</RelativeLayout>

A continuación, cambie el nombre y los textos de la aplicación. Abra su  strings.xml  en su carpeta  res > valores  y pegue el siguiente código.
cadenas.xml

<recursos>

    <string name="app_name">Descargar tutorial de imagen</string>
    <string name="menu_settings">Configuración</string>
    <string name="button">Descargar imagen</string>

</recursos>

En su  AndroidManifest.xml , debemos declarar un permiso para conectarse a Internet. Abra su  AndroidManifest.xml  y pegue el siguiente código.

AndroidManifest.xml

<manifiesto xmlns_android="http://schemas.android.com/apk/res/android"
    paquete="com.androidbegin.downloadimagetutorial"
    android_versionCode="1"
    android_versionName="1.0" >

    <usos-sdk
        android_minSdkVersion="8"
        android_targetSdkVersion="15" />

    <usos-permiso android_name="android.permiso.INTERNET" >
    </usos-permiso>

    <aplicación
        android_icono="@dibujable/ic_launcher"
        android_etiqueta="@cadena/nombre_aplicación"
        android_tema="@estilo/AppTheme" >
        <actividad android_name=".MainActivity" >
            <intent-filter>
                <acción android_name="android.intent.action.MAIN" />

                <categoría android_name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </actividad>
    </aplicación>

</manifiesto>

Producción :

Descargar capturas de pantalla del tutorial de imagen

 

Código fuente 

[purchase_link id=”7878″ text=”Comprar para descargar el código fuente” style=”button” color=”green”]