Segunda Parte – Gerenciamento de Contatos
Vamos a segunda parte da criação do comunicador Java utilizando sockets, hoje irei exemplificar a construção da classe para gerenciamento da lista de contatos do comunicador
Tela do Comunicador
Classe de gerenciamento será responsável por incluir e remover contatos do comunicador utilizarei o “Preferences” para gravar os dados utilizados pelo comunicador no registro para facilitar as operações, crie outro pacote com o seguinte nome “br.com.comunicator.contatos” e crie a classe “Contatos.java” então vamos acompanhar o código da classe.
import java.util.ArrayList;
import java.util.prefs.Preferences;
/**
* Classe p/ Gerencimento de Contatos
* @author Felipe Cobello
*
*/
public class Contatos
{
/** Lista de Contatos */
public ArrayList<String> listaContatos = new ArrayList<String>();;
/** Preferences - Registro */
private Preferences preferences;
/**
* Construtor da Classe
* @param preferences Preferences utilizada pelo Aplicativo
*/
public Contatos(Preferences preferences)
{
this.preferences = preferences;
}
/**
* Adiciona um Contato na Lista
* @param Nome Nome
* @param Ip IP
*/
public void addContato(String Nome, String Ip)
{
String Contato = Nome + "|" + Ip;
listaContatos.add(Contato);
gravarContatos();
}
/**
* Remove um Contato da Lista
* @param contato Contato
*/
public void removerContato(String contato)
{
listaContatos.remove(contato);
gravarContatos();
}
/**
* Carrega os Contatos
*/
public void loadContatos()
{
String contato[] = preferences.get("contatos", "").split("[#]");
listaContatos.clear();
for(int i = 0; i<contato.length; i++)
{
listaContatos.add(contato[i].trim());
}
}
/**
* Grava os Contato no Preferences
*/
public void gravarContatos()
{
StringBuilder contatos = new StringBuilder();
for (int i = 0; i < listaContatos.size(); i++)
{
contatos.append(listaContatos.get(i)).append("#");
}
preferences.put("contatos", contatos.toString());
loadContatos();
}
}
Fico no aguardo de possíveis dúvidas Abraços