Olá a todos do nosso GUJ. Estou com uma grande dúvida aqui, mexo com J2ME a um tempo e me interessei por salvar imagens no RMS. Porém, como as coisas são bem diferentes do nosso J2SE não consegui realmente entender como pegar a imagem e transformá-la em um array de bytes. Sei que não dar para fazer isto diretamente e que tem uma forma usando um OutputStream, infelizmente, não sei como fazer. Só preciso entender como fazê-las e e lê-las. Pesquisei no fórum e perguntei ao Oráculo e não consegui encontrar referências que pudessem me ajudar. Peço que me ajudem e agradeço mesmo.
[code] /**
* Cria ou atualiza um registro na base de dados. Caso não exista id cria, caso contrário atualiza.
* @param id Chave primária do registro.
* @param xml Conteudo do registro.
* @param v Versão do registro.
* @throws IOException
* @throws RecordStoreException
* @throws RecordStoreFullException
*/
public void criarOuAtualizarRegistro(String path, byte[] img, String versao) throws IOException, RecordStoreFullException, RecordStoreException{
ByteArrayOutputStream strByte = new ByteArrayOutputStream(); //Escreve dados em um byte array interno.
DataOutputStream strDataType = new DataOutputStream(strByte); //Escreve tipo de dados Java no Byte array acima.
//escreve tipo de dados Java.
strDataType.writeUTF(path);
strDataType.writeUTF(versao);
strDataType.write(img);
strDataType.flush();
byte[] rec = strByte.toByteArray(); //coloca o stream de dados no byte array e grava o registro
int posReg = getIndiceRegistro(path);
if (posReg == -1) {
rs.addRecord(rec, 0, rec.length);
}else{
rs.setRecord(posReg, rec, 0, rec.length);
}
strByte.reset();
strByte.close();
strDataType.close();
}[/code]
este metodo coloca minhas imagens em rms, gravo tbm duas strings alem do array de bytes. Moleza neh?
Dá uma olhada neste link que tem um artigo bacana sobre a sua dúvida: http://www.java-tips.org/java-me-tips/midp/how-to-store-retrieve-image-in-from-rms.html
Para transformar uma imagem em um arry de byte faça o seguinte:
Image img = Image.createImage("/suaimagem.png");
byte [] byteIMG = img.toString().getBytes();
Putttzz… por isso que eu amo o GUJ 
Bom, eu estava apenas procurando como transformar a imagem em array de bytes. Métodos de como gravar num RMS eu sei, mas agradeço de coração mesmo a sua contribuição. Aí vem Agora, é só correr atrás de criptografia com os dados porque no link tem como recuperar de um RMS e renderizar no form. Valeu mesmo. Se algum moderador entrar neste tópico pode trancar, irei colocar a TAG [Resolvido].