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

Google Circles en java

Google Circles en java

En este tutorial crearemos el botón de Google+ Google Circles para una interfaz de escritorio 🙂 si no sabes lo que son e...

Animación con sprites y LibGDX

Animación con sprites y LibGDX

En este post veremos una pequeña introducción a lo que son las animaciones con LibGDX y el uso de sprites. ¿Que es la an...

Introducción a Scene Builder y MVC (Parte I)

Introducción a Scene Builder y MVC (Parte I)

En este tutorial realizaremos una introducción al diseño de interfaces gráficas en JavaFX y Scene Builder, así también v...

Blog MVC – Carga de páginas estáticas [p4]

Blog MVC – Carga de páginas estáticas [p4]

Cuarta parte de esta pequeña serie de tutoriales sobre [Crea tu blog con el patrón MVC y php] En esta cuarta entrega ver...

JLabel circular

JLabel circular

En este post crearemos un swing Label personalizado que tendrá la forma circular en su borde, con esto obtendremos un bo...

Bandera en Alto

Bandera en Alto

EL 6 de agosto de cada año se recuerda una de las fechas más importantes de la historia boliviana, porque el 6 de Agosto...

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

Quasar es un proyecto Open Source basado en el Framework Vue que nos permite desarrollar proyectos de todo tipo, por eje...

Continuando el post de «Introducción a Retrofit» donde realizamos una breve preparación a lo que es el uso de la librerí...

Editar un documento PDF no es tan sencillo como editar un archivo de texto por ejemplo, para editar archivos PDFs necesi...

¿Alguna vez tuviste la necesidad de hacer una captura de pantalla de una página web? Si es así, seguramente buscaste y d...

Herramientas

Generador de Enlaces a Whatsapp