Midlet e Servlet

0 respostas
Sesshoumaru

Galera sou novo no fórum e iniciante em java e estou com uma dúvida sobre
como fazer funcionar os seguintes códigos:
OBS: todos compilam normalmente, porém, não funcionam corretamente.

Abaixo midlet para cadastro de clientes:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.rms.*;
import javax.microedition.io.*;
import java.io.*;

public class CadastroClientes extends MIDlet
	implements CommandListener {

    //Display do Celular
    private Display display;

    //Telas que serão exibidas
    private Form formDetalhes;
    private Form formInc;
    private Form formAlt;
    private Form formExcluir;
    private List listaNomes;

    //Caixas de Texto das Telas de Inclusao / Alteracao
    private TextField tfNome;
    private TextField tfEndereco;
    private TextField tfCidade;
    private TextField tfUf;

    //Comandos de tela
    private Command sair;
    private Command voltar;
    private Command detalhes;
    private Command incluir;
    private Command alterar;
    private Command excluir;
    private Command salvar;
    private Command cancelar;
    private Command salvarRepositorio;
    private Command buscarRepositorio;

    //RecordId do registro Atual
    private int id;

    //Variaveis para passagem de campos entre telas
    private String nome, endereco, cidade, uf;

	//Construtor
	public CadastroClientes() {

  		montarLista();

	}


	protected void destroyApp(boolean b) {

  		this.destroyApp(true);
  		this.notifyDestroyed();

	}

	protected void pauseApp() {


	}

	protected void startApp () {

    	//Tratamento de exceção para a figura que será exibido
    	try {

       		display = Display.getDisplay(this);
       		Alert inicial =
				new Alert("CLIENTE","",Image.createImage("/cefet1.png"), null );
       		inicial.setTimeout(3000);
       		display.setCurrent(inicial,listaNomes);

    	} catch (Exception e) {    }
	}

	private void montarLista(){

       //Logica para criar e montar a lista
       listaNomes = new List("Clientes",List.IMPLICIT);

       try {

           	RecordStore rsCliente =
				RecordStore.openRecordStore("rob",false);

           	byte [] dados = null;
           	RecordEnumeration reCliente = rsCliente.enumerateRecords(null,null,false);

           	dados = reCliente.nextRecord();
           	String aux;

           	while (reCliente.hasNextElement()) {

              	aux = new String(dados);

              	listaNomes.append(
				  	aux.substring(0,aux.indexOf("|")),null);
              	dados = reCliente.nextRecord();
           	}

           	aux = new String(dados);
           	listaNomes.append(aux.substring(0,aux.indexOf("|")),null);

           	rsCliente.closeRecordStore();

       	} catch (Exception e) {
           	listaNomes.append("Lista Vazia",null);
       	}

       	//Criar Comandos da tela principal
       	sair     = new Command("Sair",Command.EXIT,0);
       	detalhes = new Command("Detalhes",Command.SCREEN,1);
       	incluir  = new Command("Incluir",Command.SCREEN,2);
       	alterar  = new Command("Alterar",Command.SCREEN,4);
       	excluir  = new Command("Excluir",Command.SCREEN,5);
       	buscarRepositorio = new Command("In Web",Command.SCREEN,6);
       	salvarRepositorio = new Command("Out Web",Command.SCREEN,7);

       	//Adicionar Comandos da tela principal
       	listaNomes.addCommand(sair);
       	listaNomes.addCommand(detalhes);
       	listaNomes.addCommand(incluir);
       	listaNomes.addCommand(alterar);
       	listaNomes.addCommand(excluir);
       	listaNomes.addCommand(buscarRepositorio);
       	listaNomes.addCommand(salvarRepositorio);


       	//Informar quem vai tratar estes comandos
       	listaNomes.setCommandListener(this);

       	//Incluir uma mensagem na primeira linha da tela
       	Ticker msg = new Ticker("Lista de Clientes do Sistema");
       	listaNomes.setTicker(msg);

	}

	//Pesquisar detalhes do cliente
	private void tratarDetalhes() {

  		formDetalhes = new Form("Detalhes");

  		//método responsável por achar no banco de dados o registro selecionado
  		//ele valoriza as variaveis nome, endereco, cidade e uf
  		buscarDados(listaNomes.getString(listaNomes.getSelectedIndex()));

  		//valoriza o form que contem os detalhes
  		formDetalhes.append("Nome:"+nome+"\n");
  		formDetalhes.append("Endereco: "+endereco+"\n");
  		formDetalhes.append("Cidade: "+cidade+"\n");
  		formDetalhes.append("Estado: "+uf+"\n");

  		//cria os comandos do form
  		voltar  = new Command("Voltar",Command.BACK,0);
  		alterar = new Command("Alterar",Command.BACK,1);
  		excluir = new Command("Excluir",Command.BACK,2);

  		//adiciona comandos ao form
  		formDetalhes.addCommand(voltar);
  		formDetalhes.addCommand(alterar);
  		formDetalhes.addCommand(excluir);

  		//diz quem tratara os comandos
  		formDetalhes.setCommandListener(this);

  		//redireciona a tela
  		display.setCurrent(formDetalhes);

	}

	private void buscarDados(String s){

       	try {
           	RecordStore rsCliente = RecordStore.openRecordStore("rob",false);

           	byte [] dados = null;
           	//Cria um RecordEnumeration para percorrer os registros do RMS
           	RecordEnumeration reCliente =
				rsCliente.enumerateRecords(null,null,false);
           	//armazena o RecordId
           	id = reCliente.nextRecordId();
           	//pega detalhes do registro atual
           	dados = rsCliente.getRecord(id);
           	//transforma os dados em String
           	String aux = new String(dados);

           	//Entra em looping até achar o nome igual ao Selecionado no List
           	while (reCliente.hasNextElement() && !s.equals(aux.substring(0,aux.indexOf("|")))) {

              	id = reCliente.nextRecordId();
              	dados = rsCliente.getRecord(id);
              	aux = new String(dados);
           	}

           	//faz tratamento para separar os quatro campos
           	int i = aux.indexOf("|");
           	nome = aux.substring(0,i);
           	endereco = aux.substring(i+1,aux.indexOf("|",i+1));
           	i = aux.indexOf("|",i+1);
           	cidade = aux.substring(i+1,aux.indexOf("|",i+1));
           	i = aux.indexOf("|",i+1);
           	uf = aux.substring(i+1,aux.length());

           	//fecha o banco de dados
           	rsCliente.closeRecordStore();

       	} catch (Exception e) {
         	listaNomes.append("Lista Vazia",null);
       	}
	}

	private void montarIncluir() {

  		formInc = new Form("Inclusão");

  		//cria as caixas de texto em branco para o usuário digitar
  		tfNome     = new TextField("Nome","",30,TextField.ANY);
  		tfEndereco = new TextField("Endereco","",30,TextField.ANY);
  		tfCidade   = new TextField("Cidade","",30,TextField.ANY);
  		tfUf       = new TextField("UF","",2,TextField.ANY);

  		//adiciono componentes no formulário de inclusão
  		formInc.append(tfNome);
  		formInc.append(tfEndereco);
  		formInc.append(tfCidade);
  		formInc.append(tfUf);

  		//criar comandos para o formulário
  		cancelar = new Command("Cancelar",Command.CANCEL,0);
  		salvar = new Command("Salvar",Command.SCREEN,0);

  		//adicionar comandos no formulário
  		formInc.addCommand(cancelar);
  		formInc.addCommand(salvar);

  		//diz quem vai tratar os comandos
  		formInc.setCommandListener(this);

  		//redireciona a tela para o formulario de inclusão
  		display.setCurrent(formInc);

	}

	// Inclui os registro no banco de dados
	private void tratarSalvar() {

  		try {

    		RecordStore rsCliente =
				RecordStore.openRecordStore("rob",true);
    		String registro = nome + "|" + endereco + "|"+ cidade + "|" + uf;
	    	rsCliente.addRecord(registro.getBytes(),0,registro.length());
    		rsCliente.closeRecordStore();

  		} catch (Exception e) {
    		System.out.println(e.getMessage());
  		}

  		//Exibe Alert indicando a inclusão do registro
  		Alert salvar =
	  		new Alert("Sucesso","Inclusão efetuada com sucesso",null, null);
  		salvar.setTimeout(3000);
  		//Monta a lista inicial
  		montarLista();
  		//redireciona a tela
  		display.setCurrent(salvar,listaNomes);
	}

	private void montarAlterar(){
  		formAlt = new Form("Alteração");

  		//método responsável por achar no banco de dados o registro selecionado
  		//ele valoriza as variaveis nome, endereco, cidade e uf
  		buscarDados(listaNomes.getString(listaNomes.getSelectedIndex())) ;

  		//cria os campos com o conteúdo da pesquisa
  		tfNome     = new TextField("Nome",nome,30,TextField.ANY);
  		tfEndereco = new TextField("Endereco",endereco,30,TextField.ANY);
  		tfCidade   = new TextField("Cidade",cidade,30,TextField.ANY);
  		tfUf       = new TextField("UF",uf,2,TextField.ANY);

  		//adiciona os componentes na tela
  		formAlt.append(tfNome);
  		formAlt.append(tfEndereco);
  		formAlt.append(tfCidade);
  		formAlt.append(tfUf);

  		//cria os comandos
  		cancelar = new Command("Cancelar",Command.CANCEL,0);
  		salvar = new Command("Salvar",Command.SCREEN,0);

  		//adiciona os comandos na tela
  		formAlt.addCommand(cancelar);
  		formAlt.addCommand(salvar);

  		//diz quem ira tratar os comandos
  		formAlt.setCommandListener(this);

  		//redireciona a tela
  		display.setCurrent(formAlt);
	}

	private void tratarSalvarAlt(){

  		//exclui o registro na base de dados (Anterior)
  		tratarExcluir();

  		nome = tfNome.getString();
  		endereco = tfEndereco.getString();
  		cidade = tfCidade.getString();
  		uf = tfUf.getString();

  		//adiciona registro alterado na base de dados
  		tratarSalvar();

  		//Exibe um alert indicando a alteração
  		Alert salvar = new Alert("Sucesso","Alteração efetuada com sucesso",null, null);
  		salvar.setTimeout(3000);
  		//monta uma nova lista
  		montarLista();
  		//redireciona a tela
  		display.setCurrent(salvar,listaNomes);
	}

	private void montarExcluir() {

  		formExcluir = new Form("Cliente");

  		//método responsável por achar no banco de dados o registro selecionado
  		//ele valoriza as variaveis nome, endereco, cidade e uf
  		buscarDados(listaNomes.getString(listaNomes.getSelectedIndex())) ;

		//inclui infomações na tela de exclusão
  		formExcluir.append("Nome:"+nome+"\n");
  		formExcluir.append("Endereco: "+endereco+"\n");
  		formExcluir.append("Cidade: "+cidade+"\n");
  		formExcluir.append("Estado: "+uf+"\n");

  		//cria comandos da tela
  		cancelar = new Command("Cancelar",Command.CANCEL,0);
  		excluir = new Command ("Excluir",Command.SCREEN,0);

  		//inclui os comandos na tela
  		formExcluir.addCommand(cancelar);
  		formExcluir.addCommand(excluir);

  		//diz quem ira tratar os comandos
  		formExcluir.setCommandListener(this);

  		//redireciona a tela
  		display.setCurrent(formExcluir);
	}


	private void tratarExcluir(){

  		try {

    		RecordStore rsCliente = RecordStore.openRecordStore("rob",false);
    		//Exclui o registro
    		rsCliente.deleteRecord(id);

    		rsCliente.closeRecordStore();

  		} catch (Exception e) {
    		System.out.println("erro na inclusão");
  		}

  		//Exibe um alert indicando a exclusão do registro
  		Alert excluir = new Alert("Sucesso","Exclusão efetuada com sucesso",null, null );
  		excluir.setTimeout(3000);

  		//Monta uma nova Lista
  		montarLista();
  		//Redireciona a tela
  		display.setCurrent(excluir,listaNomes);

	}

	private void tratarBuscarRepositorio() {

  		try {

    		HttpConnection con = (HttpConnection) Connector.open("http://127.0.0.1:8080/clientes/ClientesServlet?parm=C");
	    	int status = -1;

    		status = con.getResponseCode();

	    	if (status == HttpConnection.HTTP_OK) {
	       		InputStream is = con.openInputStream();
	       		StringBuffer sb = new StringBuffer();
	       		int lido = is.read();
	       		lido = is.read();
	       		lido = is.read();
	       		int flag = 1;
	       		while (lido != -1) {
	         		byte b1 = (byte) lido;

    	     		if (b1 == (byte) '\n') {
	           			if (flag == 1) {
	             			nome = sb.toString();
	             			flag++;
	           			} else if (flag == 2) {
	             			endereco = sb.toString();
	             			flag++;
    	       			} else if (flag == 3) {
	              			cidade = sb.toString();
	              			flag++;
	           			} else if (flag == 4) {
		              		uf = sb.toString();
	              			tratarSalvar();
	              			flag = 1;
	           			}

	           			sb.setLength(0);
	         		} else{
	           			sb.append((char)b1);
	    			}
	        		lido = is.read();
				}
	    	} else
	    		System.out.println("nao estabeleceu conexao "+status);
	  	} catch (IOException ioe) { System.out.println("deu pau "+ioe.getMessage()); }

  		//Exibe um alert indicando a exclusão do registro
  		Alert excluir = new Alert("Sucesso","Celular Atualizado com repositório",null, null );
  		excluir.setTimeout(3000);

  		//Monta uma nova Lista
  		montarLista();
  		//Redireciona a tela
  		display.setCurrent(excluir,listaNomes);
	}

	private void tratarSalvarRepositorio() {

    	try {

        	RecordStore rsCliente = RecordStore.openRecordStore("rob",false);

           	byte [] dados = null;
           	RecordEnumeration reCliente = rsCliente.enumerateRecords(null,null,false);

           	dados = reCliente.nextRecord();
           	String aux;
           	int i;
           	StringBuffer sb = new StringBuffer();

           	while (reCliente.hasNextElement()) {

              	aux = new String(dados);

              	//faz tratamento para separar os quatro campos
              	i = aux.indexOf("|");
              	nome = aux.substring(0,i);
              	endereco = aux.substring(i+1,aux.indexOf("|",i+1));
              	i = aux.indexOf("|",i+1);
              	cidade = aux.substring(i+1,aux.indexOf("|",i+1));
              	i = aux.indexOf("|",i+1);
              	uf = aux.substring(i+1,aux.length());

              	sb.append(nome+"|"+endereco+"|"+cidade+"|"+uf+"|");

              	dados = reCliente.nextRecord();
           	}

           	aux = new String(dados);
           	//faz tratamento para separar os quatro campos
           	i = aux.indexOf("|");
           	nome = aux.substring(0,i);
           	endereco = aux.substring(i+1,aux.indexOf("|",i+1));
           	i = aux.indexOf("|",i+1);
           	cidade = aux.substring(i+1,aux.indexOf("|",i+1));
           	i = aux.indexOf("|",i+1);
           	uf = aux.substring(i+1,aux.length());

           	sb.append(nome+"|"+endereco+"|"+cidade+"|"+uf+"|<");

           	rsCliente.closeRecordStore();

           	HttpConnection con = (HttpConnection) Connector.open("http://127.0.0.1:8080/clientes/ClientesServlet?dados="+sb.toString());
           	int status = -1;
           	status = con.getResponseCode();

           	if (status != HttpConnection.HTTP_OK) {
              	System.out.println("Nao deu conexao Status "+status);
           	}

           	Alert excluir = new Alert("Sucesso","Repositório Atualizado com o Celular",null, null );
           	excluir.setTimeout(3000);

           	//Monta uma nova Lista
           	montarLista();
           	//Redireciona a tela
           	display.setCurrent(excluir,listaNomes);



       	} catch (Exception e) {
       	}



	}


	public void commandAction (Command c, Displayable d) {
       	// botao sair
       	if (c == sair) {
          	this.destroyApp(true);
          	this.notifyDestroyed();
       	}  else

       	// botao buscar
       	if (c == detalhes) {
          	tratarDetalhes();
       	} else

       	//botao voltar
       	if (c == voltar) {
          	montarLista();
          	display.setCurrent(listaNomes);
       	} else

       	//botao incluir
       	if (c == incluir) {
         	montarIncluir();
       	} else

       	// menu salvar
       	if (c == salvar) {
         	//quando vem do inclusao
         	if (d == formInc) {
            	nome = tfNome.getString();
            	endereco = tfEndereco.getString();
            	cidade = tfCidade.getString();
            	uf = tfUf.getString();
            	tratarSalvar();
         	//quando vem da alteracao
         	} else if (d == formAlt) {
           		tratarSalvarAlt();
         	}
       	} else

       	// menu cancelar
       	if (c == cancelar) {
         	montarLista();
         	display.setCurrent(listaNomes);
       	} else

       	// menu alterar
       	if (c == alterar) {
         	montarAlterar();
       	} else

       	//menu excluir
       	if (c == excluir) {
         	// exclui da RMS
         	if (d == formExcluir) {
           		tratarExcluir();
         	//monta tela para exclusao
         	} else {
            	montarExcluir();
         	}
       	} else {

       	//buscar dados do repositorio
       	if (c == buscarRepositorio) {
          	tratarBuscarRepositorio();
       	} else

       	//envia os dados para o repositorio
       	if (c == salvarRepositorio) {
          	tratarSalvarRepositorio();
       	} else
         	//trata selecao no list implicito
         	tratarDetalhes();
       	}
	}
}
Midlet ChamadaEletronica consultar e salvar dados no servidor e RMS
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import javax.microedition.rms.*;
import java.io.*;

