onl*_*mas 13 android bluetooth transmission ios windows-phone
背景
我有一个关于度假的应用程序的想法,需要与具有相同应用程序的其他手机通信.在度假期间,这些手机可能并非都有互联网,因为漫游可能非常昂贵.数据不是很多:像500 kB max就足够了(在json中).
每部手机都有一些其他手机想知道的信息,但是如果它有助于将信息存储在一部手机(从现在开始的主手机)上,并在以后通过互联网回家时与其他手机共享.
手机
Android,iPhone和Windows Phone我们不能假设他们有NFC,IR或zigbee.只是硬件几乎每个手机都有蓝牙,相机,麦克风等.
我的想法
基于新信息更改的QR码:如果扫描第一部电话,则第二部电话的QR码包含来自第一部电话及其自身的数据,第三部电话具有来自第一部,第二部和第三部(自身)的数据,直到达到该主电话为止包含所有数据的手机.
数据传输通过我们听不到的声音(或我们可以).Con是我不知道移动平台是否存在这样的东西,写它就像是一个3年的硕士论文项目.
所有这些想法都有很大的缺点.也许我忽视了一个更好的方式.
我将为最佳解决方案的问题添加一个赏金用一点代码参考解释它的答案(链接没问题)总是好于:"使用蓝牙人"
Cap*_*Jak 13
TL; DR
让多个设备相互连接的最简单(也是最受支持)方式是使用WiFi.由于您的目标是在没有互联网的情况下实现数据传输,因此最吸引人的解决方案是使用点对点网络结构.
两个主要的智能手机操作系统(Android和iOS)都有关于通过点对点网络创建和传输数据的API和文档.
这两个还有一种加密正在传输的数据的方法.
Windows似乎没有允许多个对等连接的API,但它们的Proximity类一次只能用于一个设备.
我可以给出每个主要操作系统中不同选项的一些概述:
Android的WiFi P2P(点对点)API是为在没有互联网或其他网络的情况下传输数据而创建的.
从他们的文件:
Wi-Fi点对点(P2P)API允许应用程序连接到附近的设备,而无需连接到网络或热点(Android的Wi-Fi P2P框架符合Wi-Fi Direct™认证计划).Wi-Fi P2P允许您的应用程序在超出蓝牙功能的范围内快速查找附近设备并与之交互.
Apple的Multipeer连接.
与Android的P2P API非常相似,他们声称:
Multipeer Connectivity框架支持使用基础设施Wi-Fi网络,点对点Wi-Fi和蓝牙个人局域网发现附近iOS设备提供的服务,并随后通过发送基于消息的数据,流数据与这些服务进行通信和资源(如文件).
这是一个关于使用Multipeer Connectivity 的不错的教程.
- 编辑 -
另一种iOS方式是使用该方法,这是一种误用(?)的工具GameKit.
但是,我认为,为了你的目的让它工作可能会导致一些黑客,因为"玩家"必须使用游戏中心.
显然,在Windows Phone中连接手机的唯一方法就是使用Proximity,这样只能让你连接不超过两部手机.
他们说:
Proximity是在两个不同设备上运行的应用程序的两个实例之间创建共享应用程序体验的好方法.
这些是每个主要移动设备操作系统的选项.
应用程序使用情况可能类似于:
确定哪个设备将成为"主设备",以便其他设备可以连接到它.在部署应用程序之前不需要知道这一点,但应该有一种方法让用户决定他将是客户端(接收数据)还是服务器(推送数据).
一旦确定要推送数据的设备组之间,该设备必须注册为服务器(在Android P2P API中,您可以建立"组所有者"),然后开始寻找同行通过初始化服务.
然后,一旦设备连接到主设备,您就可以开始推送数据.另外一个好处是,当使用Android WiFi P2P时,所有通信都使用WPA2进行加密,而使用iOS,您可以使用加密进行加密MCEnableEncryption(但是他们声称这会降低数据传输速率).
现在你只需选择一种方法,并确保所有手机都运行该操作系统.因为这三种连接方法不能一起工作.
列出的所有三种方法都是以编程方式完成的,因此用户不必做任何奇怪或奇怪的事情.搜索其他设备,连接和传输数据都可以在您的应用中完成.
如果问题缩小到特定问题,可以提供更多帮助,但这应该是足够的数据来帮助您入门.
| 归档时间: |
|
| 查看次数: |
5151 次 |
| 最近记录: |