博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android微信扫描二维码登入实现 基于ZXing开源工程
阅读量:5959 次
发布时间:2019-06-19

本文共 1257 字,大约阅读时间需要 4 分钟。

hot3.png

项目需求,做一个类似微信扫描二维码,网页端登陆的功能实现。

利用开源项目ZXing来实现。ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。 其提供了多种平台下的客户端包括:J2ME、J2SE和Android。
ZXing主页:

1.Download
下载ZXing-2.1,解压后找到所需要的文件夹:core 和 android。core是核心库,android是在android平台下的二维码扫描实现源码

2.Build

在ZXing-2.1下面有不同平台实现方式的文件夹,每个下面都有一个名为build.xml的Ant编译文件。首先我们利用Ant工具和这个文件,将core编译成所需要的库。如果你没有Ant,可以去下载(mac下默认已经安装)。编译很简单,直接cd到core目录,然后ant即可:

cd core ant
3.import

导入android工程,然后将编译好的core.lib 添加到工程中

我已经将我编译好的lib和Barcode Scanner 4.3.1工程放到github,可以直接下载运行

Barcode Scanner 4.3.1: 

4.简化工程

Barcode Scanner 4.3.1的工程很丰满,如果单实现扫描二维码获取编码可以简化工程

我简化的工程demo ZXingSimple :https://github.com/jeffzhao/ZXingSimple 
去掉了本地数据库,分享,配置等功能,只保留了二维码扫描和生成功能。但还是建议看完整工程代码,很有帮助

5.扫描登入实现

扫描成功了,那么就先通知服务器端,扫描成功,页面也会即时展示出扫描成功,等待手机确认登录的信息
接下来,如果点确认登录,则通知服务器确认登录。

因此我们可能会有2个接口
private final static StringSCANNED_URL ="http://192.168.111.109:8000/scanned?";
privatefinalstatic StringCONFIRMLOGIN_URL ="http://192.168.111.109:8000/confirmed?";
一个是通知服务器已经成功扫描的http接口,一个是通知服务器确认登录的接口。参数都是sessionID,也就是二维码带的信息,和用户token。

参考文章:

主流手机二维码PK——QR 与 DM :http://www.ancc.org.cn/news/article.aspx?id=3693
vCard 和 meCard 的区别:http://www.devicemedia.ca/blog/whats-the-difference-between-a-vcard-and-a-mecard/

转载于:https://my.oschina.net/jeffzhao/blog/107658

你可能感兴趣的文章
“一带一路”为会展业带来新机遇
查看>>
Spring详解
查看>>
Go defer 知识点
查看>>
【本人秃顶程序员】如何在代码中应用设计模式
查看>>
当你凝视黑洞的时候,它已经被玩坏了
查看>>
fluent python 读书笔记 2--Python的序列类型2
查看>>
依赖冲突时的解决方法
查看>>
学习笔记5
查看>>
富人为什么越富,穷人为什么越穷
查看>>
电子商务java b2b b2c o2o平台
查看>>
(五)java spring cloud版b2b2c社交电商spring cloud分布式微服务-路由网关(zuul)
查看>>
零基础学小程序007---小程序获取用户openid
查看>>
两年摸爬滚打 Spring Boot,总结了这 16 条最佳实践
查看>>
Laravel 5 5 使用 Jwt Auth 实现 API 用户认证以及无痛刷新访问令牌
查看>>
专注人工智能未来 十年后百度可能完全不一样?
查看>>
阿里开发者招聘节 | 面试题14:如何实现两金额数据相加(最多小数点两位)...
查看>>
企业分布式微服务云SpringCloud SpringBoot mybatis(八)消息总线(Spring Cloud Bus)
查看>>
logback pattern
查看>>
推荐的JVM参数
查看>>
PHP类UTF8编码内的繁简转换-繁体-简体
查看>>