Google推出的官方二维码扫描库你知道吗?还不知道就落伍咯!本篇文字带你了解google二维码扫描库的详细情况与使用,还不知道的朋友快来看看吧
相信二维码扫描现在大家都已经不稀奇了,几乎所有的App里都会支持这个功能。
这里我要问大家一个问题,你们都是如何在自己的App中加入二维码扫描功能的呢?
相信会有一大部分朋友说,使用的是ZXing或者ZBar这种开源库。
但是不知道大家有没有思考过,二维码功能这么常见,为什么Google却没有提供一个官方的二维码扫描库呢?
反正我是没思考过。有需求,找开源,这可能已经成了很多Android开发者的常态化思维。
但令我没想到的是,官方的二维码扫描库,它真的要来了。
由于我是Google的GDE,有的时候可以提前体验到一些Google还未正式对外开放,仍在开发当中的API。
就在不久之前,我收到了一封Google发来的邮件,内容如下:
}
到这里为止,我们就成功将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>
现在运行一下程序,效果如下图所示:
可以看到,整个二维码扫描界面都是由Google给我们提供的,扫描框也是典型的Google风格。我们只需要调用API,获取扫描结果即可,接入成本非常非常低。
但是如此方便的二维码扫描库却只能造福海外的开发者,国内由于没有Google Play Service,我们无法直接享受到这个库所带来的便利性。
于是我也将这个问题提给了Google,对于中国的开发者,如果也想要用这个二维码扫描库怎么办?
得到的答复是,Google是将ML Kit barcode scanner绑定成为了Google Play Service的一部分安装到各个手机上的,如果我们的手机上没有Google Play Service,那么就需要将ML Kit barcode scanner的完整版本集成到我们的项目当中才行。
完整版本的集成文档我也讨来了,链接如下:
https://developers.google.com/ml-kit/vision/barcode-scanning/android
上述文档中还包含了如何从一张图片、或者一个Bitmap对象中解析二维码的功能,具体详情请参考文档即可,这里就不再展开讲解了。
一篇技术尝鲜小短文送给大家。
到此这篇关于Android详细讲解谷歌推出的官方二维码扫描库的文章就介绍到这了,更多相关Android 二维码扫描库内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:Android详细讲解谷歌推出的官方二维码扫描库
- 详解flutter engine 那些没被释放的东西 2022-12-04
- Android MaterialButton使用实例详解(告别shape、selector) 2023-06-16
- 最好用的ios数据恢复软件:PhoneRescue for Mac 2023-09-14
- iOS 对当前webView进行截屏的方法 2023-03-01
- SurfaceView播放视频发送弹幕并实现滚动歌词 2023-01-02
- 作为iOS开发,这道面试题你能答出来,说明你基础很OK! 2023-09-14
- Android实现轮询的三种方式 2023-02-17
- Flutter实现底部和顶部导航栏 2022-08-31
- Android实现监听音量的变化 2023-03-30
- Android studio实现动态背景页面 2023-05-23
