2010-06-09 44 views
2

有人知道如何通过RFCOMM在android上接收文件吗? 我是蓝牙问题的新手,请耐心等待。在Android上通过RFCOMM接收文件

我正在寻找通过RFCOMM作为流接收数据并将其存储在手机某处的方法。保存数据不是问题,它工作得很好。

的主要问题是连接和数据的可靠的检索的执行...

这整个过程应该被实现为一个机器人服务(所以没有活动有接收数据时的即将推出) 。你会建议什么:本地或远程服务?

格尔茨, poeschlorn

+0

嗨,你记得最多可以传输多少文件大小吗?我尝试了同样的事情,发现无论我阅读的速度有多快,接收文件中的某些字节都会丢失。 – Kozlov 2013-08-08 05:12:14

回答

2

一般来说:

  • 建立蓝牙插座
  • 打开输入和输出流
  • (传输层),如果有必要协商转让,文件名,属性
  • 开始传输数据字节并将其保存到文件

传输层是关键,也是棘手的部分。它可以像滚动你自己一样简单。例如:

发件人发送: [开始流] FILENAME | ATTRIBUTES | [二进制数据] [流结束]

Receiver会查看文件名和属性,将其保存并打开输出文件,并开始从属性之后写入到流末尾。

传输完成后,关闭输入/输出流,然后关闭套接字。

+0

嘿,谢谢你的回答,我知道我迟到了。该方案似乎与谷歌的示例蓝牙聊天类似,在流中发送文件。你知道天气这是SPP(串行端口配置文件)吗? – poeschlorn 2010-06-22 09:15:14

+0

Right - SPP(又名RFCOMM)是Android支持的流类型,但RFCOMM为您提供了两个设备之间的二进制流,非常适合传输文件。 – 2010-07-02 12:03:02