publicclassCidadeimplementsPersistable{publicStringcidades;publicvoidsalvar(){try{PersistableManager.getInstance().save(this);}catch(Exceptionex){ex.printStackTrace();System.out.println("Erro ao salvar "+ex);}}}
privatevoidlistarDados(){
ObjectSetos=null;try{
os=PersistableManager.getInstance().find(Cidade.class,null,null);for(inti=0; i < os.size(); i++) {Cidadeobjetocidade=(Cidade)os.get(i); //obtem as instancias do bancolist.append(objetocidade.getCidades(),null);
...
No meu caso quero que quando o usuário selecione um cidade na lista e seja deletada!!
Acontece que não esta deletando!!
vlw
O teu problema está no método excluir. Você deve obter a instancia que será excluída da lista que você gerou no método listarDados. Tente algo como:
public void excluir(Persistable persistable) {
PersistableManager.getInstance().delete(persistable);
}
Um abraço
UMC
Não ficou muito claro!
Em relação em passar um objeto para o método Excluir.
vlw
abs
vfmartins
não sei se desta maneira é o correto, mas fiz assim e funciona!
eu utilizo uma classe para filtrar e encontrar o registro aí aponto e deleto
ObjectSet os = PersistableManager.getInstance().find(Cidade.class, new CidadeFiltro(nome), null);
i = os.size();
Cidade objetoCidade = (Cidade) os.get(i);
try{
PersistableManager pm = PersistableManager.getInstance();
pm.delete(objetoCidade);
UMC
caros ainda não conseguir resolver!!
vlw
abs
vfmartins
qual é o problema ou dúvida?
UMC
Apagar um registro criado pelo floggy!!
vlw
Scoobydoo
Ve se isso ajuda
try{// Variável criada para especificar qual elemento será excluído Persistableexcluir;PersistableManagerpm=PersistableManager.getInstance();ObjectSetos=PersistableManager.getInstance().findAll(Cidade.class);// Verifica se há registros na lista if(os.count()<1){aviso=newAlert("Atenção","Não há nenhuma atividade selecionada.",null,AlertType.ERROR);switchDisplayable(aviso,listAtividade);aviso.setTimeout(3000);return;}// Pego o index selecionado pelo usuário excluir=os.get(/*sua Lista*/.getSelectedIndex());//Exclusão pm.delete(excluir);}catch(FloggyExceptione){System.out.println("Erro ao iniciar Função (excluirAtividade)");}
UMC
Scoobydoo:
Ve se isso ajuda
try{// Variável criada para especificar qual elemento será excluído Persistableexcluir;PersistableManagerpm=PersistableManager.getInstance();ObjectSetos=PersistableManager.getInstance().findAll(Cidade.class);// Verifica se há registros na lista if(os.count()<1){aviso=newAlert("Atenção","Não há nenhuma atividade selecionada.",null,AlertType.ERROR);switchDisplayable(aviso,listAtividade);aviso.setTimeout(3000);return;}// Pego o index selecionado pelo usuário excluir=os.get(listAtividade.getSelectedIndex());//Exclusão pm.delete(excluir);}catch(FloggyExceptione){System.out.println("Erro ao iniciar Função (excluirAtividade)");}
Acredito que não ajuda pelo fato de não ter o método
findAll
no meu só tem o método
find
vlw
vfmartins
UMC:
Apagar um registro criado pelo floggy!!
vlw
sim, isso eu sei, mas vc testou o código que te passei? tem alguma dúvida ou problema referente a ele?
UMC
vfmartins:
não sei se desta maneira é o correto, mas fiz assim e funciona!
eu utilizo uma classe para filtrar e encontrar o registro aí aponto e deleto
ObjectSet os = PersistableManager.getInstance().find(Cidade.class, new CidadeFiltro(nome), null);
i = os.size();
Cidade objetoCidade = (Cidade) os.get(i);
try{
PersistableManager pm = PersistableManager.getInstance();
pm.delete(objetoCidade);
sei você me passou isso. mais como faço a filtragem do objeto??
não ficou claro!
vlw
vfmartins
UMC:
vfmartins:
não sei se desta maneira é o correto, mas fiz assim e funciona!
eu utilizo uma classe para filtrar e encontrar o registro aí aponto e deleto
ObjectSet os = PersistableManager.getInstance().find(Cidade.class, new CidadeFiltro(nome), null);
i = os.size();
Cidade objetoCidade = (Cidade) os.get(i);
try{
PersistableManager pm = PersistableManager.getInstance();
pm.delete(objetoCidade);
sei você me passou isso. mais como faço a filtragem do objeto??
não ficou claro!
vlw
ele te ensina a criar a classe como filtro, especificamente no item “Usando um filtro para encontrar objetos específicos”
aí é só você usar a lógica que eu te passei, deletar após ter filtrado pois só vai ter ele de registro
abraços
UMC
cara você acha que não olhei isso!!
tentei desse jeito e nada!!
vfmartins
UMC:
cara você acha que não olhei isso!!
tentei desse jeito e nada!!
minha sugestão é que vc estude novamente
o site é confiável! o conteúdo disponível neste link funciona perfeitamente, pois eu mesmo ja testei todas funcionalidades
caso tenha alguma dúvida ou algum problema DESCREVA aqui
att
UMC
Obrigado pela ajuda!
dúvidas tenho bastante, mais a que quero resolver no momento e essa!!
vlw
abraços
UMC
Up!
mais alguém que pode me ajudar!?!?
vlw
abs
UMC
É pelo que deu pra perceber e que o FLOGGY foi desenvolvido por brasileiros e não tem suporte nenhum!
ou não presta ou o o desenvolvedor do mesmo e que nem sabe o que fez e etc !
vlw
abs
Hellmanss
UMC:
É pelo que deu pra perceber e que o FLOGGY foi desenvolvido por brasileiros e não tem suporte nenhum!
ou não presta ou o o desenvolvedor do mesmo e que nem sabe o que fez e etc !
vlw
abs
Você está dizendo besteiras, pois tive problemas com o floggy e o pessoal ajudou muito!
É facil dizer que a culpa é dos outros…
Hellmanss
E outra cara, falta educação em seus posts eim! Você acha que alguem é pago para lês seus posts e resolver os teus problemas?
tubiluki
No seu código você tem isso, como vc mesmo falou:
Cidade c = new Cidade();
pm.delete(c);
e como o amigo já falou:
vc tem que obter a instância antes de deletá-la…
no seu método você quer deletar uma entidade não persistente ainda…
primeiro é preciso obter a entidade persistente e entao passá-la para o método delete…
este link ta dizendo o que fazer para resolver, mas não vai trazer pronto
o negócio é estudar a dica e fazer!!
abraços
UMC
pois é não estou dizendo que quero obriga-lo a responder! mais pelo fato do software ser desenvolvido por brasileiros deveria ter mais suportes!
mostre me a falta de educação!
tubiluki:
No seu código você tem isso, como vc mesmo falou:
Cidade c = new Cidade();
pm.delete(c);
e como o amigo já falou:
vc tem que obter a instância antes de deletá-la…
no seu método você quer deletar uma entidade não persistente ainda…
primeiro é preciso obter a entidade persistente e entao passá-la para o método delete…
este link ta dizendo o que fazer para resolver, mas não vai trazer pronto
o negócio é estudar a dica e fazer!!
abraços
que solução!?!?!?!?!?!?!?
pela metade não ajuda em nada!
Estudar ouço sempre e o que faço!!
Orientação e Ajuda é o que falta muito!
Obrigado a todos por responderem!
vlw
abs
UMC
Hellmanss:
UMC:
É pelo que deu pra perceber e que o FLOGGY foi desenvolvido por brasileiros e não tem suporte nenhum!
ou não presta ou o o desenvolvedor do mesmo e que nem sabe o que fez e etc !
vlw
abs
Você está dizendo besteiras, pois tive problemas com o floggy e o pessoal ajudou muito!
É facil dizer que a culpa é dos outros…
ops faltou esse!
Eu dizendo besteiras!!! nada disso apenas dizendo a verdade! você teve sorte em ter ajuda e eu??!!??!!
É fácil sim, dizer que a culpa e dos outros quando ela realmente é!
Hellmanss
Estudar ouço sempre e o que faço!!
Orientação e Ajuda é o que falta muito!
Ajuda ja foi dada! É se deixar a preguiça de lado e implementar a solução!
UMC
Hellmanss:
Estudar ouço sempre e o que faço!!
Orientação e Ajuda é o que falta muito!
Ajuda ja foi dada! É se deixar a preguiça de lado e implementar a solução!
Que ajuda!?!?
Solução ?! que já tentei de várias formas e nada!
se tudo dito nas respostas acima for solução! …
Preguiça ?!?! se fosse não estaria trabalhando o dia todo e nem estudando a noite!
vlw
vfmartins
cara, não tem nada pela metade aí!
a única coisa é que eu não vou fazer o código pra vc né!!
a dica ta aí, agora é com vc!!
estou tentando ajuda-lo sugerindo uma solução, vc fala que não funciona, mas cade o problema? em nenhum momento vc diz o que acontece de erro ao testar minha solução
obs. o Tiago lhe deu atenção e suporte sim!! ele tbm ja te deu a solução
estude e crie seu código baseado nas soluções que lhe foi apresentada
pare de esperar que alguém va fazer o código pra vc!!
UMC
vfmartins:
cara, não tem nada pela metade aí!
a única coisa é que eu não vou fazer o código pra vc né!!
a dica ta aí, agora é com vc!!
estou tentando ajuda-lo sugerindo uma solução, vc fala que não funciona, mas cade o problema? em nenhum momento vc diz o que acontece de erro ao testar minha solução
obs. o Tiago é mto atencioso sim!! ele tbm ja te deu a solução
estude e crie seu código baseado nas soluções que lhe foi apresentada
pare de esperar que alguém va fazer o código pra vc!!
Em momento algum eu pedir código pronto !!!
estou pedindo orientação! em algo que não sei fazer!
vamos lá no seu código!
ObjectSet os = PersistableManager.getInstance().find(Cidade.class, new CidadeFiltro(nome), null);
i = os.size();
Cidade objetoCidade = (Cidade) os.get(i);
try{
PersistableManager pm = PersistableManager.getInstance();
pm.delete(objetoCidade);
ok! blz agora o que você colocou essa classe new CidadeFiltro(nome) e que eu não sei!!
vlw
UMC
obs. o Tiago é mto atencioso sim!! ele tbm ja te deu a solução
estude e crie seu código baseado nas soluções que lhe foi apresentada
Se ele fosse realmente atencioso ele estaria me dando suporte !! isso é se ele sabe dar !
15 dias!! e nada!
Obrigado por responder mais uma vez!
e vai eu mais uma vez tentar isso!
vlw
teve erro? qual?
Hellmanss
Da maneira como você implementou, você está querendo excluir uma instancia de um novo objeto:
Objeto obj = new Objeto()
pm.delete(obj);
E na verdade, você precisa de uma instancia Válida do objeto persistido ou então o ID interno dele!
O código que o vfmartins mostrou faz exatamente o que afirmei!
-Recupera uma instancia valida do objeto persistido
-Passa o objeto valido para método de exlusão que de fato encontrara o registro a ser excluido
UMC
ele não fez nada! tipo colocava pra excluir e ele não fazia nada!
continuava com o registro gravado!
com a raiva acabei excluindo a classe vou ver aqui nos backups se encontro novamente e tentar fazer de novo!
vfmartins
UMC:
ele não fez nada! tipo colocava pra excluir e ele não fazia nada!
continuava com o registro gravado!
com a raiva acabei excluindo a classe vou ver aqui nos backups se encontro novamente e tentar fazer de novo!
posta o código aqui, aí da pra validar o que há de errado
UMC
encontrei isso aqui! foi basicamente o que eu fiz!
publicvoidexcluir(/*Persistable p*/)throwsFloggyException{Persistableex;// ObjectSet os = null;PersistableManagerpm=PersistableManager.getInstance();//Cidade c = new Cidade();ObjectSetos=PersistableManager.getInstance().find(Cidade.class,null,null);try{Stringnome=listarCidade.getString(listarCidade.getSelectedIndex());StringnCidade=listarCidade.getString(listarCidade.getSelectedIndex());PersistableManagerpm=PersistableManager.getInstance();ObjectSetpos=pm.find(Cidade.class,newNomeCidadeFilter(nCidade),null);Cidadec=(Cidade)pos.get(0);pm.delete(c);getAlertaExcluiCidade().setString("Excluido com sucesso!"+listarCidade.getString(getListarCidade().getSelectedIndex()));}catch(Exceptione){getAlertaExcluiCidade().setString("Erro");}}
cara, da uma olhada na minha primeira resposta e nas tuas linhas de 14 adiante (vc não fez da maneira que eu te mostrei)
corrige la que funciona!! ahh... da uma limpada nesse código tbm, pois tem um mte de linha fora do try que não serve pra nada...
quanto a classe de filtro, ta aí, fiz ela pra vc:
importnet.sourceforge.floggy.persistence.Persistable;publicclassNomeCidadeFilterimplementsnet.sourceforge.floggy.persistence.Filter{Stringnome;publicNomeCidadeFilter(Stringnome){this.nome=filtro;}publicbooleanmatches(Persistableobjeto){Cidadec=(Cidade)objeto;returnthis.nome.equals(c.get"AQUI VAI O NOME DO CAMPO LA DA CLASSE QUE ARMAZENA"());}}
impossível não funcionar...
agora é com vc... estude e faça!!
apesar que ja ta qse tudo feito pra vc
falow
UMC
Obrigado pela ajuda!
implementei o código!
agora no método excluir() coloquei assim:
publicvoidexcluir()throwsFloggyException{Stringnome=listarCidade.getString(getListarCidade().getSelectedIndex());ObjectSetos=PersistableManager.getInstance().find(Cidade.class,newNomeCidadeFilter(nome),null);inti=os.size();CidadeobjetoCidade=(Cidade)os.get(i);try{PersistableManagerpm=PersistableManager.getInstance();pm.delete(objetoCidade);getAlertaExcluiCidade().setString("Excluido com sucesso!"+listarCidade.getString(getListarCidade().getSelectedIndex()));}catch(Exceptione){getAlertaExcluiCidade().setString("Erro ao iniciar Função (excluir)");}}
acredito que eu esteja errando na passagem da String do construtor da Classe NomeCidadeFilter .Não sei, poderia dizer o que esta errado?
Obrigado!
vlw
abs
Hellmanss
int i = os.size();
Cidade objetoCidade = (Cidade) os.get(i);
Você está pegando o objeto cidade de um indice que nunca existirá!
ex:
Se o resultado tiver 1 registro, você estará pegando o indice 1, mas só existe o indice 0.
vfmartins
Hellmanss:
int i = os.size();
Cidade objetoCidade = (Cidade) os.get(i);
Você está pegando o objeto cidade de um indice que nunca existirá!
ex:
Se o resultado tiver 1 registro, você estará pegando o indice 1, mas só existe o indice 0.
exatamente, quando postei o código foi um exemplo, vc tem que adequa-lo a sua situação.
se vc definir zero como default a variavel antes de atribuir o valor ja resolveria.
vfmartins
ahh… mas valide quando é !=0 também
UMC
galera! tudo bom com vocês?
Coloquei assim no código!
coloquei assim porque na lista o primeiro registro e 0 e no os.size() é 1:
acredito que seja essa lógica! que ainda não entendi! rsrs
erro:
TRACE: <at java.lang.OutOfMemoryError>, Exception caught in Display class
java.lang.OutOfMemoryError
(stack trace incomplete)
javacall_lifecycle_state_changed() lifecycle: event is JAVACALL_LIFECYCLE_MIDLET_SHUTDOWNstatus is JAVACALL_OK
ricoh-run
vlw
abs
vfmartins
é só vc fazer a lógica!!!
se for o primeiro vc atribui zero, senão é a quantidade menos um.
UMC
vfmartins:
é só vc fazer a lógica!!!
se for o primeiro vc atribui zero, senão é a quantidade menos um.
publicvoidExcluirCidade()throwsFloggyException{Stringnome=listarCidade.getString(getListarCidade().getSelectedIndex());ObjectSetos=PersistableManager.getInstance().find(Cidade.class,newNomeCidadeFilter(nome),null);inti=os.size()-1;CidadeobjetoCidade=(Cidade)os.get(i);NomeCidadeFilternf=newNomeCidadeFilter(nome);try{PersistableManagerpm=PersistableManager.getInstance();pm.delete(objetoCidade);getAlertaExcluiCidade().setString("Excluido com sucesso! "+listarCidade.getString(getListarCidade().getSelectedIndex()));}catch(Exceptione){getAlertaExcluiCidade().setString("Erro ao tentar excluir cidade! ");}}
eu sugiro que vc verifique o restante do fonte do aplicativo deve ter coisa mal feita perdida
só assim pra dar out of memory, pois as duas formas estão corretas e funcionam perfeitamente.
UMC
vfmartins:
eu sugiro que vc verifique o restante do fonte do aplicativo deve ter coisa mal feita perdida
só assim pra dar out of memory, pois as duas formas estão corretas e funcionam perfeitamente.
concordo porque eu sigo direito o código e a lógica ,esta correto mais na hora de executar dando erro!
obrigado pela ajuda!
vou da uma analisada no código!
será que tem algo haver de como foi salvo o objeto!?
vlw
vfmartins
não entendi o que vc quis dizer…
UMC
vfmartins:
UMC:
será que tem algo haver de como foi salvo o objeto!?
não entendi o que vc quis dizer...
é a forma que o dado é salvo porque eu faço assim!
publicStringcidades;publicCidade(){cidades=null;}publicStringgetCidades(){returncidades;}publicvoidsetCidades(Stringcidades){this.cidades=cidades;}publicvoidsalvar(){try{PersistableManager.getInstance().save(this);}catch(Exceptionex){ex.printStackTrace();System.out.println("Erro ao salvar "+ex);}}
vlw
vfmartins
aí não é não…
analise suas classes, debuga pois linha a linha vc vai ver o momento e onde acontece
mas tbm pode ser o caso de verificar seu framework
UMC
já troquei 3 vezes!
você poderia disponibilizar o seu?
vlw
vfmartins
eu trabalho com netbeans
este link ensina instalar o necessário para o funcionamento básico de aplicações j2me:
lol não obrigado eu já sei tudo isso!
eu uso o NetBeans também vlw
o que eu queria era saber qual LIB do Floggy e versão você usa?
eu utilizo a que tem no site oficial floggy-persistence-1.3.1.zip
Obrigado pela atenção!
tentei 3 métodos de exclusão e dão o mesmo erro testei no HTC e não dar em nada!
vlw
abs
vfmartins
UMC, essa configuração mesmo.
Mas agora é com vc. A solução foi aprensentada, teste em outros lugares, pois todos que lhe responderam mostraram que funciona!
A função do forum é te dar a dica, agora vc deve estudar e procurar resolver o SEU problema.
Abraços e boa sorte
UMC
vfmartins:
UMC, essa configuração mesmo.
Mas agora é com vc. A solução foi aprensentada, teste em outros lugares, pois todos que lhe responderam mostraram que funciona!
A função do forum é te dar a dica, agora vc deve estudar e procurar resolver o SEU problema.
Abraços e boa sorte
vlw
Obrigado pela ajuda de você e dos demais que responderam!
vou continuar na batalha de descobrir como funciona!
UMC
o que está acontecendo!?
e o seguinte fiz o De-Bug no método e fui linha por linha! ele chega até a parte de excluir pm.delete(excluir);
mais quando vou no emulador ele continua lá!
quando executo em modo normal ele da o erro:
TRACE: <at java.lang.OutOfMemoryError>, Exception caught in Display class
java.lang.OutOfMemoryError
(stack trace incomplete)
Agradeço as ajudas!
vlw
Hellmanss
Com as informações aqui nos posts, o unico motivo para estar estourando memoria seria a tua pesquisa estar retornando muitos registros.
Faz um debug, olha o tamanho de retorno da tua pesquisa…
UMC
Hellmanss:
Com as informações aqui nos posts, o unico motivo para estar estourando memoria seria a tua pesquisa estar retornando muitos registros.
Faz um debug, olha o tamanho de retorno da tua pesquisa…
blz vou ver isso agora mesmo!
UMC
da uma olhada por favor!
acho que é isso.
vlw
Hellmanss
desculpa, mas daqui onde estou o proxy bloqueou o conteudo da sua mensagem Se for imagem, manda em forma de “attachments”.