Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Android / Construye tu aplicación de mensajeria

Construye tu aplicación de mensajeria

Autor jc mouse martes, noviembre 18, 2014

En este post crearemos una aplicación sencilla para mandar mensajes de texto desde android.

Necesitamos

IDE: Eclipse + SDK Android

Nivel: Básico

Tiempo: 10 minutos

1. Crea un nuevo proyecto en Eclipse que llamaremos “Enviar SMS” 🙂 deja el MainActivity.java por defecto que te crea el IDE, no necesitaremos de otra clase más.

proyecto android

2. Permisos

Para que el sistema permita a tu aplicación hacer uso del servicio de SMS debes agregar un permiso en tu archivo AndroidManifest.xml, abrelo y añade el android.permission.SEND_SMS antes de la etiqueta application, de la siguiente manera:

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

<application
...

3. Interfaz

Abre el archivo activity_main.xml que se encuentra en RES/LAYOUT/ y pega el siguiente código:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    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" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/str_para" />

    <EditText
        android:id="@+id/txtPhone"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="phone" >

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/textView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:text="@string/str_mensaje" />

    <EditText
        android:id="@+id/txtMsg"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        android:ems="10"
        android:inputType="textMultiLine" />

    <Button
        android:id="@+id/btnSend"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        android:text="@string/str_enviar" />

</LinearLayout>

abre también el archivo strings.xml que se encuentra en RES/VALUES/ y añade las siguientes lineas de código:

    <string name="str_para">Para:</string>
    <string name="str_mensaje">Escribir mensaje:</string>
    <string name="str_enviar">Enviar</string>

Guarda todo y tu interfaz ya esta lista

layout

4. Codigo

Para terminar este tutorial, abre el archivo MainActivity.java y reemplaza el código de la clase con el siguiente:

import android.os.Bundle;
import android.app.Activity;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.telephony.SmsManager;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

 EditText txtPhone;
 EditText txtMsg;
 Button btnSend; 

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);

  txtPhone = ((EditText)findViewById(R.id.txtPhone ));
  txtMsg = ((EditText)findViewById(R.id.txtMsg ));
  btnSend = ((Button)findViewById(R.id.btnSend ));

  btnSend.setOnClickListener(
                new View.OnClickListener() {
                    public void onClick(View view) {               

                     PendingIntent sentIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent("SMS_SENT"), 0);

                     registerReceiver(new BroadcastReceiver() {

                @Override
                public void onReceive(Context context, Intent intent) {
                 switch (getResultCode()){
                  case Activity.RESULT_OK:     
                   Toast.makeText(getApplicationContext(), "SMS enviado", Toast.LENGTH_SHORT).show();
                                     break;
                  case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                   Toast.makeText(getApplicationContext(), "No se pudo enviar SMS", Toast.LENGTH_SHORT).show();
                   break;
                  case SmsManager.RESULT_ERROR_NO_SERVICE:
                   Toast.makeText(getApplicationContext(), "Servicio no diponible", Toast.LENGTH_SHORT).show();
                   break;
                  case SmsManager.RESULT_ERROR_NULL_PDU:
                   Toast.makeText(getApplicationContext(), "PDU (Protocol Data Unit) es NULL", Toast.LENGTH_SHORT).show();
                   break;
                  case SmsManager.RESULT_ERROR_RADIO_OFF: 
                   Toast.makeText(getApplicationContext(), "Failed because radio was explicitly turned off", Toast.LENGTH_SHORT).show();
                   break;
                 }
                }       
                  }, new IntentFilter("SMS_SENT"));

                     SmsManager sms = SmsManager.getDefault(); 
                     if( txtPhone.getText().toString().length()> 0 &&
                         txtMsg.getText().toString().length()>0 )
                     {                      
                      sms.sendTextMessage( txtPhone.getText().toString() , null, txtMsg.getText().toString() , sentIntent, null); 
                     }
                     else
                     {
                      Toast.makeText(getApplicationContext(), "No se puede enviar, los datos son incorrectos", Toast.LENGTH_SHORT).show();
                     }
                    }});
 }

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.main, menu);
  return true;
 }

}

Ejecuta la aplicación y listo para enviar sms

sms en android

nada

🙂

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

Reproducir video en JFrame Swing con JavaFX

Reproducir video en JFrame Swing con JavaFX

JavaFX un producto de  Sun Microsystems/Oracle Corporation que salio a la luz para competir con tecnologías como Flash o...

Esteganografia LSB en Java – [Proyecto Completo]

Esteganografia LSB en Java – [Proyecto Completo]

Mensajes ocultos utilizando el método de Inserción en el bit menos significativo (Least Significant Bit Insertion) El mé...

Blog MVC en PHP (Código Fuente)

Blog MVC en PHP (Código Fuente)

En este post dejo el código fuente de un blog en PHP desarrollado siguiendo el patrón de diseño MVC (Modelo, Vista y Con...

Blog MVC – Consultas Ajax a la base de datos [p5]

Blog MVC – Consultas Ajax a la base de datos [p5]

Quinta parte de la serie de tutoriales “Creación de un blog siguiendo el patrón MVC (Modelo, Vista y Controlador)...

Reporte Padrón electoral con imágenes y Data Matrix

Reporte Padrón electoral con imágenes y Data Matrix

En este post diseñaremos un reporte de un padrón electoral con dos columnas que contendrá los certificados de sufragio e...

Puzzle en Visual Basic [Código Fuente]

Puzzle en Visual Basic [Código Fuente]

Rompecabezas 3×3 realizado en Visual Basic .NET, lo que se hizo fue una migración de un proyecto hecho en java (pue...

6 comentarios en “Construye tu aplicación de mensajeria”

  1. Jonathan dice:

    Muchas gracias, me ha quedado. 🙂

  2. Gabino Salinas dice:

    Hola este tuto me ayudo genialmente, y solo tengo una duda como seria para utilizar el wifi para mandar msjs??!! como seria …

    Saludos …

  3. Saul Gallardo dice:

    Muy buen tutorial! Muchas gracias!

  4. Armando Lázaro Ferro Díaz dice:

    me encanta programar pero solo tengo 16 aós y necesito saber como hacer una palicacion de enviar mensajes ero q el mensaje se envie conteniendo mas de un campo
    saludos mandy
    ej
    q contenga
    nombre
    correo
    telf
    o algo asi me gustaria q me ayudaran lo antes posibl yo soy cubano

  5. Gilberto dice:

    Y para leer los mensajes?

  6. Ernesto David dice:

    Muy bueno, me gusta. Solo necesito agregar o combiar algo: necesito enviar MMS, como puedo hacerlo?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

Comparte lo que sabes

Categorias

Últimas entradas

MAUS es una aplicación para dispositivos móviles con el Sistema Operativo Android que te permite realizar exámenes desde...

En este post crearemos una aplicación en Android Studio para conectarnos con nuestra base de datos de Firebase y leer al...

Firebase es la plataforma para el desarrollo de aplicaciones web y aplicaciones móviles de Google el cual se centra en e...

Si bien se puede hacer uso de archivos de imagen (jpg, png, bmp, etc) en las aplicaciones java, también este te permite...

Android Bolivia

Bandera en Alto