Boa tarde gente
Estou num impasse xave no desenvolvimento da minha aplicação, o que esta se passando é o seguinte:
quando conecto a base de dados usando j2me no acto de execucao ele exige que use thread senao entra em deadlock e eu faço o seguinte:
private void connectThread(){
t = new Thread(this);
t.start();
}
public void run(){
try{
RegistarVeiculo();
registaAdvertencia();
}catch (Exception e){}
}
public void RegistarVeiculo() throws IOException {
//codigo aqui para registar o veiculo remotamente na base de dados
}
public void registaAdvertencia() throws IOException {
//codigo aqui para registar a advertencia na base de dados
}
public void commandAction(Command command, Displayable displayable) {
if (command == salvar1) {
if (gravacaoOK== false){
mostrarAlerta(“Registro vazio não será salvo”, “Tente novamente”);
}else {
connectThread();
}
}
else if (command == salvar2) {
if (gravacaoOK== false){
mostrarAlerta("Registro vazio não será salvo", "Tente novamente");
}else {
connectThread();
}
}
}
o que esta acontecendo neste momento é que quando gravo o veiculo na base de dados e de seguida tento gravar advertencia ele grava a advertencia e repete a grvacao do veiculo anteriorimente gravado, isso porque ambos chamam o metodo connectThread().
como faço para essa repeticacao nao acontecer?
eu axo que o problema esta aqui
public void run(){
try{
RegistarVeiculo();
registaAdvertencia();
}catch (Exception e){}
}
precisa-se de algum if else, mas o problema é k nao xtou vendo como.
ajude-me.
nota: o meu objectivo é ter varios forms na mesma midlet que cada um dos forms execute sua accao especifica.