2010-07-24 11 views
6

Potrzebuję przechowywać dane do wykorzystania w moim programie na Androida. Oto szczegóły dotyczące danych:Jaka jest najlepsza metoda przechowywania tej małej tabeli danych tylko do odczytu w telefonie z Androidem?

  • Będzie jeden stół. Każdy "wiersz" danych będzie miał unikalny identyfikator INT. Oprócz tego pola będą cztery inne pola INT i pole tekstowe. Pole ciągu będzie prawdopodobnie mieć 2 lub 3 zdania. Każde z 4 pól INT będzie odpowiadać identyfikatorowi innych wierszy.

  • Będzie 100 wierszy, może 200. Ale wszystkie wiersze będą tylko do odczytu i wstępnie wypełnione.

  • Dane będą czytane często i nie będą sekwencyjnie.

Pierwsza odpowiedź do przechowywania danych to SQLite wiele razy, ale biorąc pod uwagę szczegóły danych, inna metoda przechowywania może być bardziej wydajna. Jestem otwarty na wszelkie sugestie, a przykłady kodu są zawsze mile widziane!

+0

Czuję, że jest to rodzaj łamigłówki lateral thinking, gdzie pytanie brzmi: "Jaka aplikacja jest pisaniem Bromide? ? " Najpierw przychodzi mi na myśl rodzaj "wybierz swoją przygodę". – MatrixFrog

+0

lol Cóż, pomóż mi przechowywać pewne dane, a może wszyscy się dowiemy ;-) – Bromide

Odpowiedz

2

Co ze statycznym plikiem xml lub cvs w swoich zasobach? Jeśli jest zbyt wolny, aby uzyskać dostęp do pliku za każdym razem, gdy go potrzebujesz (ponieważ mówisz, że będzie on często czytany), możesz go po prostu sparsować w map (HashMap lub coś innego w Javie) podczas uruchamiania programu. Możesz go również przeczytać w SQLite przy pierwszym uruchomieniu programu, a następnie użyć tej bazy danych, ale prawdopodobnie nie musisz tego robić.

+0

Prawdopodobnie zacznę od tego, a potem przerzucę się na SQLite lub coś podobnego później, jeśli uznaję to za konieczne. – MatrixFrog

+0

Hmm .. więc kiedy przeczytałem XML, przeczytałbym go na HashMap. Unikalny identyfikator będzie kluczem do mapy, a wartością będzie tablica wartości. Czy rozumiem to dobrze? – Bromide

+0

Tak, to właśnie zrobisz, jeśli zdecydujesz się pójść z moją sugestią. –

0

Metoda 1, użyj SQLite, działa dobrze i jest już w systemie Android. W sieci jest przykład: w sieci (przepraszam, utraciłem URL) - google to :)

Metoda 2, napisz plik na kartę SD z danymi! istnieje przykład w ApiDemos, który to robi i po prostu dodaje czytnik plików, aby zebrać dane z sekwencyjnego płaskiego pliku. Nie m.

Metoda 3, Zapisz jako post w chmurze. Poszukuję kodu, aby to zrobić samemu, proszę opublikuj tutaj, aby zaoszczędzić mi czasu ......

+0

Te 3 metody są naprawdę zbyt skomplikowane w przypadku małej statycznej "bazy danych" informacji, takich jak OP. –

+0

Nie, metoda SQLite jest najlepsza, jaką można uzyskać – ognian

Powiązane problemy