美文网首页
二维码学习

二维码学习

作者: 难得糊涂与君勉 | 来源:发表于2019-02-12 09:30 被阅读7次
  • 介绍
二维码本身就是和字符串等价的,可以这样去理解。所以一般的扫描下载就是发布一个应用的下载地址
对应的二维码,在扫描完成后,就可以直接去处理url.
再比如说,可以把一个用户的信息获取的url作为二维码的字符串,如:http://www.xlj.xxxx调用这个接口可以返回一个json 给你,表示了用户的信息。
简单粗暴的解释就是:二维码它就是把一段纯文本用图形样式转换出来了,以便于快速扫描读出。
这样做的原因在于,如果我有一堆比较凌乱的文本(比如一个很长的URL、一些加密后的字符串、或者一个复杂的快递编号),想把他们快速输入电脑/手机里的话,靠人肉是非常痛苦而容易出错的。但经过二维码巧妙的编码后,就能用低廉的扫描枪,或者普通的手机摄像头快速扫描录入,大大节省了时间;而且转换成编码后,哪怕任意一个字母,也不可能出现识别错误。
  • 使用
主要是针对zXing包来完成简单的使用(还有Zbar、Barcode4j、okapiBarcode几款应用)
达到:
如何生成二维码
 如何扫描二维码,
  • zXing包的介绍

将zXing包作为mudle导入到工程中之后,个人习惯这样用

Paste_Image.png
如图可以发现已经写好的几个类
在这里进行介绍,
camera:与摄像头有关的类
decoding:与解析二维码有关的类
encoding:与生成二维码有关的类
view:自定义的类,里面有ViewfindView、ViewfindResultPointCallback、
activity:里面放的一个activity,是要进行跳转的activity
  • 如何生成二维码
Bitmap bitmap= EncodingHandler.createQRCode("二维码的内容",100);
关键代码就这一句,便可以生成想要内容的二维码
  • 如何扫描二维码

Intent intent = new Intent(this, CaptureActivity.class);
//如上所示,可以知道扫描二维码是要跳转
//跳转到CaptureActivity这个活跃中去,在这里面会打开摄像头,
//找到这个CaptureActivity中的布局文件如下所示:


![Paste_Image.png](https://img.haomeiwen.com/i3980764/3f39b3461bb7de15.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

在这里面对于扫描界面进行了设置和规划
那么,在CatureActivity中是如何进行扫描实现的


![Paste_Image.png](https://img.haomeiwen.com/i3980764/af97f8127900ad0d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

在这里面,如图所示,可以看出来有一个handleDecode方法,将结果result进行了返回,
参数还有那张二维码的图。

- 如果想更改扫描框

打开camera文件夹,找到cameraManager.


![Paste_Image.png](https://img.haomeiwen.com/i3980764/ff1b7cec640b337a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


![Paste_Image.png](https://img.haomeiwen.com/i3980764/f6823a5c97f93a78.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

找到这个方法,在这里面进行修改扫描框的一些属性。

- 自己在使用过程中的修改

设置扫描框自适应手机的屏幕,进行如下修改


![Paste_Image.png](https://img.haomeiwen.com/i3980764/f33e98ca48575523.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


http://www.tuicool.com/articles/EzeQji

- 微信二维码 1. 使用微信客户端扫描上面二维码,是什么结果?(直接扫描到我的账号了,可以添加到通讯录)
2. 使用Android微博(或者UC/百度浏览器/我查查)扫描上面二维码,(直接跳转浏览器开始下载微信.apk安装包了)
3. 使用iPhone微博(或者UC/百度浏览器/我查查)扫描上面二维码,(直接弹出Appstore微信应用了)
4. 在电脑上打开http://weixin.qq.com/r/QeD64j-EGGJnrXuB97VT,(地址栏很快跳转了下,然后转到微信官网了)
5. 找一部非主流系统(例如Firefox、Ubuntu)手机扫描上面二维码,(打开微信WAP官网了)

   其实这里是微信利用**User Agent**信息,给你呈现了不同的结果而已。User Agent简称UA,简而言之,就是你访问任何网站时,网站可通过你的UA得知你使用的操作系统、浏览器、浏览器内核等信息。这个信息最终是由你的浏览器传递给对方网站的(所以严格来讲你是可以修改的,看看你手机上第三方浏览器设置里的UA选项)。上面的5个例子,除了第1个原理前面讲到了,后面4个,都是根据用户UA,判断是4个平台的用户,所以给他们各自跳转到了对应的地址,提供准确的服务

相关文章

网友评论

      本文标题:二维码学习

      本文链接:https://www.haomeiwen.com/subject/uzfqvttx.html