Digamos que eu tenha uma classe simples e, uma vez instanciada como um objeto, desejo poder serializar seu conteúdo em um arquivo e recuperá-lo carregando esse arquivo mais tarde ... Não sei por onde começar aqui, o que preciso fazer para serializar esse objeto em um arquivo?
public class SimpleClass {
public string name;
public int id;
public void save() {
/* wtf do I do here? */
}
public static SimpleClass load(String file) {
/* what about here? */
}
}
Essa é provavelmente a pergunta mais fácil do mundo, porque essa é uma tarefa muito simples no .NET, mas no Android eu sou bem nova e estou completamente perdida.
android
serialization
file-io
Ben Lesh
fonte
fonte
Eu tentei estas 2 opções (leitura / gravação), com objetos simples, matriz de objetos (150 objetos), Mapa:
Opção 1:
Opção 2:
A opção 2 é duas vezes mais rápida que a opção 1
A inconveniência da opção 2 é que você precisa criar um código específico para leitura:
fonte
Acabei de criar uma classe para lidar com isso com os genéricos, para que possa ser usado com todos os tipos de objetos que são serializáveis:
fonte
O código completo com tratamento de erros e o fluxo de arquivos adicionado são fechados. Adicione à sua classe que você deseja poder serializar e desserializar. No meu caso, o nome da classe é
CreateResumeForm
. Você deve alterá-lo para o seu próprio nome de classe.Android
interfaceSerializable
não é suficiente para salvar seus objetos no arquivo, apenas cria fluxos.Use-o assim em seu
Activity
:fonte
Eu uso o SharePrefrences:
fonte
Você deve adicionar uma classe ObjectSerialization ao seu programa, o seguinte pode funcionar
}
se você estiver usando para armazenar uma matriz com SharedPreferences, use o seguinte: -
Para serializar: -
Para desserializar: -
fonte