Onde está o RMS?

7 respostas
BrunoBastosPJ

opa, estava fazendo um programa aqui e gravando alguns objetos serializados em um arquivo RMS. Deu tudo certo ele funcionou tranquilo. O proble que eu estou tento é de onde o j2me grava esse arquivo rms… dentro da pasta do projeto ele não está, e ele tem que estar em algum lugar na máquina, já que fuciona como persistência… Alguem sabe onde ele cria o arquivo quando você chamar essa linha de comando?

Valeu

7 Respostas

W

O RMS trabalha um pouco diferente da serialização, como já deves ter notado. Uma das divergências se encontra justamente na localização dos bytes armazenados. Tudo fica camuflado, sendo responsabilidade da JVM alocar os bytes sem que o desenvolvedor de aplicações móveis tenha que se preocupar com isso. De fato, a única coisa que ele deve pensar é se ocorrer o caso do espaço reservado para o RMS ficar cheio. No caso dos simuladores, creio que o que é persistido fica em alguma pasta dele.

Esse detalhe merece uma maior pesquisa de minha parte, pois tenho apenas uma lembraça a respeito, mas o que o RMS faz não é criar arquivos, pois os dispositivos não possuem um sistema de arquivos em seus sistemas operacionais, logo, os bytes persistidos não podem ter essa designação. Outra pessoa, com mais informações, poderia confirmar ou descomfirmar isto?

Waocnek

BrunoBastosPJ

o que você falou tem sentido Waocnek…

isso é um problemão! Eu pensei que o j2me criava um arquivo rms para armazenar os bytes.

O problema é que minha aplicação antiga, que foi desenvolvida em java 1.3, usa File para transmitir os arquivos via Sockets de uma máquina para outra. Eu pensei que talvez, como j2me não suporta File, eu pudesse transmitir o RMS com os dados que eu preciso. Você tem ideia de como eu faço para transmitir meus arquivos de uma máquina para outra? por exemplo transmitir apenas um .jar que tenho.

Valeu

W

Ele armazena, apenas não tenho certeza se o que ele armazena pode ser classificado como arquivo e não uma “cadeia de bytes na memória não-volátil”. A função do RMS é armazenar os dados, puramente. Se você precisa transmitir dados via uma conexão, sugiro uma lida nesse pacote:

http://www.blackberry.com/developers/docs/4.1api/javax/microedition/io/package-summary.html

Existem boas documentações da SUN sobre como usar ele também. Caso não seja exatamente isto que deseja, dê mais detalhes do que você deseja fazer.

BrunoBastosPJ

tipo, um celular que tira foto e depois envia essa foto para outro celular. Isso em java sabendo q o j2me não usa File como ficaria?

é possivel eu por exemplo escrever alguma coisa que ele armazene local e depois enviar isso que eu escrevi parar outro telefone?

Tem ideia de como posso fazer uma coisa parecida?

Valeu

W

http://www.blackberry.com/developers/docs/4.1api/java/io/package-summary.html

Utilize o DataInputStream e DataOutputStream.

BrunoBastosPJ

Caraca… é dificil achar um exemplo de sockets que funcione no j2me né? estava olhando um que usa kxml, mas no .jar do kxml não tem as classes que o exemplo usa… Tem algum site, ou apostila que eu possa achar exemplos usando sockets para poder entender como o j2me trabalha com ela? Ele trabalha do mesmo jeito que o j2se?

Valeu

W

Link para a seção de Networking do j2megd.org:

http://www.j2megd.org/index.php?c=49

A maioria das dúvidas em Java ME desaparecem quando começa a fuçar tudo o que tem nesse site acima. Especificamente sobre sockets em Java ME, meus links favoritos são:

http://www.samspublishing.com/articles/article.asp?p=131116&seqNum=5&rl=1
http://developers.sun.com/techtopics/mobility/midp/questions/rawsocket/
http://www.jguru.com/faq/view.jsp?EID=269947

Se ainda tiver dúvidas, é só avisar.

Waocnek

Criado 5 de junho de 2006
Ultima resposta 13 de jun. de 2006
Respostas 7
Participantes 2