Base de dados no celular

6 respostas
R

Pessoal,

Tem como fazer uma aplicação para celular em que o
usuario baixar a apalicação e posteriormente baixa um
"banco de dados" para servir de alimentação da
aplicação.
Depois o usuario baixa uma nova “base de dados” e esta
substitui o que esta no celular.

Obrigado.

Atenciosamente,
Rafael Santos

6 Respostas

R

Olá Rafael…

É possível sim, eu não sei bem direito como, mas como poucas pessoas respondem perguntas de j2me, vou dizer o que posso.

Uma vez a aplicação Java instalada no celular, vc pode acessar um servidor, fazendo uma requisição para um Servlet.

E depois pode guardar os dados dentro do celular usando RMS. Procura tutoriais por ae, eu tive que usar RMS quando programei um jogo de celular na faculdade e tinha que guardar o HighScore pras outras vezes q o jogo rodasse.

Foi lá também que eu fiquei sabendo que o celular poderia fazer uma requisição para um servlet num servidor, porém eu faltei nessa aula. =((

Abraços!

J

OPa.

é bem por ai mesmo. O armazenamento só poderá ser feito através de RMS dentro do celular, e dai sempre que vc quizer pode acessar uma base externa e renovar o “banco de dados” dentro do celular.

Existe agora uma API para trabalhar com Bluetooth, vale a pena dar uma olhada!

abraços!

R

Obrigado pela ajuda pessoa,

Aproveitando so pra ver se eu entendi, eu irie usar a RMS para fazer a transferência de dados, aonde guarderei essas informações?
Essa parte eu num sei muito bem, pois a unica experiencia que tive com j2me foi fazer um joguinho simples de luta(off-line).
Outra coisa esse servlet que vcs falaram o que na verdade?
Para finalizar as perguntas, no celular o armazenamento é semelhante a Palm? pq na palm e tudo em memoria, no celular como funciona?

J

Opa!!

Da uma olhada nos posts antigos aqui do forum, já foi respondido mutias vezes sobre isso aqui. Da uma olhada na nossa seção de artigos e tutoriais, tem bastante material que pode te ajudar la!

Grande abraço!

R

Certo Juliano,

Vo procurar no forum sobre isso,
desde ja obrigado.

J

Rafael,

Talvez isso te ajude:

private boolean getStore() throws RecordStoreException,
                                                IOException {

		try {
            store = RecordStore.openRecordStore(STORE_NAME, true);
        } catch (RecordStoreException ex) {
        	//System.err.println("Erro ao ler Record Store");
            //System.err.println(ex);
        	return false;
        }
		//le caso existam dados
		if (store.getNumRecords() != 0) {
			//System.out.println("Existem dados");
			byte[] bytes = store.getRecord(1);
	        DataInputStream is = new DataInputStream(
	                            new ByteArrayInputStream(bytes));
	
	        idUser = is.readInt();
	        login = is.readUTF();
			try {
				if (store != null) {
					store.closeRecordStore();
					store = null;}
			} catch (RecordStoreException rsEx) {
	        	return false;
			}
			bytes = null;
			is = null;
			System.gc();
			return true;
		} else
			return false;
	}


public void setStore(int idUser,String login) {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        DataOutputStream os = new DataOutputStream(baos);
		byte[] bytes;
		try {
            store = RecordStore.openRecordStore(STORE_NAME, true);
        } catch (RecordStoreException ex) {
            System.err.println(ex);
        }
		//grava no RS 
		try {
	        os.writeInt(idUser);
	        os.writeUTF(login);
	        bytes = baos.toByteArray();
	        if (store.getNumRecords() == 0){
	            // Cria novo registro na pos 1
	            store.addRecord(bytes, 0, bytes.length);
	        } else {
	            // Substitui novo registro na pos 1
				store.setRecord(1, bytes, 0, bytes.length);
			}
		} catch (RecordStoreException rsEx) {
		} catch (IOException ioEx) {}
		try {
			if (store != null) {
				store.closeRecordStore();
				store = null;}
		} catch (RecordStoreException rsEx) {}
		os = null;
		baos = null;
		bytes = null;
		System.gc();
	}

[]´s

Bruno Baptista.

Criado 6 de maio de 2005
Ultima resposta 10 de mai. de 2005
Respostas 6
Participantes 4