2011-01-12 17 views
10

Mam podstawową funkcję, która wymaga serializacji w mojej aplikacji na Androida. Użytkownik doda pewne wartości do tablicy ArrayList i chcę je przekształcić do postaci szeregowej, aby uniknąć korzystania z bazy danych dla tej niewielkiej opcji i oczywiście DO UCZENIA się, jak serializować (jestem początkującym), ponieważ wydaje się to przydatne. W każdym razie użytkownik zapisuje coś na liście, program zostaje zamknięty, program uruchamia się ponownie, a użytkownik może zobaczyć zapisane dane. Jak mogę to wdrożyć? Czy możesz podać fragment kodu lub przydatne łącze?jak serializować ArrayList na Androidzie

Wielkie dzięki!

+1

Powinny być mniej więcej takie same, http://stackoverflow.com/questions/3588932/problem-serializing-and-deserializing-arraylist, a następnie musisz zapisać na karcie SD. – Xorlev

+0

Po serializacji, gdzie dokładnie chcesz zapisać dane? Dostępne opcje: Preferencje, Db (które odrzucono), Bezpośrednio do systemu plików. – xandy

+0

Najprościej jest serializować go do systemu plików na karcie SD. – chubbsondubs

Odpowiedz

12

Można to zrobić przez niestandardowej klasy fasoli i wdrożenie Serializable tej tak teraz podczas tworzenia ArrayList<E> tego klasa to Serializable.

Przykład:

Class dataBean implements Serializable 
{ 
    public String name; 
} 

ArrayList<dataBean> dataBeanArrayList = new ArrayList(); 

Więc dataBeanArrayList jest teraz Serializable można także przekazać to między Intent.

+0

Dzięki @Megha! –

0

Proponuję użyć flexjson do serializacji danych do pliku. Potem możesz to odczytać za pomocą tej biblioteki. Ma to kilka zalet w porównaniu z serializacją, która jest w stanie załadować twój strumień z powrotem do potencjalnie różniących się wersji twoich obiektów. Używając ObjectInputStream musisz być bardzo ostrożny i szczerze mówiąc, nigdy nie widziałem, żeby działało tak dobrze.

http://flexjson.sourceforge.net

Oto blogu, jak to zrobić:

http://wrongnotes.blogspot.com/2010/09/flexjson-meet-android.html

+0

czy JSON nie potrzebuje połączenia z Internetem? Nie wymagałbym tego od możliwego użytkownika. – madcoderz

+2

Żaden JSON nie jest zwykłym formatem tekstowym dla danych takich jak XML. Możesz go używać bez połączenia z Internetem. Musisz zezwolić aplikacji na pisanie do systemu plików. – chubbsondubs