Oi, sou novo no forum e ainda estou iniciando com o j2me. Bom estou tentando fazer um programa que lê arquivos txt na memoria do celular (interna ou cartão) e faz persistencia com os dados, entretanto eu tive um problema, testando no meu celular um nokia2660 (não posssui cartão) ele rodou sem problemas utilizando a pasta de imagens do celular para armazenar os arquivos txt, porem, quando testei ele em outro celular (mais recente) e em um smartphone da nokia eles não rodaram.
No da samsung quando foi ler o primeiro arquivo o programa congelou e no da nokia ele simplesmente não leu, eu baixei o kit de desenvolvedor da samsung e nele o programa rodou sem problemas... exceto uma vez que rodei simulando o celular de outra forma, no momento não lembro como fiz, mas deu um security exception.
Se alguem puder me ajudar eu agradeço, irei postar apenas uma parte do codigo que é a que faz a leitura dos dados. Só um obs. pode ser que eu tenha postado um codigo com outros erros, é que não estou no meu pc mas assim que eu puder irei verificar se é a versão que roda sem problemas no meu celular.
[code]public static String[] LerArquivo(String nomeArquivo) {
String[] retorno = null;
StringBuffer full = new StringBuffer();
System.out.println(“Ler There?”);
String[] s = listarRoots();
String galleryPath = System.getProperty(“fileconn.dir.photos”);
System.out.println("root1?: " + s[0]);
for (int j = -1; j < s.length; j++) {
try {
System.out.println("s: " + s.length);
FileConnection fc;
if (j == -1) {
fc = (FileConnection) Connector.open(galleryPath + nomeArquivo);
System.out.println(galleryPath + nomeArquivo);
} else {
fc = (FileConnection) Connector.open(“file:///” + s[j] + nomeArquivo);
System.out.println(“file:///” + s[j] + nomeArquivo);
}
if (!fc.exists()) {
continue;
}
InputStream is = fc.openInputStream();
int chr, i = 0;
while ((chr = is.read()) != -1) {
full.append((char) chr);
}
retorno = split(full.toString());
fc.close();
return retorno;
} catch (Exception e) {
if(j == s.length-1) {
e.printStackTrace();
retorno[0] = ("erro: " + e.getMessage());
return retorno;
}
}
}
return retorno;
}
[/code]