ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
Taller envio de sms por código 2012
1. Taller: envío de sms por código. JME
Autor: Ing. Orlando Barcia Ayala, www.orlandobarcia.com
Fecha: Marzo del 2012
Objetivos:
Realizar una aplicación JME que envíe un mensaje SMS usando WMA Wireless Message
Api.
Desarrollar el flujo de ejecución de un MIDlet , validando la entrada del celular numérica
Describir y deducir el código generado por el VisualMidlet
Ejecutar la aplicación en un dispositiov celular real.
Actividad:
Realizar una aplicación JME que envíe un mensaje SMS, digitando un número celular.
Contenido:
Proyecto: Envio de SMS por código.
Midlet: SMS2
Utilice Visual MidLet en la solución. Tener presente que el nombre del proyecto y el MidLet, queda
a criterio del programador.
Controles a utilizar:
Form, TextField, Command (2), Ticker.
TextBox, Command(2), Ticker, Alert
Flujo del programa
4. Cambio de los nombres de los controles.
Realizar el cambio de los nombres de controles o variables que se utilizarán en la codificación de
programa. (clic derecho en el control, rename).
Control Nombre de variable (opcional)
Form frmnumero
TextField Txtnumero
Command cmdsalir
Command cmdsgte
Ticker Stknum
TextBox txtEnvio
Command cmdenvio
Command cmdatras
Ticker Stktexto
Alert msjexito
Cambio de las propiedades de cada control.
Realizar el cambio de las propiedades, acordes al contenido que debería mostrar la aplicación.
Tales como label, Text, Title, constraint, asignación de Ticker y otros.
Importaciones a digitar en el código (antes de public class)
import javax.microedition.io.Connector;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
import javax.wireless.messaging.MessageConnection;
import javax.wireless.messaging.TextMessage;
5. Código a añadir dentro de la clase (MidLet)- preferible antes de la última llave
Realizar la digitación del código siguiente. Debe tener presente los nombres de variables que
Usted utiliza al diseñar la aplicación.
private void sendSMSClick() throws java.io.IOException {
MessageConnection conn = null;
TextMessage msg = null;
try {
// Paso 1: Obtenemos una implementación del Connection que se encargará de enviar el SMS
conn = (MessageConnection) Connector.open("sms://"+ txtnum.getString());
// Paso 2: Creamos el SMS
msg = (TextMessage) conn.newMessage(MessageConnection.TEXT_MESSAGE);
// Paso 3: Establecemos el contenido del SMS
msg.setPayloadText( txtenvio.getString());
// Paso 4: Enviamos el SMS
conn.send(msg);
} finally {
// Paso 5: IMPORTANTE Cerramos la conexión
this.closeQuietly(conn);
conn = null;
}
}
/**
6. * Cierra un Connection ignorando todas las posibles excepciones
*/
private void closeQuietly(javax.microedition.io.Connection conn){
try {
conn.close();
} catch (Exception ex){
// Nada
}
}
Código a añadir en el comando enviar. Donde muestra if (command == cmdenvio) {
try{
this.sendSMSClick();
txtnum.setString("");
}
catch(Exception ex ){
txtenvio.setString(ex.toString());
}
Evaluación del aprendizaje.(Mayeútica)
1 ¿Cómo realizó el flujo de los controles?
2 ¿Qué hizo para añadir un Ticker?
3 ¿Que realizó para cambiar las propiedades de los controles?
4 ¿Cómo procedió para cambiar los nombres de los controles ( variables) ?
5 ¿Por qué considera necesario cambiar el nombre de los controles - variables?
6 ¿Qué ocurre con el código dado por el docente, en caso de que no cambió los nombres de
los controles?
7. 7 ¿Qué realiza el código txtnum.setString("") ?
8 ¿Qué pasa si ubico el código fuera de la clase?
9 ¿Qué ocurre si no ubico las importaciones indicadas?
10 ¿Qué ocurre si cambio el nombre de las controles (variables ) en la codificación?
11 ¿Qué ocurre si cambio el nombre del MIDLet por otro diferente al indicado en el taller?
12 ¿Qué realiza el código this.sendSMSClick() ?
13 ¿Qué es sendSMSClick, un atributo o método. Para qué servirá?
14 ¿Qué considera que realiza "sms://"+ txtnum.getString() ?
15 ¿Qué considera que realiza msg.setPayloadText( txtenvio.getString());?
Referencias Bibliográfica.
García Perez Carlos, Java Wireless Message API (WMA). Tomado en marzo 2012 de:
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=wma