Serialização de objetos no Android. [Resolvido]

3 respostas
edsonlopes

Olá pessoal, pq o código abaixo gera um erro de "java.io.FileNotFoundException"? (O código executa normalmente "fora" do ambiente "Android de ser".)

private void setRecord(int contador){
		
		try {
			FileOutputStream fileOutputStream = new FileOutputStream("record.dat"); //Claro, o erro ocorre nesta linha
			ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
			objectOutputStream.writeObject(contador);
			objectOutputStream.close();
	        
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

e

private int getRecord(){

		int contador = 0;
		
        try {
        	FileInputStream fileInputStream = new FileInputStream("record.dat");
    		ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
    		contador = (Integer) objectInputStream.readObject();
    		objectInputStream.close();
	        
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (StreamCorruptedException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		
		return contador;

	}

Para testes, executei o trecho: "File arquivo = new File("record.dat");" e para a minha surpresa o arquivo não é criado...

O Android tem alguma limitação com relação à serialização ou manuseio de arquivos?

Desde já, grato pela atenção.
Edson

3 Respostas

edsonlopes

Consegui resolver:

http://www.anddev.org/working_with_files-t115-s30.html

http://www.anddev.org/other-coding-problems-f5/openfileoutput-mode-world-readable-t13986.html

J

edsonlopes tranquilo, estou com um problema semelhante ao seu…

Eu criei um webservice que retorna um objeto Pessoa, porém está dando erro no android, diz que KSOAP2.serialize…
o que pode ser isso?
Se for que precisa serializar, como que faço no webservice java e no android para receber esses arquivos…
obrigado.

edsonlopes

Bem, esse objeto Pessoa pode ser serializado?
Se sim, vc vai recebe-lo normalmente pelo se webservice, e posteriormente a isso, vc salva ele localmente no Android.
Eu postei os links onde achei a minha solução…
Não sei muito o que seja pela sua especificação, mas creio que seja problema do acesso ao seu Webservice que está com problemas, e não a serialização em si…
Em todo caso, seria legal abrir outro tópico para isto Java_Terminator (o nome sem dúvida é engraçado! :smiley: ).

Criado 23 de janeiro de 2011
Ultima resposta 2 de mar. de 2011
Respostas 3
Participantes 2