Estou desenvolvendo um aplicativo que deve escrever um arquivo texto, mas no momento da execução sempre recebo a mensagem:
“Warning: To avoid potential deadlock, operations that may block, such as
networking, should be performed in a different thread than the
commandAction() handler.”
Nunca tinha implementado threads, mas segui vários e vários exemplos que encontrei em forums e tutoriais, sem sucesso.
Se alguem puder dar uma olhada no meu código e me instruir para o que estou fazendo de errado, ficarei eternamente agradecido. 
Primeiramente a classe implementando a thread.
public class WriteFile extends Thread {
//caminho do arquivo a ser gravado
private String path;
//dados a serem gravados
private String[] dados;
public WriteFile(String path, String[] dados) {
this.path = path;
this.dados = dados;
}
public void run() {
txt();
}
private void txt () {
try {
FileConnection fc = (FileConnection)Connector.open(path, Connector.WRITE);
OutputStream os = fc.openOutputStream(fc.fileSize());
DataOutputStream dos = new DataOutputStream(os);
for (int i = 0; i < dados.length; i++) {
dos.writeUTF(dados[i] + ";");
}
dos.flush();
dos.close();
fc.close();
} catch( ConnectionNotFoundException e ) {
e.printStackTrace();
} catch( IOException e ) {
e.printStackTrace();
}
}
}
Experimentei executar a thread de uma funçao chamada por um command e diretamente do command, sem sucesso.
} else if (command == okCommand) {
final String path = "file:///root1/txt/teste.txt";
String[] v = Teste.gravar(); //esta classe retorna os dados a serem gravados
new WriteFile(path, v).run();
}
Qualquer sugestão será bem vinda!
Obrigado a todos!