Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Android / Compartir imagen desde android – Share Image

Compartir imagen desde android – Share Image

Autor jc mouse martes, febrero 24, 2015

En este post crearemos una aplicación android que nos permitirá compartir una imagen con Facebook, whatsapp, bluetooth, FTP, etc

Necesitamos

  • IDE Eclipse y Android SDK Instalado

Nivel: Básico

Tiempo: 10 minutos

Paso 1. Proyecto

Crea un proyecto nuevo que llamaremos “ShareImage

archivos

Añade una imagen en la carpeta drawable, para este ejemplo la imagen de “peter.jpg” de Family Guy.

peter family guy

Paso 2. Interfaz

El archivo activity_main.xml tiene el siguiente código:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/btnShare"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/str_share" />

</RelativeLayout>

Y en el archivo strings.xml se debe añadir:

<string name="str_share">Compartir</string>

Paso 3. Código

Abre el archivo MainActivity y añade en onCreate el botón y su evento clic

Button btnShare = ((Button)findViewById(R.id.btnShare));  
    btnShare.setOnClickListener(
      new View.OnClickListener() {
        public void onClick(View view) {
          SharePic();
      }});

Definimos el siguiente método:

01  private void SharePic()
02  { 
03   //Se carga la imagen que se quiere compartir
04   Bitmap icon = BitmapFactory.decodeResource(getResources(), R.drawable.dd);
05   //Se guarda la imagen en la SDCARD
06   ByteArrayOutputStream bytes = new ByteArrayOutputStream();
07   icon.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
08   File f = new File( Environment.getExternalStorageDirectory() + File.separator + 
09     "tmp" + File.separator + "peter.jpg");  
10   try {
11       f.createNewFile();
12       FileOutputStream fo = new FileOutputStream(f);
13       fo.write(bytes.toByteArray());
14   } catch (IOException e) {                       
15       Log.e("ERROR", e.getMessage() );
16   }  
17   //compartir imagen
18   Intent share = new Intent(Intent.ACTION_SEND);
19   share.setType("image/jpeg");
20   share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(f));
21   share.putExtra(Intent.EXTRA_TEXT, "Mi imagen");
22   startActivity(Intent.createChooser(share, "Compartir imagen")); 
23  }

Este método nos permite  guardar en la SD card de nuestro dispositivo la imagen de Peter que es la que queremos compartir.

18,22 A continuación preparamos la imagen para enviarla a otra activad, por ejemplo facebook o whastapp, para más informacion tienes a la API de SEND

Paso 4. Permisos

Para terminar la aplicación, abre el archivo AndroidManifest.xml y agrega un permiso de escritura

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

Prueba tu aplicación, por ejemplo, con Whastapp.

share aplication

whatsapp bolivia

Enjoy!!!

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Abre una aplicación swing java desde el navegador de forma segura

Abre una aplicación swing java desde el navegador de forma segura

Los mejores días del marco de java swing se han ido. Las aplicaciones de escritorio perdieron popularidad y todo está fo...

Mapas en HTML5 – Uniendo todo – Parte 6

Mapas en HTML5 – Uniendo todo – Parte 6

Última parte del tutorial “Mapas interactivos HTML5”, vamos uniendo todo todo el código. En la parte 5 de es...

SOAP .:. Cliente android

SOAP .:. Cliente android

En esta oportunidad construiremos una aplicación android que nos permitirá consumir  un servicio web utilizando la libre...

Crea un “Juego de Memoria” en java

Crea un “Juego de Memoria” en java

En este tutorial crearemos un sencillo juego de memoria en lenguaje java. Necesitamos IDE Netbeans 7.x Editor de imágene...

Introducción a la internacionalización de aplicaciones

Introducción a la internacionalización de aplicaciones

La internacionalización permite a las aplicaciones adaptarse a los diferentes idiomas y regiones sin necesidad de cambio...

Cambiar plataforma JDK en Netbeans

Cambiar plataforma JDK en Netbeans

Es recomendable tener actualizado la Maquina Virtual Java de nuestro equipo para poder disfrutar de las mejoras que trae...

1 comentario en “Compartir imagen desde android – Share Image”

  1. Manuel dice:

    Me podrias explicar lo mismo para audio, yo tengo esto:

    public void compartir(View view) {

    Intent intentCompartir = new Intent(Intent.ACTION_SEND);
    intentCompartir.setType(“audio/mpeg3”);
    intentCompartir.putExtra(Intent.EXTRA_STREAM, Uri.parse(“file//:sdcard/Music/MisAudios/cansino.mp3”));
    startActivity(Intent.createChooser(intentCompartir, “Compartir audio”));
    }

    y claro al no guardarse en la sd me da error

Los comentarios estan cerrados

Comparte lo que sabes

Categorias

Últimas entradas

En este post veremos como imprimir secciones de un formulario en java implementando la Interface Printable. La clase que...

En este post aprenderemos lo que es la clonación de objetos en java o lo que es lo mismo, generación de nuevas instancia...

El índice TIOBE (TIOBE, The Importance of Being Earnest – “La importancia de ser honesto” – refe...

SDKMAN! es una herramienta para la administración de versiones paralelas de varios programas de desarrollo de software c...

Android Bolivia

MAUS