Nuestros Titulares...

Importando imágenes en android


Aquí va un sencillo programa donde se utiliza el widget ImageView y HttpURLConnection para mostrar imágenes de la web en nuestro dispositivo celular. La aplicación solicita ingresar el nombre del usuario y el URL de una imagen en el internet y luego de pulsar el botón nos muestra 2 imágenes, una cuyo URL se encuentra grabado en el código y otra imagen que es la solicitada por el usuario.



el código es el siguiente:


XML:


android:id="@+id/widget1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
>

android:id="@+id/widget2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>

android:id="@+id/nombre_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nombre: "
>


android:id="@+id/nombre_txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
>



android:id="@+id/widget3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>

android:id="@+id/widget5"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>

android:id="@+id/url_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="  URL:  "
>


android:id="@+id/url_txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
android:text="http://"
>



android:id="@+id/mostrar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Mostrar Imagen"
>



android:id="@+id/widget4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>

android:id="@+id/nombre"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="_"
android:layout_gravity="center_horizontal"
>



android:id="@+id/widget5"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>

android:id="@+id/imagen"
android:layout_width="120px"
android:layout_height="120px"
android:layout_gravity="center_horizontal"
>


android:id="@+id/imagen2"
android:layout_width="120px"
android:layout_height="120px"
android:layout_gravity="center_horizontal"
>




 






Código en java:


public class Imagenes2 extends Activity {


ImageView imagen; //variables que almacenan las imagenes
ImageView imagen2; //que seran asociadas a la imagenes generadas en el XML


 //URL de una imagen en la web
String imageUrl="http://vpn.webcindario.com/fotosgpweb1/VPN7.jpg";


String imageUrl2="";


TextView nombre;
EditText nombre_txt;
EditText url_txt;
Bitmap bmImg; //Aqui se almacena la imagen recibida


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);


 //Aqui se asocian las variables en java con los widgets en el xml
Button boton= (Button)findViewById(R.id.mostrar);
nombre=(TextView) findViewById(R.id.nombre);
nombre_txt=(EditText) findViewById(R.id.nombre_txt);
url_txt=(EditText) findViewById(R.id.url_txt);
boton.setOnClickListener(getImgListener);
imagen = (ImageView)findViewById(R.id.imagen);
imagen2 = (ImageView)findViewById(R.id.imagen2);
}


View.OnClickListener getImgListener = new View.OnClickListener()
{


@Override
public void onClick(View view) {
// TODO Auto-generated method stub


  //lectura del URL
imageUrl2=url_txt.getText().toString();


  
nombre.setText("Hola "+nombre_txt.getText()+"\n\nTu URL es: "+imageUrl2);
  //LLamado a la función que carga la imagen,
  // se pasa el parametro del URL
  cargarImagen(imageUrl);
  
  //Muestra la imagen en el dispositivo
imagen.setImageBitmap(bmImg);
  cargarImagen(imageUrl2);
imagen2.setImageBitmap(bmImg);


}


};






void cargarImagen(String Url){
URL miUrl =null;
try {
miUrl= new URL(Url);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {


  //Creando la conexión http
HttpURLConnection conn= (HttpURLConnection)miUrl.openConnection();
conn.setDoInput(true);
conn.connect();
  
  //leyendo el stream de datos de la imagen
InputStream is = conn.getInputStream();


  //reconstruyendo el stream de datos a una imagen
bmImg = BitmapFactory.decodeStream(is);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}


}


No se olviden de darle permisos de internet a la aplicación, agreguen al archivo AndroidManifest.xml la siguiente línea:



Fuente: http://pablithiu-blog.blogspot.com/2010/01/importando-imagenes-en-android.html

0 comentarios:

Publicar un comentario

Deja un comentario....