Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Android / Compartir imagen desde android – Share Image

Compartir imagen desde android – Share Image

Por 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

Artículos similares

Como paginar registros en Java/Access

En este post veremos una forma de realizar la paginación en una base de datos Access utilizando el lenguaje de programac[...]

Uso de Tile Map en LibGDX

En esta ocasión vemos un ejemplo sencillo de como usar Tile Map en nuestros juegos android con la librería LibGDX utiliz[...]

Crear componentes en tiempo de ejecución con Netbeans

🙂 Una de las preguntas más buscadas por programadores java es la de crear componentes swing en tiempo de ejecución, eso[...]

Crear PopupMenu (Ventana Emergente)

En este tutorial crearemos una aplicación android que nos permitirá abrir un PopupMenu de donde podremos seleccionar una[...]

Crea un Tabbed Activity desde cero

Un Tabbed Activity te permite cambiar la vista entre  fragmentos desplazando el dedo  de izquierda a derecha o de derech[...]

Ejemplo socket java Cliente/Servidor

En este post construiremos un sencillo sistema Cliente/Servidor en lenguaje Java, el sistema consistirá básicamente en u[...]