W mojej aplikacji, przy każdym uruchomieniu najpierw trzeba pobrać JSON
z serwera, a później muszę pokazać różne informacje, analizując te dane jeden pełny cykl życia aplikacji. Obiekt JSON
jest dość duży z prawie 5000 JSONArray
. Każda tablica JSON ma następującą postać:Co powinienem wybrać - JSON lub SQLite?
[37,101,"The Blocks Problem",9952,0,1000000000,0,852,0,0,11197,0,16606,0,7279,200,18415,5325,14492,3000,1]
Więc mam dwie opcje:
- Zapisz ciąg json do pliku, a później ją przeczytać.
- Zapisz tablicę JSON w bazie danych SQlite z prawie 10 kolumnami i 5000 wierszy.
Pierwsza opcja wydaje się być wydajna. Ale później muszę manipulować JSONem, aby wyświetlać różne informacje. W niektórych przypadkach muszę przeszukać pełną tablicę, aby wybrać informacje o tablicy i jest wiele takich przypadków. Byłoby to również bardzo czasochłonne.
Druga opcja jest lepsza do szybkiego wyszukiwania i wyświetlania. Podszedłem do drugiej opcji. Ale wstawianie 5000 rzędów na raz jest również czasochłonne. Zrobiłem to w AsyncTask
dla poprawy, ale zabiera to zbyt dużo czasu - parsowanie JSON i przechowywanie w tabeli SQlite
.
Co mogę zrobić? jaki jest najlepszy sposób przechowywania tych ogromnych informacji, a następnie wydajnego ich wykorzystania?