好久没写了,这片文章篇幅不长,概述一下在xamarin android中用 ZXing.Net.Mobile库扫描二维码读取url的示例。扫码支付,扫码登录,App上各种各样的扫码,好像没个扫码的就有点low一样似的,主要就是利用这个原理扫描二维码读取其中的url,url由不同的参数组成,然后根据url发送请求做各种事情

zxing更多详细的内容见官网:http://zxingnet.codeplex.com/

ZXing.Net.Mobile github源码:https://github.com/Redth/ZXing.Net.Mobile

官方介绍:

ZXing.Net.Mobile is a C#/.NET library based on the open source Barcode Library: ZXing (Zebra Crossing), using the ZXing.Net Port. It works with Xamarin.iOS, Xamarin.Android, and Windows Phone. The goal of ZXing.Net.Mobile is to make scanning barcodes as effortless and painless as possible in your own applications. The new iOS7 AVCaptureSession barcode scanning is now also supported!

谷歌翻译:

ZXing.Net.Mobile是基于开源条码库的C#/ .NET库:ZXing(Zebra Crossing),使用ZXing.Net端口。它与Xamarin.iOS,Xamarin.Android和Windows Phone配合使用。ZXing.Net.Mobile的目标是使扫描条码在您自己的应用程序中尽可能轻松,无痛。现在也支持新的iOS7 AVCaptureSession条码扫描!

看看效果图吧:

Nuget引入ZXing.Net.Mobile库

如图:

最基本代码实现扫描二维码获取结果

首先要注意初始化扫描仪。这里在线生成二维码可以方便测试一下:

http://cli.im/

 public class MainActivity : Activity
{
int count = 1;
private MobileBarcodeScanner scanner;
private TextView tv_url;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main); //初始化扫描仪,不然会报错空引用
MobileBarcodeScanner.Initialize(Application); Button btn_scanner = FindViewById<Button>(Resource.Id.MyButton);
tv_url = FindViewById<TextView>(Resource.Id.tv_url);
btn_scanner.Click +=async delegate {
//也可以在单击事件中初始化
//MobileBarcodeScanner.Initialize(Application); var scanner = new ZXing.Mobile.MobileBarcodeScanner();
//异步获取二维码中的url
var result = await scanner.Scan();
if (!string.IsNullOrEmpty(result.Text))
{
ScanResultHandle(result);
}
};
}
/// <summary>
/// 获取扫描结果的处理
/// </summary>
private void ScanResultHandle(ZXing.Result result)
{
string url = result.Text;
if (!string.IsNullOrEmpty(url))
{
tv_url.Text = "扫描结果" + result.Text;
}
else
{
tv_url.Text = "扫描取消";
}
}
}

虽然这个扫描界面非常干净,但是对于一些扫码界面来说这显得十分低级,微信,qq,支付宝那些扫码界面做的就非常完美,但是可以通过自定义扫码界面来美化这个扫码的界面,下次有时间再写吧,今天太晚了。

作者:zhanglin

原文标题:xamarin android中使用Zxing扫描二维码

原文链接:http://blog.csdn.net/kebi007/article/details/74620978

代码下载:http://download.csdn.net/detail/kebi007/9891174

转载随意注明出处

