繁体   English   中英

从ArrayList检索数据

[英]Retrieving data from ArrayList

我有我的Android应用程序,需要在达到一定的内存限制后将数据发送到服务器。 我正在检查内部存储器使用 -

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最初为800MB。 我有一个对象的ArrayList,每隔10秒就会继续添加元素。 一旦我的可用MB变为700MB,我希望将ArrayList中的数据发送到服务器。

我想知道当可用MB变为700MB-

a)如何从ArrayList检索数据从第0个位置到当前位置(可用MB变为700MB的位置)并立即发送所有数据。

b)发送清除arraylist并开始存储新数据,直到Available MB变为600MB

将数据添加到arraylist时,您可以保持计数。 当您调用该方法以确定您是否已触及700 mb时,您可以将该计数作为参数发送。

您可以调用ArrayList的子列表方法

int to = 4;
int from = 0;
al.subList(from, to);

您可以使用removeAll()删除所有元素。

我完全不知道你怎么能在这里保持'到'的数量。 但无论如何,当您向数组添加数据时,您可以保留一个计数器并将其发送到您要调用的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM