WebSQL OK na emulação, no debug, no APP Preview mas não funciona no APK

WebSQL OK na emulação, no debug, no APP Preview mas não funciona no APK

imagem de Hamilton Tenório da Silva

Estou fazendo uma nova versão do APP ConfirmAki (já tenho uma versão Básica no Google Play). Nesta nova versão o APP busca num servidor externo os registros necessários e grava no WebSQL para acesso off-line.

Na emulação dentro do XDK tudo funciona bem. No Debug com vários aparelhos, tudo OK também. No APP Preview também roda corretamente. Em todos os casos a console não mostra erro de execução ou de WebSQL, ou seja, tudo funciona bem.

Entretanto, quando crio o APK e executo nos aparelhos, começa um problema estranho (descrito mais abaixo):
- no Samsung S4 (Android 4.4.2) OK
- no Samsung S (Cyanogenmod 10.1.3-RC2 Android 4.2.2) apresenta o problema 
- no Mororola Xoom (Android 4.1.2) apresenta o problema
- no Galaxy Tab 10.1 (Android 4.0.4) apresenta o problema
- no Nexus Google One (Android 2.3.6)  apresenta o problema

O problema é estranho, pois não mostra nenhuma mensagem de erro de WebSQL ou de script. O evento de sucesso do sql.execute (insert) é disparado, mas nenhum registro é gravado (ou é gravado e não é recuperado...).

Mas o mais curioso é que o outro APP (versão Básica), que também grava as mesmas tabelas (apenas com outro nome de APK) funciona bem em todos os aparelhos e simuladores, sem qualquer problema. 

Já fiz vários testes, alterações, modificações, mudança de ordem, etc. e nada... Alguma ideia?

Tentei o Debug para procurar erros usando os aparelhos que dão problema, mas nesta hora funciona. Nenhum erro é reportado e tudo corre bem.

 

7 posts / novo 0
Último post
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.
imagem de Hamilton Tenório da Silva

Coisa louca! Depois de 2 dias tentando e não conseguindo nada, resolver fazer algo mais agressivo. Peguei o outro APP que funcionava (versão Básica) e iniciei do começo. Dupliquei e comecei a repassar os códigos do que não funcionava para a nova cópia. 

Depois de repassar tudo, fiz um teste e funcionou. Ou seja, o mesmo código, apenas recriado a partir de outra estrutura, funcionou.

Não sei como, mas está resolvido.

Olá hamilton, tenho um trabalho da faculdade pra fazer.

O trabalho consiste em criar uma app mobile, porém precisa de um banco de dados.

Tem como fazer isso no XDK? uma vez que nao usa PHP?

imagem de Paul Fischer (Intel)

Hamilton said:

Crazy thing ! After two days of trying and not getting anywhere , resolve to do something more aggressive. I took another APP that worked (Basic version ) and started from the beginning. Duplicated and started to pass the codes did not work for the new copy .

After reviewing everything, I did a test and it worked . Ie , the same code , only recreated from another structure , it worked.

I do not know how, but it's settled .

Everson said:

Hamilton Hello , I have a college work to do.

The work is to create a mobile app , but needs a database.

Is to do this in the XDK ? since it does not use PHP ?

Paul said:

You can use a database within a Cordova app (Intel XDK apps are Cordova apps). What you can do depends on the platform, the XDK does NOT supply the embedded browser, that is a function of the platform. Search for "PhoneGap Cordova database" or "PhoneGap Cordova sql" for more answers.

imagem de Hamilton Tenório da Silva

Emerson V., 

Eu fiz uso do WebSQL em Javascript dentro do XDK. O XDK é apenas o ambiente, o que trata o banco de dados é o Javascript.

Hamilton

Tenho usado webSQL e uso ajax para enviar alguns dados para um server web que tenho. 

Sabem me dizer oq acontece com os dados do webSQL quando o app é atualizado? 

Me parece que a atualizacao do app é uma remoção do antigo e instalacao do novo. Com isso os dados serão perdidos. 

 

 

imagem de Hamilton Tenório da Silva

Moacir d.

Os dados do webSQL são mantidos mesmo com uma atualização do APP. O único caso que me ocorreu de perder foi quando fiz a atualização do APP usando a compilação (build) do Cordova, que na atualização pareceu que criou outro banco webSQL e não utilizou o anterior. Mas fazendo a instalação do APK anterior os dados estavam lá. Parece que existe alguma informação diferente no APP que não reconhece o banco anterior. 

Faça login para deixar um comentário.