public class ChamadaEletronica extends MIDlet
    implements CommandListener {

    private Display display;

    //componentes tela inicial
    private List lista;
    private Alert splash;

    //componentes tela de informar data
    private Form frmDados;
    private TextField tf;
    private Command cmdVoltar;
    private Command cmdConfirmar;

    //componentes da tela de chamada
    private Form frmChamada;

    private ChoiceGroup radioGroup;
    private ChoiceGroup radioAlunos;


    public ChamadaEletronica() {

        display = Display.getDisplay( this );
        mostrarTelaInicial();
        display.setCurrent( lista );
    }

    public void startApp() {
        display.setCurrent( splash, lista );
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
        display.setCurrent( null );
        this.notifyDestroyed();
    }

    public void mostrarTelaInicial() {
        lista = new List( "Opções da Chamada:", List.IMPLICIT );
        splash = new Alert( "CHAMADA ELETRÔNICA" );

        try {
            splash.setImage( Image.createImage( "/java.png" ) );
        } catch ( IOException ioe ) {
            System.out.println( "Figura não encontrado" );
        }

        splash.setTimeout( 2000 );
        lista.append( "Fazer Chamada", null );
        lista.append( "Consultar Chamada", null );
        lista.append( "Buscar Dados Servidor ", null );
        lista.append( "Exportar Dados Servidor", null );

        lista.setCommandListener( this );

    }

    public void mostrarTelaInformaData(){
        frmDados = new Form( "Informa Dados" );
        tf = new TextField( "Data: ", null, 8, TextField.NUMERIC );
        StringItem it = new StringItem("Formato", "DDMMAAAA" );
        radioGroup = new ChoiceGroup( "Disciplinas",
            ChoiceGroup.EXCLUSIVE );
//=====>disciplinas estaticas
        radioGroup.append( "Java", null );
//=====>fim disciplinas estaticas
        cmdVoltar = new Command( "Voltar", Command.BACK, 0 );
        cmdConfirmar = new Command( "Confirmar", Command.OK, 0 );
        tf.setString( "27102004" );
        frmDados.append( tf );
        frmDados.append( it );
        frmDados.append( radioGroup );
        frmDados.addCommand( cmdVoltar );
        frmDados.addCommand( cmdConfirmar );
        frmDados.setCommandListener( this );
        display.setCurrent( frmDados );
    }

    public void verificarOpcaoList(){
        //Efetuar Chamada
        if ( lista.getSelectedIndex() == 0  ) {
            mostrarTelaInformaData();
        } else if ( lista.getSelectedIndex() == 2 ) {
            buscarDadosServidor();
        } else if ( lista.getSelectedIndex() == 3 ) {
			salvarDadosServidor();
        }
    }

    public void mostrarTelaChamada() {
        frmChamada = new Form( "27/10/2004" );
        radioAlunos = new ChoiceGroup( "Alunos",
            ChoiceGroup.MULTIPLE );

    	try {

        	RecordStore rsCliente = RecordStore.openRecordStore("9",false);

           	byte [] dados = null;
           	RecordEnumeration reCliente = rsCliente.enumerateRecords(null,null,false);

           	dados = reCliente.nextRecord();
           	String aux = "";

           	while (reCliente.hasNextElement()) {

              	aux = new String(dados);
              	System.out.println( "Montando: " + aux );

        		radioAlunos.append( aux, null );
              	dados = reCliente.nextRecord();
           	}
            aux = new String(dados);
			System.out.println( "Montando: " + aux );
			radioAlunos.append( aux, null );
           	rsCliente.closeRecordStore();
       		frmChamada.append( radioAlunos );

       } catch (Exception e) {
           frmChamada.append( "Lista Vazia" );
       }

       cmdVoltar = new Command( "Voltar", Command.BACK, 0 );
       cmdConfirmar = new Command( "Confirmar", Command.OK, 0 );
       frmChamada.addCommand( cmdVoltar );
       frmChamada.addCommand( cmdConfirmar );
       frmChamada.setCommandListener( this );
       display.setCurrent( frmChamada );
    }

    public void buscarDadosServidor() {
        int status = -1;

        String nome = "";
	    try {

            HttpConnection con =
                (HttpConnection) Connector.open("http://127.0.0.1:8080/chamadaeletronica/ChamadaEletronicaServlet?dados=x");

            //int status = -1;
            status = con.getResponseCode();
			System.out.println( "Cheguei aqui" + status );

            if (status == HttpConnection.HTTP_OK) {
                System.out.println("estabeleceu conexao");
                InputStream is = con.openInputStream();
                StringBuffer sb = new StringBuffer();
                int lido = is.read();
                lido = is.read();
                lido = is.read();
                //int flag = 1;
                System.out.println("valor do conteúdo lido <> -1  "+lido);
                while (lido != -1) {
                    byte b1 = (byte) lido;

                    if (b1 == (byte) '\n') {
                    	nome = sb.toString();
                    	System.out.println( "Salvando: "+nome);
						salvarRegistroRMS( nome );
						System.out.println( nome );
						sb.setLength(0);
                    } else{
                    	sb.append((char)b1);
                    	System.out.println("Adicionado o caracter "+(char) b1 );
                    }
                    lido = is.read();
                }

	  			//Exibe Alert indicando a inclusão do registro
	  			Alert salvar = new Alert("Sucesso","Alunos Atualizados com servidor",null, null);
	  			salvar.setTimeout(3000);
	  			//redireciona a tela
	  			display.setCurrent(salvar, lista );

            } else {
                System.out.println("nao estabeleceu conexao "+status);
            }
        } catch (IOException ioe) {
            System.out.println("deu pau "+status);
        }
    }

    public void salvarRegistroRMS( String nome ) {
		System.out.println("cheguei no gravar");

	  	try {

	    	RecordStore rsCliente = RecordStore.openRecordStore("9",true);
	    	System.out.println("Consegui abrir o banco");
	    	String registro = nome;
	    	System.out.println("Consegui valorizar o registro com "+registro);
	    	rsCliente.addRecord(registro.getBytes(),0,registro.length() );
	    	System.out.println("Consegui gravar o registro");
	    	rsCliente.closeRecordStore();
	    	System.out.println("se vc me viu naum tem problema");

	  	} catch (Exception e) {
	    	System.out.println(e.getMessage());
	  	}

    }

    public void salvarChamada() {
		System.out.println("cheguei no gravar");

	  	try {

	    	RecordStore rsChamada = RecordStore.openRecordStore("10",true);
	    	System.out.println("Consegui abrir o banco");
			StringBuffer registro = new StringBuffer( tf.getString() );
			System.out.println( "Tamanho radioAlunos: " + radioAlunos.size() );
			for ( int i = 0; i < radioAlunos.size(); i++ ) {
	    		if ( radioAlunos.isSelected( i ) ) {
					registro.append( "C" );
				} else {
					registro.append( "F" );
				}
			}
			System.out.println("Consegui valorizar o registro com "+registro);
	    	rsChamada.addRecord(registro.toString().getBytes(),0,registro.length() );
	    	System.out.println("Consegui gravar o registro");


			rsChamada.closeRecordStore();
	    	System.out.println("se vc me viu naum tem problema");

	  	} catch (Exception e) {
	    	System.out.println(e.getMessage());
	  	}

    }

	public void salvarDadosServidor() {

		try {

           	RecordStore rsChamada = RecordStore.openRecordStore("10",false);

           	byte [] dados = null;
           	RecordEnumeration reChamada = rsChamada.enumerateRecords(null,null,false);

           	dados = reChamada.nextRecord();
           	String aux;
           	int i;
           	StringBuffer sb = new StringBuffer("|");

           	while (reChamada.hasNextElement()) {

              	aux = new String(dados);

              	sb.append( aux + "|" );

              	dados = reChamada.nextRecord();
           	}

           	aux = new String(dados);
           	sb.append( aux );

           	rsChamada.closeRecordStore();

           	HttpConnection con = (HttpConnection) Connector.open( "http://127.0.0.1:8080/chamadaeletronica/ChamadaEletronicaServlet?dados=" + sb.toString() );
           	int status = -1;
           	status = con.getResponseCode();

           	if (status != HttpConnection.HTTP_OK) {
              	System.out.println("Nao deu conexao Status "+status);
           	}

           	Alert sucesso = new Alert("Sucesso","Repositório Atualizado com o Celular",null, null );
           	sucesso.setTimeout(3000);

           	//Redireciona a tela
           	display.setCurrent( sucesso,lista );

       } catch (Exception e) {
       		System.out.println( "Problemas:  " + e.getMessage() );
	   }


	}

    public void commandAction( Command c, Displayable d ) {

        if ( c == cmdVoltar ) {
            if ( d == frmDados ) {
                mostrarTelaInicial();
                display.setCurrent( lista );
            } else
            if ( d == frmChamada ) {
                mostrarTelaInformaData();
                display.setCurrent( frmDados );
            }
        } else if (c == cmdConfirmar ) {
            if ( d == frmDados ) {
                mostrarTelaChamada();
            } else if ( d == frmChamada ) {
                salvarChamada();
				splash = new Alert( "Chamada Efetuada com Sucesso..",
                    "Chamada Efetuada com Sucesso..", null, null );
                display.setCurrent( splash, lista );
            }
        }
        else
            verificarOpcaoList();

    }
}
Servelt para acesso aos dados:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
[b]// a linha abaixo precisa ser comentada, esta linha existe no código original[/b]
import javax.microedition.rms.*; 
import java.sql.*;

