Сохранение и загрузка информации об объекте [] в Android APK 2.2 или более поздней версии - PullRequest
0 голосов
/ 18 июля 2011

Итак, после обширных исследований по этому вопросу, я пришел к следующему фрагменту кода:

private void loadInformation() throws IOException, ClassNotFoundException{
    FileInputStream fis = openFileInput("save");
    ObjectInputStream in= new ObjectInputStream(fis);
    loadedInformation=(Object[]) in.readObject(); //loadedInformation is a Object[]
    in.close();
    fis.close();
}


private void saveInformation() throws IOException{
    FileOutputStream fos = openFileOutput("save", Context.MODE_PRIVATE);
    ObjectOutputStream out = new ObjectOutputStream(fos);
    out.writeObject(getAllInformation()); //getAllInformation() returns Object[]
    out.close();
    fos.close();

}

Все это, кажется, работает просто отлично, позже возникает проблема, когда условные выражения начнут проходитькогда они не должны быть и после нескольких сохранений и загрузок это просто потерпит крах.Кажется, все в порядке, но я должен делать что-то глупое, если (переменная, равная единице = переменная, равная единице) оказывается верной.

1 Ответ

0 голосов
/ 18 июля 2011

Действительно ли ваш массив содержит только объекты или это действительно определенный пользователем тип? Если это так, учтите тот факт, что вы должны тщательно разработать свой класс, чтобы сериализация работала. Если вы еще этого не сделали, я настоятельно рекомендую прочитать «Глава 11: Сериализация» из Effective Java .

...