`

zxing二维码扫描功能

阅读更多
经常要用到二维码扫描功能
现给出示例代码

import com.google.zxing.WriterException;
import com.zxing.activity.CaptureActivity;
import com.zxing.encoding.EncodingHandler;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class BarCodeTestActivity extends Activity {
    /** Called when the activity is first created. */
	private TextView resultTextView;
	private EditText qrStrEditText;
	private ImageView qrImgImageView;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        resultTextView = (TextView) this.findViewById(R.id.tv_scan_result);
        qrStrEditText = (EditText) this.findViewById(R.id.et_qr_string);
        qrImgImageView = (ImageView) this.findViewById(R.id.iv_qr_image);
        
        Button scanBarCodeButton = (Button) this.findViewById(R.id.btn_scan_barcode);
        scanBarCodeButton.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				//打开扫描界面扫描条形码或二维码
				Intent openCameraIntent = new Intent(BarCodeTestActivity.this,CaptureActivity.class);
				startActivityForResult(openCameraIntent, 0);
			}
		});
        
        Button generateQRCodeButton = (Button) this.findViewById(R.id.btn_add_qrcode);
        generateQRCodeButton.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				try {
					String contentString = qrStrEditText.getText().toString();
					if (!contentString.equals("")) {
						//根据字符串生成二维码图片并显示在界面上,第二个参数为图片的大小(350*350)
						Bitmap qrCodeBitmap = EncodingHandler.createQRCode(contentString, 350);
						qrImgImageView.setImageBitmap(qrCodeBitmap);
					}else {
						Toast.makeText(BarCodeTestActivity.this, "Text can not be empty", Toast.LENGTH_SHORT).show();
					}
					
				} catch (WriterException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		});
    }

	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);
		//处理扫描结果(在界面上显示)
		if (resultCode == RESULT_OK) {
			Bundle bundle = data.getExtras();
			String scanResult = bundle.getString("result");
			resultTextView.setText(scanResult);
		}
	}
}


注册CaptureActivity.java
<activity
  android:configChanges="orientation|keyboardHidden"
  android:name="com.zxing.activity.CaptureActivity"
  android:screenOrientation="portrait"
  android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
  android:windowSoftInputMode="stateAlwaysHidden" >
</activity>


添加两个权限,振动&照相机
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.VIBRATE"/>


详情见附件


QRCodeReaderView 是基于 ZXING 条形码扫描工具项目改进,为了在肖像模式和增强现实目的下进行更简单的 Android 二维码检测。此项目可以在相机的预览中显示是否有二维码。
http://www.open-open.com/lib/view/open1446534728935.html


android Zxing扫描二维码
1:工程中需要引入android-support-v7-appcompat
2:扫描界面现在做的效果是四个角在框的外面,如果需要改变二维码扫描的框,可以通过修改ViewfinderView类的onDraw方法来实现不同的效果。
3:项目中现在已经集成了从相册中扫描图片二维码,生成我的二维码,如果你的项目中不需要用到这些,可以去CaptureActivity类中删除相应的代码即可。
4:生成我的二维码那块,现在默认写成了我的名字,如果需要修改的话可以通过传参数的形式来实现要生成的二维码。
https://github.com/gexingfeiyang/TestForMyCapture
分享到:
评论

相关推荐

    Android zxing二维码扫描个人优化版

    【Android Zxing二维码扫描个人优化版】是一款专为Android平台设计的二维码扫描工具,基于开源项目ZXing(Zebra Crossing)进行二次...如果你需要在自己的应用中集成二维码扫描功能,这个优化版会是一个不错的选择。

    zxing二维码扫描(已简化)

    总之,这个“zxing二维码扫描(已简化)”项目为需要二维码扫描功能的开发者提供了一个更轻量级、更易用的选择,它减少了与原ZXing库相关的复杂性,有助于快速实现二维码扫描功能。对于想要了解和使用二维码技术的...

    android 二维码扫描Zxing

    本文将详细介绍如何在Android应用中集成ZXing实现二维码扫描功能,并提供对源码的修改建议。 首先,我们需要了解ZXing库的基本结构和功能。ZXing库包含了二维码和条形码的编码与解码核心模块,支持多种格式,如QR ...

    zxing二维码扫描demo完整源码

    这个“ZXing二维码扫描demo完整源码”是一个已经封装好的示例项目,可以帮助开发者快速集成二维码扫描功能,只需少量代码即可实现。下面我们将深入探讨ZXing库以及如何利用它来创建二维码扫描应用。 1. **ZXing库...

    zxing 二维码扫描demo +js二维码生成demo

    手机端的ZXing二维码扫描功能常用于移动应用中,比如扫描商品条码获取价格信息,或者扫描网页上的二维码快速跳转到相应页面。而Web端的JS二维码生成则广泛应用于网站,用户可以生成二维码分享网址、电子名片或者下载...

    zxing二维码扫描demo(解决预览变形问题)

    在集成zxing二维码时遇到预览拉伸的问题,原因:预览尺寸和surface view不一致。 解决方式: 针对于扫描时,二维码拉伸变形的问题,是因为zxing默认是针对横屏扫描的,所以,我们只需要改变x,y的计算,即横纵轴即可...

    android zxing 二维码扫描亲测可用

    ZxingExample-master是一个包含了完整实现的示例项目,它展示了如何在Android应用中集成Zxing并实现二维码扫描功能。在这个项目中,你可以看到如何配置布局文件、初始化扫描器以及处理扫描结果的代码实例。通过研究...

    ZXing实现自定义二维码扫描框

    本项目着重讲解如何利用ZXing在Android平台上实现一个自定义的二维码扫描功能。 首先,我们需要在Android项目中集成ZXing库。可以通过在`build.gradle`文件中添加ZXing的依赖项来完成。如果使用的是ZXing的AAR形式...

    android studio zxing二维码扫描 超级简单的demo

    这个“android studio zxing二维码扫描 超级简单的demo”是一个针对Android Studio的示例项目,帮助开发者快速理解和集成二维码扫描功能到自己的应用中。 1. **ZXing库介绍** ZXing,又称“条形码彩虹”,是由...

    zxing二维码扫描,仿微信(修改版)

    总的来说,这个“ZXing二维码扫描,仿微信(修改版)”项目提供了一个实用且经过优化的二维码扫描解决方案,尤其适合那些需要在Android应用中集成二维码扫描功能的开发者。同时,它也是一个学习和研究ZXing库、编码...

    更简洁zxing 二维码扫描

    总的来说,“更简洁ZXing二维码扫描”项目是对原ZXing库的一次成功精简,它保留了核心的二维码扫描功能,去除了不必要组件,实现了轻量级的集成方式,使得Android开发者能够更轻松地在应用中实现高效、稳定的二维码...

    zxing二维码生成扫描,识别二维码图片,长按识别二维码调用方便简洁

    zxing二维码生成扫描,识别二维码图片,长按识别二维码调用方便简洁,可选择导入as的modules 只需要在bulid.gradle(app) 中的dependencies :里面 compile project(path: ':BarCode')一下就能用。

    zxing二维码扫描

    ZXing的二维码扫描功能强大,支持多种类型的二维码,如QR Code、Data Matrix、Aztec和PDF417等。对于开发者来说,通过ZXing,可以轻松实现对这些二维码的读取,无论是静态图片还是摄像头实时捕获的图像。此外,ZXing...

    zxing二维码扫描Demo程序

    在实际开发中,为了实现二维码扫描功能,我们需要: - 引入ZXing库:在Android项目中,可以通过Gradle添加ZXing依赖,或者在Java项目中下载对应的JAR文件。 - 配置权限:在AndroidManifest.xml中添加相机使用权限。...

    zxing二维码扫描demo

    这个"ZXing二维码扫描demo"是一个基于ZXing库的应用示例,主要用于演示如何在Android平台上实现二维码扫描功能。下面我们将深入探讨ZXing的核心原理、如何集成到Android应用中以及如何进行二维码扫描。 二维码...

    Zxing二维码扫描成功移植到AS项目

    本文将深入探讨如何将Zxing二维码扫描库成功移植到Android Studio (AS) 项目中,以及如何构建一个可直接运行的DEMO。 首先,我们需要了解Zxing的基本功能。Zxing支持多种类型的条码和二维码扫描,如QR码、Code 128...

    android studio ZXing 二维码扫描

    本项目是基于ZXing进行的二次开发,尽管作者提到修改后的代码可能比较混乱,但仍然可以作为参考来理解如何在Android Studio中集成和使用ZXing实现二维码扫描功能。 1. **ZXing库介绍** ZXing,中文名斑马线,是由...

Global site tag (gtag.js) - Google Analytics