返回顶部
首页 > 资讯 > 精选 >Android中谷歌推出的官方二维码扫描库怎么用
  • 156
分享到

Android中谷歌推出的官方二维码扫描库怎么用

2023-06-29 16:06:02 156人浏览 泡泡鱼
摘要

小编给大家分享一下Android中谷歌推出的官方二维码扫描库怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!相信二维码扫描现在大家都已经不稀奇了,几乎所有的A

小编给大家分享一下Android中谷歌推出的官方二维码扫描库怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

相信二维码扫描现在大家都已经不稀奇了,几乎所有的App里都会支持这个功能。

这里我要问大家一个问题,你们都是如何在自己的App中加入二维码扫描功能的呢?

相信会有一大部分朋友说,使用的是ZXing或者ZBar这种开源库。

但是不知道大家有没有思考过,二维码功能这么常见,为什么Google却没有提供一个官方的二维码扫描库呢?

反正我是没思考过。有需求,找开源,这可能已经成了很多Android开发者的常态化思维。

但令我没想到的是,官方的二维码扫描库,它真的要来了。

由于我是Google的GDE,有的时候可以提前体验到一些Google还未正式对外开放,仍在开发当中的api

就在不久之前,我收到了一封Google发来的邮件,内容如下:

Android中谷歌推出的官方二维码扫描库怎么用

当我看到邮件里提到了Google官方要推出一个二维码、条形码扫描库时,我立刻被吸引到了,并且跟Google表达了我想尝鲜的意愿。

几经折腾之后,我终于将这个库的一整套流程跑通了。总体来说,体验还不错,有优点也有缺点,下面我来逐条分析。

第一个优点是,API非常简单,傻瓜式接口,初学者都会用。比起ZXing和ZBar的学本成本要低很多。

其次,更加保护用户隐私性。因为它的功能实现是基于Intent机制委托Android系统来调起手机摄像头的,系统扫描出结果之后再将信息返回给我们,这样我们就不用在自己的App当中去申请摄像头权限了。

至于缺点的话,最大的问题就是,它依赖于Google Play Service,所以对于国内手机而言的话,基本就是完全无法使用的(不过下文也有其他解决方案)。而如果你们的产品是面向海外市场的话,这条就算不上什么缺点了。

另外我测试了一下,二维码的识别效率不算很高,至少目前跟微信的识别效率是没法比的。但是毕竟后期升级维护都是靠Google,服务有保障,相信以后识别效率会有显著的提升。

优缺点就介绍到这里吧,如果你对这个库感兴趣,也想跟我一样尝鲜的话,那么本篇文章接下来的内容就是教你如何集成并使用这个库来进行二维码扫描。

首先确保你的手机有安装Google Play Service,并且版本在21.45.15以上,不然后面的代码是跑不通的。

另外这个库暂时还没有上线,所以不能通过在线Maven仓库的方式集成到我们项目当中。而是要先将这个库下载到本地,再通过本地maven仓库的方式集成进来。

我们一步步操作。

这个库的下载地址本来是在Google Drive上的,但是由于需要权限才能访问下载,所以我将它上传到了百度网盘上共享给大家。

链接:https://pan.baidu.com/s/1yhVQqQUZ9goLaT8P4OzTVA?pwd=1234
提取码:1234

下载完成后,在你电脑的当前登录用户目录下创建一个.m2/repository目录,并将下载好的库移到这个目录当中解压(注意解压后的顶层目录必须是com目录)。

linuxMac用户可以使用以下命令完成上述操作,windows用户请手动操作。

mkdir -p ~/.m2/repository
cd ~/.m2/repository
unzip <downloaded SDK zip file>

接下来在Android Studio中创建一个新的项目,并在项目根目录的build.gradle文件中添加以下配置:

allprojects {
repositories {
google()
mavenCentral()
mavenLocal() // added
}
}

注意一定要加入mavenLocal()这行,这样才可以加载到我们本地下载下来的二维码扫描库。

然后在app目录下的build.gradle文件中添加如下依赖:

dependencies {
...
implementation 'com.google.android.gms:play-services-code-scanner:16.0.0-eap1'
}

到这里为止,我们就成功将Google的这个二维码扫描库集成到我们项目当中了。

接下来介绍用法,用法就更加简单了。因为它的本质是发起一个Intent来调起系统的相机程序,然后获取扫描的结果值就可以了。不需要权限声明,也不需要动态申请权限,调用一个API即可搞定。代码如下所示:

