Java Android usando SQLite[RESOLVIDO]

7 respostas
R

Bom dia Amigos. Desculpe a minha ignorancia, a pergunta pode ser básica, mas preciso de ajuda. Estou iniciando um desenvolvimento de uma Força de Vendas com SQLite, o software irá trabalhar offline, e no final do dia o vendedor fará a atualização com o servidor da empresa. Gostaria de saber se a melhor solução é deixar um banco de dados fixo no Smartphone e toda atulização eu faço DELETE/INSERT, ou sempre que fazer uma atualização com o servidor deverá ser criado um novo banco de dados no Smartphone ?

7 Respostas

D

porque você não deixa as informações no telefone ao invés de apagar… e só atualiza no servidor os registros com a data do dia?

R

é o que eu faço hoje em netbooks, mas eu uso o firebird como bd, eu não sei até o SQLite aguenta uma carga de historico de registros, mas vou fazer um teste sim!
muito obrigado por tirar minhas dúvidas.

B

Estava com a mesma dúvida, hoje eu faço o seguinte:
Para os registros entregues ao servidor , que passaram de 1 mês, dou um DELETE FROM…
Coloquei na minha tabela do SQLITE um campo p/indicar se foi entregue “ENVIO_WS” e outro
que irá gravar em TEXT a data do cadastro do registro, então uso a função strftime() p/obter o mes

private static final String TAB_COBRANCA = "COBRANCA";
private SQLiteDatabase mDb;

//como celular tem poucos recursos, 
		//no periodo de um meses apaga as cobrancas feitas
		public int apagarCobrancasAntigas(){
			mDb.beginTransaction();
			//subtrai o mes atual pelo
			// 1-12=-11 ou 12-11=1 ou 12-12=0 
			int result=mDb.delete(TAB_COBRANCA," (strftime('%m','now') - strftime('%m', DAT_DURACAO) <> 0) AND    ENVIO_WS = 1 ",null);
			mDb.setTransactionSuccessful();
			mDb.endTransaction();

			return result;
		}

Bom é a prática que uso, não sei se é a melhor alternativa, mas atendeu a minha necessidade

R

Legal BTO muito obrigado, já me ajudou muito aqui com minhas duvidas.
Aproveitando sua resposta, e para sincronizar com o BD principal, como vocês estão fazendo? conexáo direta, XML, TXT ?

B

A comunicação é através de XML, uso o SimpleXML, coloco anotações na minha classe bean, e transformo em um XML:
http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php
Após isso envio um HTTP POst p/um Sistema Web, o Servlet no servidor recebe, le joga no Bean , atraves tb do simple Xml e grava no banco de dados.

[youtube]http://www.youtube.com/watch?v=wq5tJADL5us[/youtube]

Boa tarde, faloww
:wink:

R

Valeu BTO, me ajudou pra caramba.
Muito Obrigado

B

De nada amigo, edita o seu post coloca “Java Android usando SQLite[RESOLVIDO]” , abraço , T+

Criado 7 de março de 2013
Ultima resposta 8 de mar. de 2013
Respostas 7
Participantes 3