×
Namespaces

Variants
Actions
Revision as of 10:00, 14 August 2013 by hamishwillee (Talk | contribs)

Como criar um alarme de aniversário no Java ME

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

Artigo
Tradução:
Por _katy_
Última alteração feita por hamishwillee em 14 Aug 2013
Artigo

Se você tem o mesmo problema que eu e sempre esquece o aniversário de seus amigos e familiares aqui está a solução.

Primeiro salve o nome do seu amigo, número do celular e a data de aniversário na lista de contatos. Depois disso usando a PIN API criamos a função.

void contactlist(){
 
PIM pim = PIM.getInstance();
ContactList contactList = null;
 
try {
contactList =
(ContactList)pim.openPIMList(PIM.CONTACT_LIST,PIM.READ_WRITE );
Enumeration en;
en = contactList.items();
Contact contact;
while(en.hasMoreElements())
{
contact = (Contact)en.nextElement();

}
catch( PIMException pimEx ){
// Nenhuma lista de contatos disponível
System.out.println("EX - No contact list available.");
}
catch( SecurityException securityEx){
// A aplicação não possui permissão para acessar a lista de contatos
System.out.println("EX - Access denied.");
}
}


Criamos uma outra função para enviar uma mensagem (SMS).


public void sendSms(){
 
String message="happy birthday"+name;
boolean result = true;
try {
//Adiciona endereço para enviar a mensagem
String addr = "sms://"+number;
// Abre a conexão
MessageConnection conn = (MessageConnection) Connector.open(addr);
// Cria a mensagem
TextMessage msg =
(TextMessage)conn.newMessage(MessageConnection.TEXT_MESSAGE);
//Adiciona o texto ao objeto da mensagem
msg.setPayloadText(message);
// Envia a mensagem
conn.send(msg);
conn.close();
} catch (Exception e) {
result = false;
}
return result;
}
}


E para executar o MIDlet todos os dias usamos o alarme.


import	javax.microedtion.io.PushRegistry;
...
 
String connURL = "sms://";
String MIDletStr = "name_of_the_midlet";
String FilterStr = "*";
 
try {
PushRegistry.registerConnection(connURL,
MIDletStr, FilterStr);
} catch ( ClassNotFoundException cnf ) {
...
} catch ( IOException ioe ) {
...
}
...
 
import javax.microedtion.io.PushRegistry;
...
long prevalarm;
String MIDletname = "AlarmMIDlet";
Date nexttime = new java.util.Date() + 60000*60*24;
 
prevalarm = PushRegistry.registerAlarm( MIDletname, nexttime );
...

Crie uma MIDlet que vai executar com ajuda do alarme. Essa MIDlet compara a data corrente com o da lista do PIN.

Se existe algum item selecionado, ele associa o nome do amigo com o nome da variável e chama o método "sendsms()" que enviará uma mensagem para os amigos selecionados e também mostrará um alerta dizendo que uma mensagem foi enviada para o amigo xyz no seu aniversário.

133 page views in the last 30 days.