У меня есть MainActivity
, который извлекает большое количество данных с веб-сервера с помощью Retrofit. Эти данные отображаются в виде ресайклера.Как делиться большим количеством данных между действиями?
Теперь я хочу иметь другое действие, которое работает с одним и тем же набором данных. Каков наиболее эффективный способ сделать это? Раньше я делал это, используя статический Controller
, который отслеживает данные, но я продолжаю слышать много критики о статических контейнерах, подобных этому. Передача данных в намерениях не является оптимальной, так как данные довольно сложны, и их так много.
Оптимально, я хотел бы иметь возможность модифицировать набор данных в любом из видов деятельности, чтобы изменения отражались и на другой деятельности.
Не думаете ли вы, что было бы лучше использовать БД для этого ?. Что-то быстрое, например SnappyDB. В противном случае вы можете использовать статические переменные, но это плохо. Передача списка будет проще с помощью использования Serialization или Parceable, но это может стать обузой большого набора данных. – Smashing
@Smashing. Данные не должны быть постоянными - он существует только для срока службы приложения. Данные уже находятся в памяти, поэтому самый быстрый способ - просто передать его второму действию. – manabreak
передают данные как 'ArrayList <>' для другого действия и получают данные с помощью 'getIntent(). GetSerializableExtra' использует метод литья типа в соответствии с типом' ArrayList <> ', который вы передали –