我正在尝试在Android应用程序中实现缓冲区,因此我可以缓冲来自蓝牙连接的字节数组的传入流。我需要对字节数组进行一些处理,这就是为什么我想使用某种缓冲。
基本上,我会收到一个字节数组,将它存储在缓冲区中,然后当下一个字节数组进入缓冲区时,我会按照它们进入我的处理顺序将它们拉出来。换句话说,我需要first in, first out
实现。
有人能指出我应该使用什么类型的缓冲区吗?我不确定我要找的是否有特定的名称。如果您可以指导我使用缓冲区实现的一些好资源,那么这也非常有用。
如果有任何不清楚的地方,请询问,我会尽力澄清。
答案 0 :(得分:1)
ByteBuffer可能会让你开始。 http://developer.android.com/reference/java/nio/ByteBuffer.html
答案 1 :(得分:1)
你是在缓冲进来的字节还是字节数组?如果要缓冲字节数组,则可能需要LinkedBlockingQueue
答案 2 :(得分:1)
对于FILO,你实际上需要Stack。看看java.util.Stack
。您应该将其实例化为new Stack<byte[]>()
。然后,您可以将数据推入其中,并在有时间处理时将其弹出。
答案 3 :(得分:1)
使用StringBuilder,在其中附加传入数据,您可以在其中执行以下操作
1)插入或追加字符串数据(或将字节转换为字符串)。
2)追加任何特定地点。
3)可以反转整个数据。
4)可以从特定位置获取byte / char。
如果有任何问题,请告诉我。 你也可以使用Byte Array,ByteBuffer等