Quantidade Maxima de Registros Recomendadas para uma app  XML
Índice dos Fóruns » Google Android e Java Micro Edition (ME)
Autor Mensagem
rodrigo_ror
Thread.start()
[Avatar]

Membro desde: 24/08/2004 08:26:50
Mensagens: 44
Offline

Existe uma quantidade de registros no SQLite para uma app offline?

Vamos supor: tenho 35mil registros (+/- 111 campos) que possivelmente deverão entrar na app, qual a melhor forma?

O que usar? O que vcs recomendam?

"Os covardes morrem muitas vezes antes da morte, porém os corajosos morrem uma única vez" (Desconheço autor).




[MSN] [ICQ]
felipebonezi
JavaEvangelist
[Avatar]

Membro desde: 28/04/2010 12:28:06
Mensagens: 330
Localização: Recife/PE
Offline

Que o aparelho celular seja no mínimo dual-core! ;x

Felipe Bonezi
Graduando em Engenharia da Computação-POLI/UPE

Blog Android/WP7/iOS @ Debug de Códigos
-

[WWW] [MSN]
claudneto
JavaEvangelist
[Avatar]

Membro desde: 12/08/2008 15:09:47
Mensagens: 489
Localização: Mogi das Cruzes
Offline

Usando essa pergunta como gancho.

Nesse caso de várias entradas em uma app, o que roda mais rápido: SQLite ou WebService?



UsuarioGUJ us = new UsuarioGUJ();
if (us.visitar(Use a porra do Google)) {
us.sendString("Eu não mando mensagens sem pesquisar!");
else {
us.sendString("Eu mando mensagens sem pesquisar!");
}
[Email] [MSN]
felipebonezi
JavaEvangelist
[Avatar]

Membro desde: 28/04/2010 12:28:06
Mensagens: 330
Localização: Recife/PE
Offline

SQLite pois é uma consulta local.

Felipe Bonezi
Graduando em Engenharia da Computação-POLI/UPE

Blog Android/WP7/iOS @ Debug de Códigos
-

[WWW] [MSN]
claudneto
JavaEvangelist
[Avatar]

Membro desde: 12/08/2008 15:09:47
Mensagens: 489
Localização: Mogi das Cruzes
Offline

Mesmo com esse número de registros?

Imagina a seguinte situação:
O BD tem, ao todo, 35 mil registros, mas a app utiliza apenas uma pequena parte deles a cada utilização.

Compensa criar o BD em SQLite, processando os 35 mil registros toda vez que vai fazer uma consulta sendo que utiliza apenas uma parte? Não seria melhor o webservice trazer apenas o que a app vai utilizar?

Claro que isso não é uma ciência exata, mas nesse caso o webservice não seria mais rápido?

This message was edited 1 time. Last update was at 04/02/2012 09:32:35




UsuarioGUJ us = new UsuarioGUJ();
if (us.visitar(Use a porra do Google)) {
us.sendString("Eu não mando mensagens sem pesquisar!");
else {
us.sendString("Eu mando mensagens sem pesquisar!");
}
[Email] [MSN]
felipebonezi
JavaEvangelist
[Avatar]

Membro desde: 28/04/2010 12:28:06
Mensagens: 330
Localização: Recife/PE
Offline

Você não iria guardar em um banco de dados também no WebService?

Felipe Bonezi
Graduando em Engenharia da Computação-POLI/UPE

Blog Android/WP7/iOS @ Debug de Códigos
-

[WWW] [MSN]
rodrigo_ror
Thread.start()
[Avatar]

Membro desde: 24/08/2004 08:26:50
Mensagens: 44
Offline

E se a APP rodar num desses: http://www.lojasmm.com/ch/prod/7617/685/0/Tablet-Multilaser-PC-Elite-NB003-LCD-Multitoque-Android-23-8GB-Display-70-Multi-Touch-Wi-Fi-CPU-12-GHz-CameraFilmadora-USB.aspx

Tipo um coletor de dados que necessita apenas atualizar os dados e salvá-los para depois descarregar.

o Ambiente: Tablet com Wifi para uso Offline e guardar dados.
A Ideia inicial é:
XML contendo todos os dados a serem atualizados (35mil registros/ 111 campos)
Pesquisa 1 item e Coloca como objeto
Verifica os dados Atualizando-os
Salva no BD
Envia um CSV via FTP quando rede wifi estiver disponivel.

Vcs acham uma boa ideia? é possível fazer?

This message was edited 1 time. Last update was at 06/02/2012 09:50:35


"Os covardes morrem muitas vezes antes da morte, porém os corajosos morrem uma única vez" (Desconheço autor).




[MSN] [ICQ]
rodrigo_ror
Thread.start()
[Avatar]

Membro desde: 24/08/2004 08:26:50
Mensagens: 44
Offline

Usei dessa foma citada e : :bang:



Tentei fazer esse tutorial de XML: http://mballem.wordpress.com/2011/04/22/manipulando-arquivo-xml-%E2%80%93-parte-i-api-nativa/

tentei fazer os 35mil inserts pela app e isso travou o arquivo no Eclipse, tive que abrir via bloco de notas para retirar estes inserts e o arquivo ficou normal

ainda não consegui fazer um convert desses dados do oracle para colocá-lo direto no SQLite.

"Os covardes morrem muitas vezes antes da morte, porém os corajosos morrem uma única vez" (Desconheço autor).




[MSN] [ICQ]
rodrigo_ror
Thread.start()
[Avatar]

Membro desde: 24/08/2004 08:26:50
Mensagens: 44
Offline

Finalizando a Discussão:
Considerando 15 tabelas com 35 mil Registros cada. (ao todo 111 campos)

1. Opção: Gerar o bd Externo ao tablet e importar na APP
a. A quantidade de INserts realizados são de 35mil, porem o arquivo exportado do oracle, possui 120551 linhas, e No meu (dualCore/2G) Modesto computador, o SQLite Expert não consegue executar, travando e necessitando Reboot do windows.

2. Opção: Gerar um XML estático com todos os dados.
a. Quando a App vai ler o XML e colocá-lo em memória para iniciar a leitura dos nós, o processamento gera erro de memória. OutOfMemory.

3. Opção: Gerar um Activity principal contendo os inserts
a. Após inserir as 120mil linhas num activity (main) o eclipse começa a travar, impossibilitando realizar qualquer operação no programa. Tive que entrar nas pastas onde esta a app e realizar a auteração através do Bloco de Notas.

Prováveis Soluções:
1. ideia: Criar um webService contendo um input e retornando um objeto de output contendo os dados (objeto).
2. ideia: Criar uma aplicação Web e acessar através do Browser no dispositivo móvel.

Se houverem outras soluções. são bem vindas.

This message was edited 1 time. Last update was at 10/02/2012 07:13:22


"Os covardes morrem muitas vezes antes da morte, porém os corajosos morrem uma única vez" (Desconheço autor).




[MSN] [ICQ]
 
Índice dos Fóruns » Google Android e Java Micro Edition (ME)
Ir para:   
Powered by JForum 2.1.8 © JForum Team