Android蓝牙游戏,需要跨字节流传输int []

时间:2011-12-02 02:05:42

标签: android bluetooth bytearrayoutputstream iobluetooth

情况就是这样:我正在为Android制作多人版pong。当我的球拍与球连接时,我想向另一个球员发送球的撞击点(作为x,y坐标),以便其他玩家的屏幕可以更新以显示球的来源以及我的球拍的位置。另一个设备将计算球的轨迹并最终重复此过程。基本上我想要的是这样的东西 -

static final int RESPONSE_CODE = (some #);

int[] return_data = {RESPONSE_CODE, myPaddle.x, myPaddle.y, ballImpactPosition.x, ballImpactPosition.y};

blueToothConnection.write(return_data);

这里的问题是bluetoothConnection.write()依赖于java.io.OutputStream,所以只支持写一个byte []。

那么,有没有办法将我的int []转换为byte [](稍后再回来)?如果有帮助,我的int []将始终包含5个整数,总是正数。我不确定我的整数的最大值是什么,因为这取决于设备的屏幕尺寸。

1 个答案:

答案 0 :(得分:1)

在这种情况下,ByteBuffer是你的朋友:

Android API link for ByeBuffer