У меня есть приложение для Android, которому необходимо отправить данные на сервер после достижения определенного предела памяти. Я проверяю внутреннюю память слева -Извлечение данных из ArrayList
StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
long bytesAvailable = (long)stat.getBlockSize() * (long)stat.getAvailableBlocks();
long megAvailable = bytesAvailable/(1024 * 1024);
Log.e("","Available MB : "+ megAvailable);
Предположим, что доступный MB изначально составляет 800 МБ. У меня есть ArrayList объектов, которые продолжают добавлять элементы каждые 10 секунд. Когда мой доступный MB станет 700 МБ, я хочу, чтобы мои данные в ArrayList были отправлены на сервер.
Я хотел бы знать, что, когда Доступный MB становится 700MB-
а), как извлекать данные из ArrayList с 0-й позиции, пока текущее положение (положение, при котором Доступен MB становится 700MB) и отправить все сразу.
б) После отправки очистить ArrayList и начать хранения новых данных, пока Доступный MB становится 600MB
Как я узнаю позицию inIndex в подписок – FAZ
Когда вы добавляете данные в arraylist, вы можете сохранить счет. И когда вы вызываете метод, чтобы узнать, если вы коснулись 700 мб, вы можете отправить этот счет в качестве параметра. Имеет ли это смысл ? –