在Android蓝牙聊天示例中传输文件的方法

4
如何使用Android蓝牙聊天示例并通过更改将其用于文件传输。 我想通过蓝牙将本地SQLite数据库传输到另一个Android设备。
我已更改示例代码(http://developer.android.com/resources/samples/BluetoothChat/index.html),但如果我发送大于1024字节的文件,则在Handler类中触发更多事件。 我尝试了发送小型txt文件,这是可以工作的(小于1k)。
请有人能帮助我吗?
谢谢, Toni

嗨Toni...你成功实现了文件传输吗?请发布文件读写代码。这对我来说会非常有帮助。 - Amritpal Singh
1个回答

2

嗨,彼得。我看到了,但如果我的数据库文件大小不同,我该如何将其更改为更大?谢谢,托尼。 - toni
有没有关于这个的例子?在示例中代码是如何编写的,当我调试时,如果我发送更大的文件,我实际上会得到循环,但我不知道如何将块组合成单个字节数组。 - toni
接收端有一点棘手,因为您需要检测流的结束。最简单的方法是添加一组字节来指示流的结尾,然后在接收数据时检测这组字节。 - Peter Knego
我有点困惑你提出的循环代码应该放在哪里,因为现在我是通过 byte[] data =org.apache.commons.io.FileUtils.readFileToByteArray(File f) 将文件转换成字节数组,并通过 BluetoothService.write(data) 发送文件数组。接收也是一样的。谢谢 Peter, Toni。 - toni
创建一个FileOutputStream并将字节数组写入其中。注意长度 - 只应该写入从蓝牙读取时得到的长度。基本上你所做的是文件复制(参见我链接的示例)两次 - 第一次从文件复制到蓝牙,第二次从蓝牙复制到文件。你几乎可以复制文件复制示例,除了需要添加的文件结束标记。 - Peter Knego
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接