Что я должен выбрать – JSON или SQLite?

В моем приложении, при каждом запуске сначала некоторые JSON должны загружаться с сервера, а позже мне нужно показать различную информацию, проанализировав эти данные одним полным жизненным циклом приложения. Объект JSON довольно большой с почти 5000 JSONArray . Каждый массив JSON имеет следующий вид:

 [37,101,"The Blocks Problem",9952,0,1000000000,0,852,0,0,11197,0,16606,0,7279,200,18415,5325,14492,3000,1] 

Поэтому у меня есть два варианта:

  1. Сохраните строку json в файл, а затем прочитайте ее.
  2. Сохраните массив JSON в базе данных SQlite с почти 10 столбцами и 5000 строк.

Первый вариант кажется эффективным. Но позже я должен манипулировать JSON для отображения различной информации. В некоторых случаях мне нужно найти полный массив, чтобы выбрать информацию о массиве, и есть много таких случаев. Так что это тоже будет очень много времени.

Второй вариант лучше для поиска и отображения быстрее. Поэтому я подошел со вторым вариантом. Но вложение 5000 рядов за раз занимает много времени. Я сделал это в AsyncTask для улучшения, но для этого AsyncTask слишком много времени – разбор JSON и сохранение в таблице SQlite .

Так что я могу сделать? Каков наилучший способ хранить эту огромную информацию, а затем использовать ее эффективно?

Я ответил на вопрос, близкий к этому сегодня – файл или база данных? – Лучшая практика для сохранения объектов на Android-устройстве . Я хотел бы добавить, что если вставка 5000 строк занимает слишком много времени, попробуйте добавить их все в одну транзакцию или использовать механизм массовой загрузки. Это стоит усилий, чтобы выяснить вашу проблему с вставкой вместо того, чтобы пытаться использовать файлы.

См. Этот учебник по загрузке SQLite