class MainActivity : AppCompatActivity() {        override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContentView(R.layout.activity_main)        val button = findViewById<Button>(R.id.button)        val textView = findViewById<TextView>(R.id.text_view)        button.setOnClickListener {            val scanner = GmsBarcodeScanning.getClient(applicationContext)            scanner.startScan().addOnSuccessListener {                val result = it.rawValue                textView.text = result            }        }    }    }

这里当我们点击一个按钮时,会调用GmsBarcodeScanning的getClient()方法来获取一个GmsBarcodeScanner的实例。

然后调用startScan()即可开始扫描二维码,调用addOnSuccessListener()方法注册一个回调监听。当获取到二维码扫描结果的时候,我们将扫描出的结果显示在TextView上面。

整体代码非常简单,另外再附上activity_main.xml的布局内容,同样也非常简单:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="Http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">    <Button        android:id="@+id/button"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Scan Code" />    <TextView        android:id="@+id/text_view"        android:layout_width="wrap_content"        android:layout_height="wrap_content" /></LinearLayout>

现在运行一下程序,效果如下图所示:

Android中谷歌推出的官方二维码扫描库怎么用

可以看到,整个二维码扫描界面都是由Google给我们提供的,扫描框也是典型的Google风格。我们只需要调用API,获取扫描结果即可,接入成本非常非常低。

但是如此方便的二维码扫描库却只能造福海外的开发者,国内由于没有Google Play Service,我们无法直接享受到这个库所带来的便利性。

于是我也将这个问题提给了Google,对于中国的开发者,如果也想要用这个二维码扫描库怎么办?

得到的答复是,Google是将ML Kit barcode scanner绑定成为了Google Play Service的一部分安装到各个手机上的,如果我们的手机上没有Google Play Service,那么就需要将ML Kit barcode scanner的完整版本集成到我们的项目当中才行。

以上是“Android中谷歌推出的官方二维码扫描库怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Android中谷歌推出的官方二维码扫描库怎么用

本文链接: https://lsjlt.com/news/325763.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android中谷歌推出的官方二维码扫描库怎么用
    小编给大家分享一下Android中谷歌推出的官方二维码扫描库怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!相信二维码扫描现在大家都已经不稀奇了,几乎所有的A...
    99+
    2023-06-29
  • Android详细讲解谷歌推出的官方二维码扫描库
    相信二维码扫描现在大家都已经不稀奇了,几乎所有的App里都会支持这个功能。 这里我要问大家一个问题,你们都是如何在自己的App中加入二维码扫描功能的呢? 相信会有一大部分朋友说,使用...
    99+
    2024-04-02
  • Android中二维码的扫描和生成(使用zxing库)
    目录一.zxing是什么?二.集成zxing框架三.界面设计四.二维码生成五.二维码扫描附:Android使用Zxing识别图片多个二维码总结一.zxing是什么? zxing是go...
    99+
    2024-04-02
  • Android中怎么实现二维码扫描功能
    这期内容当中小编将会给大家带来有关Android中怎么实现二维码扫描功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1 开发准备1.1 android studio 安装&emsp;&e...
    99+
    2023-06-04
  • Android中二维码的生成方法(普通二维码、中心Logo 二维码、及扫描解析二维码)
    首先声明我们通篇用的都是Google开源框架Zxing,要实现的功能有三个 ,生成普通二维码、生成带有中心图片Logo 的二维码,扫描解析二维码,直接上效果图吧 首先我们需要...
    99+
    2022-06-06
    方法 二维 二维码 Android
  • Android中利用zxing实现自己的二维码扫描识别详解
    前言在上一篇文章中已经简单介绍了zxing的使用,快速集成到自己的项目中,但是使用的扫描我们没办法根据自己的需求来做自己的扫描界面,所以这篇我们来学习一下如何根据自己的需求来实现二维码的扫描。当然用到的库依然还是google的zxing。下...
    99+
    2023-05-30
    android zxing 二维码扫描识别
  • Android应用中扫描二维码时出现用户禁止权限报错如何解决
    这期内容当中小编将会给大家带来有关Android应用中扫描二维码时出现用户禁止权限报错如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Android扫描二维码时出现用户禁止权限报错问题解决办法当我用...
    99+
    2023-05-31
    android roi
  • 怎么在HTML5中使用MUI框架实现一个二维码扫描功能
    怎么在HTML5中使用MUI框架实现一个二维码扫描功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。<!doctype html>&nbs...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作