[置顶] xamarin android使用zxing扫描二维码
好久没写了,这片文章篇幅不长,概述一下在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扫描二维码的更多相关文章
- Android之条码扫描二维码扫描
Android之条码扫描二维码扫描 二维码条形码扫描,参考技术网址: 1.Apache License 2.0 开源的ZXing项目的简化版 http://xinlanzero.iteye.com/b ...
- Android利用zxing生成二维码
感谢大佬:https://blog.csdn.net/mountain_hua/article/details/80646089 **gayhub上的zxing可用于生成二维码,识别二维码 gayhu ...
- Android开发——通过扫描二维码,打开或者下载Android应用
Android开发——通过扫描二维码,打开或者下载Android应用 在实现这个功能的时候,被不同的浏览器折磨的胃疼,最后实现了勉强能用,也查考了一下其他人的博客 android实现通过浏览器点击 ...
- Android实例-实现扫描二维码并生成二维码(XE8+小米5)
相关资料: 第三方资料太大没法写在博文上,请下载CSDN的程序包. 程序包下载: http://download.csdn.net/detail/zhujianqiangqq/9657186 注意事项 ...
- Android开发之扫描二维码开发
原贴地址:http://www.cnblogs.com/Fndroid/p/5540688.html 二维码其实有很多种,但是我们常见的微信使用的是一种叫做QRCode的二维码,像下面这样的,可以放心 ...
- [Unity+Android]横版扫描二维码
原地址:http://blog.csdn.net/dingxiaowei2013/article/details/25086835 终于解决了一个忧伤好久的问题,严重拖了项目进度,深感惭愧!一直被一系 ...
- Android 使用zxing生成二维码的方法
public void createQRImage(String url) { try { // 判断URL合法性 if (url == null || "".equals(url ...
- Android笔记之使用ZXing扫描二维码
ZXing发布版下载地址:https://github.com/zxing/zxing/releases 为了能让官方Demo跑起来,先把ZXing核心部分core复制到自己的工程里 还要把andro ...
- (转载)Android项目实战(二十八):使用Zxing实现二维码及优化实例
Android项目实战(二十八):使用Zxing实现二维码及优化实例 作者:听着music睡 字体:[增加 减小] 类型:转载 时间:2016-11-21我要评论 这篇文章主要介绍了Android项目 ...
随机推荐
- svg-写一个简单的进度条
html <div class="container"> <div class="line-wrap"> <svg version ...
- tensorflow 学习笔记 多层感知机
# -*- coding: utf-8 -*- """ Created on Thu Mar 9 19:20:51 2017 @author: Jarvis " ...
- SSH远程连接时间设置
SSH远程连接时间设置步骤: 1.回到根目录:cd // 2.进入ssh目录:cd etc/ssh 3.编辑sshd_config文件:vi sshd_config 4.按 i 进入编辑状态 5.找到 ...
- 笔记(json)实现前后端交互案例
1:首先创建一个项目如:(说明:此项目是在eclipse创建的) 2.在创建相对应的包如: 3.创建写好相对应的配置文件如: applicationContext.xml具体内容如下: <?xm ...
- C语言一些知识点总结
一.关键字 1. 什么是关键字 1> 关键字就是C语言提供的有特殊含义的符号,也叫做“保留字” 2> C语言一共提供了32个关键字,这些关键字都被C语言赋予了特殊含义 auto doubl ...
- APP加固技术历程及未来级别方案:虚机源码保护
传统App加固技术,前后经历了四代技术变更,保护级别每一代都有所提升,但其固有的安全缺陷和兼容性问题始终未能得到解决.而下一代加固技术-虚机源码保护,适用代码类型更广泛,App保护级别更高,兼容性更强 ...
- 崩溃 golang入坑系列
早上(11.30)收到邮件,Vultr东京机房网络故障.当时搭建SS时,考虑到了机房故障.所以特意分出了日本和香港两条线路.但千算万算,忘记数据库还在东京机房中. 现在网络故障,SS服务器无法读取数据 ...
- 多线程编程 - PHP 实现
* { color: #3e3e3e } body { font-family: "Helvetica Neue", Helvetica, "Hiragino Sans ...
- 使用Navicat导入.csv文件(过程和注意点)
1.创建一个数据库,右键点击表,选择导入向导. 2.在跳出的弹窗中选择.CSV文件,点击下一步 3.选择文件来源和编码规格,点击下一步 如果发现上传后中文出现乱码请使用10008这个编码规则 4.选择 ...
- staticmethod、classmethod的使用
staticmethod 首先要明白两个概念 绑定方法:但凡是定义在类的内部,并且没有被任何装饰器修饰过的方法,就是绑定方法,并且有自动传值功能.类直接调用该方法时,改方法叫做类的函数属性:对象在调用 ...