Android之二维码的扫描

标签: Android
53人阅读 评论(0) 收藏 举报

     今天给大家带来的怎么用Android实现二维码扫描并将扫描内容取出做处理    

        首先,我们要用Android实现二维码的扫描。对于初学者来说都要去膜拜大神的源代码,去论坛搜索Android实现二维码扫描,出现一大些的讲解。我写这篇文章时,我也是个初学者,我前期也去搜索过大量的有关实现Android实现二维码的博客,有简单的,有复杂的,我就从中去下了一个简单的源代码和复杂的源代码,在我实现的时候会出现一个问题,对于简单的源代码,会引用很多的文件和包,代码可以看懂,但是引用了很多各种各样的文件包,看的我一脸懵逼。对于复杂的呢,更别说了,对于我这个小白来说代码根本看不懂!

         对于初学者来说,尽可能最简化易懂的代码来实现复杂的功能最理想不过了。上边所说到的都是个人在开发过程中的经历,供自己记录所用,不代表所有开发者的想法!好,废话不多说我们开始实现基于Android实现二维码扫描功能!

二维码扫描步骤:

(1)创建一个activity命名为DoScanActivity

/**
 * Created by Boy Baby on 2018/4/5.
 */

public class DoScanActivity extends CaptureActivity {

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

    }
}

(2)AndroidManifest.xml文件中DoScanActivity配置如下:

<activity
    android:name=".DoScanActivity"
    android:screenOrientation="portrait"
    android:stateNotNeeded="true"
    android:windowSoftInputMode="stateAlwaysHidden" />

(3)bulid.gradle文件中添加 

compile 'com.journeyapps:zxing-android-embedded:3.5.0'
compile 'com.google.zxing:core:3.3.0'

(4)添加完成后的dependencies代码

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:26.+'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.journeyapps:zxing-android-embedded:3.5.0'
    compile 'com.google.zxing:core:3.3.0'
    testCompile 'junit:junit:4.12'
}

(5)获取扫描结果使用Activity类的成员onActivityResult方法获取;

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
    if(result != null) {
        if(result.getContents() == null) {
            Toast.makeText(this, "扫码失败!", Toast.LENGTH_LONG).show();
        } else {
            Toast.makeText(this, "扫描成功,条码值: " + result.getContents(), Toast.LENGTH_LONG).show();
            String string=result.getContents();
        }
    } else {
        super.onActivityResult(requestCode, resultCode, data);
    }
}

(6)启动二维码扫描(xml文件布局)

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.boybaby.qr_code.MainActivity">

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="Sao_QR"
        android:text="扫一扫"
        tools:layout_editor_absoluteX="148dp"
        tools:layout_editor_absoluteY="110dp" />
</android.support.constraint.ConstraintLayout>

(7)给按钮添加事件监听事件(启动二维码扫描)

//扫一扫
public void Sao_QR(View view){
    IntentIntegrator integrator = new IntentIntegrator(this);
    integrator.setCaptureActivity(DoScanActivity.class);
    integrator.initiateScan();
}

(8)Android实现二维码效果





















查看评论

Android基于Zxing实现二维码,条形码扫描和生成二维码

由于模拟器原因,所以无法看到二维码扫描功能,这个在真机上测试时完全没有问题,当你扫描一个二维码完成后会自动返回到主页面将结果显示到“扫描内容”模块; 然后下面的就是生成二维码; 这两个功能...
  • Zheng_Jiao
  • Zheng_Jiao
  • 2016-05-26 14:38:19
  • 2135

android二维码扫描本地图片

关于android zxing二维码开发这方面的技术,现在大家比较常用到的扫描二维码和扫描本地图片,今天刚解决的一个问题就是我的扫描本地图片二维码的功能老存在问题,有的二维码可以扫出来,有的扫不出来,...
  • z690798364
  • z690798364
  • 2015-11-16 16:34:53
  • 2114

Android中的二维码生成与扫描

转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/51013562 本文出自:【顾林海的博客】 前言月底离开公司...
  • GULINHAI12
  • GULINHAI12
  • 2016-04-27 13:32:32
  • 6964

Andriod Zxing 二维码扫描 实现连续扫描

做公司项目的时候需要实现类似于超市扫描枪一样的,连续扫描。下面说说我的实现方法。 既然要修改Zxing的源码,就要找到Zxing里面的CaptureActivity这个类,这里面内容是点击扫描按钮...
  • fahaia
  • fahaia
  • 2017-12-26 11:07:33
  • 1362

基于zxing的二维码(网格)扫描

前言:对于二维码扫描我们使用的是开源框架Zxing或者Zbar,这里使用基于zxing的二维码扫描,类似支付宝网格扫描, 二维码原理介绍: 二维码是用某种特定的几何图形按一定的规律在平面上分布...
  • zhh_csdn_ard
  • zhh_csdn_ard
  • 2017-02-09 09:34:10
  • 952

Android实现二维码扫描功能(四)-ZXing识别图片二维码,相册选图

简介上一篇 Android实现二维码扫描功能(三)-闪光灯控制介绍了光线较弱情况下开启闪光灯来辅助二维码识别的方法。本篇我们介绍如何识别相册中的图片(含二维码)效果因为模拟器文件路径有问题(也可能是我...
  • ahuyangdong
  • ahuyangdong
  • 2017-08-22 20:53:49
  • 4080

Android-自定义View实现二维码网格扫描+纵向雷达的扫描效果

Android-自定义View实现二维码网格扫描+纵向雷达的扫描效果
  • M075097
  • M075097
  • 2017-11-14 17:47:06
  • 763

基于Zxing的二维码的二维码扫描之横屏扫描

最近项目条码扫描要改为横屏,网上所搜了一下,然后修改下面写代码就可以实现横屏条码扫描了 修改前效果图如下 具体代码修改如下: 1修改 activity配置文件 ...
  • xiaorenwu1206
  • xiaorenwu1206
  • 2014-09-04 15:10:53
  • 1330

Android zxing二维码扫描 扫描框适应各种分辨率

在使用zxing二维码时,发现有时候出现拉伸的现象,不能很好的适应各种分辨率,经过测试,只要在CameraManager.java中,修改一下如下方法即可,代码如下: public synchron...
  • jdsjlzx
  • jdsjlzx
  • 2015-06-09 17:03:22
  • 7582

demo Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果

  • 2016年03月11日 18:27
  • 8.89MB
  • 下载
    个人资料
    等级:
    访问量: 186
    积分: 43
    排名: 167万+
    文章分类
    文章存档