IrDA com J2ME (infravermelho)

4 respostas
B

Pessoal, estou tentando desenvolver uma aplicação, em J2ME, para controle de ponto dos funcionários rurícolas da empresa a qual trabalho.
Estou utilizando um palm zire 22 e a maquina virtual da IBM (WebShere Everyplace Micro Environment v5.7).
O problema é que este palm está conectado via infravermelho a um leitor de código de barras e não estou sabendo como fazer para obter os dados enviados pelo leitor.

Tentei até utilizar a CommConnection, como no fonte abaixo

CommConnection comm = (CommConnection)Connector.open(?comm:COM2;baudrate=9600″);

e não estou tendo sucesso, alguém tem alguma opinião??

4 Respostas

P

bmcneto:
Pessoal, estou tentando desenvolver uma aplicação, em J2ME, para controle de ponto dos funcionários rurícolas da empresa a qual trabalho.
Estou utilizando um palm zire 22 e a maquina virtual da IBM (WebShere Everyplace Micro Environment v5.7).
O problema é que este palm está conectado via infravermelho a um leitor de código de barras e não estou sabendo como fazer para obter os dados enviados pelo leitor.

Tentei até utilizar a CommConnection, como no fonte abaixo

CommConnection comm = (CommConnection)Connector.open(?comm:COM2;baudrate=9600″);

e não estou tendo sucesso, alguém tem alguma opinião??

Tem certeza que este velho dinossauro suporta esta classe ? Nenhuma exception é lançada ? Tem certeza ?

B

rapaz, parece que funciona, não levanta nenhuma excecão.
Estou utilizando o código abaixo:

CommConnection comm = (CommConnection)Connector.open("comm:IrDA;baudrate=" + boudeRates + ";bitsperchar=" + dataBit + ";stopbits=" + stopBit + ";parity=" + parity);
StringBuffer b = new StringBuffer();
InputStream in = comm.openInputStream();
int ch;
while((ch = in.read()) != -1) {
	b.append((char) ch);
}

in.close();
comm.close();

O problema é que ele não retorna o valor esperado, na verdade não retorna nada.

B

Só p/ deixar mais claro, a especificação do aparelho que estou utilizando é:

Computador de mão Palm® Z22
Sistema Operacional
Palm OS® Garnet 5.4
Memória
32MB (20MB de espaço real disponível)
Processador
200 MHz

P

bmcneto:
rapaz, parece que funciona, não levanta nenhuma excecão.
Estou utilizando o código abaixo:

CommConnection comm = (CommConnection)Connector.open("comm:IrDA;baudrate=" + boudeRates + ";bitsperchar=" + dataBit + ";stopbits=" + stopBit + ";parity=" + parity);
StringBuffer b = new StringBuffer();
InputStream in = comm.openInputStream();
int ch;
while((ch = in.read()) != -1) {
	b.append((char) ch);
}

in.close();
comm.close();

O problema é que ele não retorna o valor esperado, na verdade não retorna nada.

Não levanta exceção ? cadê o try…catch que deveria ter no seu código ? Tô achando que vc não está capturando a exceção… :roll:

Criado 22 de outubro de 2009
Ultima resposta 22 de out. de 2009
Respostas 4
Participantes 2