利用二维码实现文件从电脑传输到手机。代码开源,放在了Coding,有兴趣的话可以看一下。
工程是用Qt+QZXing写的,所以电脑端软件具有跨平台的能力;虽然手机端也是用Qt写的,但是针对安卓做了一些平台化的东西,要在IOS上用的话,估计要修改一些东西。
最新版本的Qt配置安卓编译环境时有点麻烦,具体请查看另外一篇博文:https://blog.csdn.net/joyopirate/article/details/111398898
全程无需联网,无需wifi,无需蓝牙,无需串口(前提是电脑已经安装了本工具的电脑端软件)。
本工具分为电脑端以及手机端。
电脑端负责将文件切块并编码成二维码,手机端负责对二维码序列进行解码并合成文件副本,保存在手机SD的根目录下的QRReceiver目录中。
但是由于一张二维码所包含的信息较少(目前我测试的只能包含100个字符左右),所以目前该工具只能进行一些小文件的传输;大文件会生成几万几十万张二维码,识别完需要很长时间。
简单流程为:电脑端经过QFile以二进制读取文件,将数据用qCompress压缩,将数据分成n等分(每份100字节左右),将每份数据编号并将数据toBase64经由QZXing变成二维码;手机端通过QCamera获取后置摄像头数据,对每一张二维码解码,将二维码解码得到的数据fromBase64,然后qUncompress,将数据缓存到一个Map中,等所有数据接收完之后,合成一个文件,保存在目录下。