Проблема в том, что вам нужно сохранять данные локально, чтобы они могли сохраняться до тех пор, пока вы не получите возможность отправить их на сервер.
Ваше первое решение - какое поведение вы хотите, если приложение закрыто,Если вы хотите сохранить его, даже если пользователь закроет приложение, вам нужно будет записать эти данные на диск.Вы можете сделать это, записав в файл (с помощью json), сохранив данные в SharedPreferences
(если у вас есть только небольшой объем данных), или используя базу данных.Базы данных являются наиболее распространенным подходом, если у вас будет много данных.
Что касается баз данных, Android изначально поддерживает SQL lite , но это может быть сложно для новичка.Я бы посоветовал взглянуть на Realm , который я считаю очень интуитивно понятным в использовании.
Если вы не возражаете против того, что данные будут забыты, если пользователь закроет приложение, вы можете просто поместить данные в одну из многочисленных коллекций Java , например ArrayList
,LinkedList
или Stack
до восстановления соединения.Однако, как я уже сказал, вы рискуете потерять эти данные, если приложение будет закрыто до отправки данных.