public class ChamadaEletronicaServlet extends HttpServlet  {

	private Connection con;

public void init() {
	try {
		System.out.println( "Achando o Driver " );
		Class.forName("org.postgresql.Driver");
		// preparacao de dados para conexao
		String url = "jdbc:postgresql://127.0.0.1/ChamadaAlunos";
		String usuario = "postgres";
		String senha = "ae123456";
		//String url = Conexao.url;
		//String usuario = Conexao.usuario;
		//String senha = Conexao.senha;
		System.out.println( "Estabelecendo conexao" );
		con = DriverManager.getConnection(url, usuario, senha);
	} catch (ClassNotFoundException e) {
	 	System.out.println( "Classe nao encontrada" );
	} catch (Exception e1) {
		System.out.println( e1.getMessage() );
	}
}

public void destroy() {
	try {
		this.con.close();
	} catch (SQLException e1) { }

}

public void doPost(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
           this.doGet(request, response);
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
	// configurar tipo de resposta
	response.setContentType("application/octetc-stream");

	//obter DataOutputStream de resposta
	DataOutputStream out = new DataOutputStream( response.getOutputStream());

	// obtencao do parametro de busca
	String dados = request.getParameter( "dados" );

	// geracao da pagina HTML
	try {
		if ( dados.equals( "x" ) ) {
		    StringBuffer mensagem = new StringBuffer(0);
			Statement stmt;
			synchronized (this.con) {
				stmt = this.con.createStatement();
			}
			System.out.println( "Criado Statement" );
			ResultSet rs = stmt.executeQuery( "select * from alunos order by 1" );
			System.out.println( "Criado ResultSet" );

			if ( rs.next() ) {
				mensagem.append( rs.getString(1) + "\n" );
			} else {
				mensagem.append("Nada consta.");
			}
			System.out.println( "Montando Lista" );
			while( rs.next() ) {
		    	mensagem.append( rs.getString(1) + "\n" );
			}
			System.out.println( mensagem.toString() );
			out.writeUTF( mensagem.toString() );
        	rs.close();
	 		stmt.close();
	 		stmt = null;

		} else {
			int qtdeDatas = 0; //quantidade de datas
			int ini = 0;
			String data[] = new String[100];
			while ( ini != -1 ) {
				qtdeDatas++;
				data[qtdeDatas] = dados.substring( ini+1, ini + 9 );
				ini = dados.indexOf( "|", ini + 1);
			}
			System.out.println( "**** Criar arq texto ****" );
			PrintWriter pout = new PrintWriter( new FileWriter( "/chamadaSD.txt" ) );

			StringBuffer linha = new StringBuffer( "Nome" );

			for (int j = 1; j<=qtdeDatas; j++ ) {
			 	linha.append( "\t" + data[ j ] );
			}

			linha.append( "\n" );
			pout.println( linha );
            System.out.println( linha );
			System.out.println( "acessando BD" );
			Statement stmt = con.createStatement();
			ResultSet rs = stmt.executeQuery( "Select * from alunos order by 1 desc" );
			//acessou o rs sem problemas
			int pos = 1;
			while ( rs.next() ) {
    			linha.setLength( 0 );

				linha.append( rs.getString( 1 ) );

				ini = 0;
				String sit = "";

				while ( ini != -1 ) {
					sit = dados.substring( ini + 8 + pos, ini + 9 + pos );
					ini = dados.indexOf( "|", ini + 1);
					linha.append( "\t" + sit );
				}

				pos++;
				System.out.println( "1: " + linha );
				pout.println( linha );


			}

			pout.close();

		}

	} catch (SQLException sql1) {
        out.writeUTF("Nada consta..."+sql1.getMessage() );
		out.writeUTF("-FIM-");
    }


}

}
O que preciso realmente é fazer a parte que lida com o banco funcionar, queria saber se preciso de algo mais além desse código para fazê-lo funcionar, tipo um xml.
Criado 2 de setembro de 2009
Respostas 0
Participantes 1