En este post crearemos una aplicación android que nos permitirá compartir una imagen con Facebook, whatsapp, bluetooth, FTP, etc
Necesitamos
Nivel: Básico
Tiempo: 10 minutos
Paso 1. Proyecto
Crea un proyecto nuevo que llamaremos «ShareImage»
Añade una imagen en la carpeta drawable, para este ejemplo la imagen de «peter.jpg» de 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.
Enjoy!!!
En este tutorial nos conectaremos a una base de datos de Firebird utilizando el lenguaje de Visual Basic, el proyecto se[...]
En este tutorial crearemos una sencilla aplicación android que nos permitirá conectarnos a un RESTFUL, obtener un result[...]
Una de las novedades de Java 9 y 10 aunque por el momento en modo de prueba (jdk.incubator.http) es el Cliente HTTP el c[...]
La internacionalización permite a las aplicaciones adaptarse a los diferentes idiomas y regiones sin necesidad de cambio[...]
Matando dos pájaros de un solo tiro :), doy respuesta a un par de preguntas que están relacionadas, en este post veremos[...]
En este post vamos a construir un Servicio Web bajo el protocolo SOAP (Simple Object Access Protocol) el cual básicament[...]