[置顶] xamarin android使用zxing扫描二维码的更多相关文章

  1. Android之条码扫描二维码扫描

    Android之条码扫描二维码扫描 二维码条形码扫描,参考技术网址: 1.Apache License 2.0 开源的ZXing项目的简化版 http://xinlanzero.iteye.com/b ...

  2. Android利用zxing生成二维码

    感谢大佬:https://blog.csdn.net/mountain_hua/article/details/80646089 **gayhub上的zxing可用于生成二维码,识别二维码 gayhu ...

  3. Android开发——通过扫描二维码,打开或者下载Android应用

    Android开发——通过扫描二维码,打开或者下载Android应用   在实现这个功能的时候,被不同的浏览器折磨的胃疼,最后实现了勉强能用,也查考了一下其他人的博客 android实现通过浏览器点击 ...

  4. Android实例-实现扫描二维码并生成二维码(XE8+小米5)

    相关资料: 第三方资料太大没法写在博文上,请下载CSDN的程序包. 程序包下载: http://download.csdn.net/detail/zhujianqiangqq/9657186 注意事项 ...

  5. Android开发之扫描二维码开发

    原贴地址:http://www.cnblogs.com/Fndroid/p/5540688.html 二维码其实有很多种,但是我们常见的微信使用的是一种叫做QRCode的二维码,像下面这样的,可以放心 ...

  6. [Unity+Android]横版扫描二维码

    原地址:http://blog.csdn.net/dingxiaowei2013/article/details/25086835 终于解决了一个忧伤好久的问题,严重拖了项目进度,深感惭愧!一直被一系 ...

  7. Android 使用zxing生成二维码的方法

    public void createQRImage(String url) { try { // 判断URL合法性 if (url == null || "".equals(url ...

  8. Android笔记之使用ZXing扫描二维码

    ZXing发布版下载地址:https://github.com/zxing/zxing/releases 为了能让官方Demo跑起来,先把ZXing核心部分core复制到自己的工程里 还要把andro ...

  9. (转载)Android项目实战(二十八):使用Zxing实现二维码及优化实例

    Android项目实战(二十八):使用Zxing实现二维码及优化实例 作者:听着music睡 字体:[增加 减小] 类型:转载 时间:2016-11-21我要评论 这篇文章主要介绍了Android项目 ...

随机推荐

  1. npoi导入导出

    NPOI是指构建在POI 3.x版本之上的一个程序,NPOI可以在没有安装Office的情况下对Word或Excel文档进行读写操作. NPOI是一个开源的Java读写Excel.WORD等微软OLE ...

  2. jq获取被选中的option的值。jq获取被选中的单选按钮radio的值。

    温故而知新,一起复习下jq的知识点. (1) jq获取被选中的option的值 <select id="select_id"> <option value=&qu ...

  3. 微信小程序支付及退款流程详解

    微信小程序的支付和退款流程 近期在做微信小程序时,涉及到了小程序的支付和退款流程,所以也大概的将这方面的东西看了一个遍,就在这篇博客里总结一下. 首先说明一下,微信小程序支付的主要逻辑集中在后端,前端 ...

  4. Akka(39): Http:File streaming-文件交换

    所谓文件交换指的是Http协议中服务端和客户端之间文件的上传和下载.Akka-http作为一种系统集成工具应该具备高效率的数据交换方式包括文件交换和数据库表行的上传下载.Akka-http的数据交换模 ...

  5. js中对节点属性的操作和对节点的操作

    常用的节点属性操作方法 1.setAttribute(name,value):给某个节点添加一个属性 2.getAttribute(name):获取某个节点属性的值. 3.removeAttribut ...

  6. javascript权威指南pdf

    链接:https://pan.baidu.com/s/1c19qfSk 密码:j4f3

  7. pymysql实现MySQL与Python交互

    常见MySQL操作 所需模块: pip3 install pymysql 查询(fetchone,fetchmany,fetchall): import pymysql #连接 con = pymys ...

  8. 采用Opserver来监控你的ASP.NET项目系列(一、Opserver监控的简介与平台搭建)

    前言 之前有过2篇关于如何监控ASP.NET core项目的文章,有兴趣的也可以看看. 今天我们主要来讲讲如何监控我们的ASP.NET项目. 首先我们来介绍一下,什么是Opserver,它是Stack ...

  9. 【luogu P1613】跑路

    https://www.luogu.org/problem/show?pid=1613 看到2k就能想到倍增.用一个数组avai[i][j][k]表示点i与点j是否存在长2k的路径,则可以递推出ava ...

  10. windows 终端命令详解

    打开"运行"对话框(Win+R),输入cmd,打开控制台命令窗口... 也可以通过cmd /c 命令 和 cmd /k 命令的方式来直接运行命令 注:/c表示执行完命令后关闭cmd ...