文档章节

Android加入ZXing条码扫描功能

 屋顶牛奶
发布于 2016/05/15 19:16
字数 441
阅读 24
收藏 0

今天往一个程序里添加ZXing,本以为只要加几个包就可以了,实际操作中发现步骤挺多的,所以记录一下,下次再用到可以参照。

需要加入的文件列表:,

第一步:添加工具包,在libs里加入zxing。jar

第二步:加入代码文件:

1. 在src目录下加入3个包

2.在layout文件夹中加入两个布局文件

3. 在drawable文件夹里添加一个资源文件

 4. 在drawable-hdpi文件夹里加入4个图片文件

5. 在raw文件夹里加入1个声音文件,扫描成功的鸣音

6.在values文件夹加入id文件

    同时需要往strings.xml和colors.xml文件夹里各加入一段代码:

    strings.xml

 <!-- 条码扫描 -->
    <string name="scan_text">将条形码放入框内, 即可自动扫描</string>

    colors.xml

<color name="result_view">#b0000000</color>
<color name="viewfinder_mask">#60000000</color>
<color name="possible_result_points">#c0ffff00</color>

 

第三步:修改AndroidManifest.xml,这一步非常重要,需要添加摄像头和振动设备的权限,并注册扫描的Activity

 <uses-permission android:name="android.permission.VIBRATE" />
 <uses-permission android:name="android.permission.CAMERA" />
<activity
      android:name="com.mining.app.zxing.view.MipcaActivityCapture"
      android:configChanges="orientation|keyboardHidden"
      android:screenOrientation="portrait"
      android:windowSoftInputMode="stateAlwaysHidden" >
</activity>

第四步:扫描功能的调用

//定义一个条码扫描返回码
private final static int SCANNIN_GREQUEST_CODE = 1;

//定义启动扫描的动作
buttonScan.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
	Intent intent = new Intent();
	intent.setClass(BridgeInfoActivity.this, MipcaActivityCapture.class);
		intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
		startActivityForResult(intent, SCANNIN_GREQUEST_CODE);
	}			
});


//条码扫描回调函数
@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        switch (requestCode) {
		case SCANNIN_GREQUEST_CODE:
			if(resultCode == RESULT_OK){
				Bundle bundle = data.getExtras();
				//显示扫描到的内容
				String barCode = bundle.getString("result"); 
				editSearch.setText(barCode);
				listBridges.clear();
				listBridges.addAll(0, bridgeDao.findByBar(barCode,getDepCode()));
				adapter.notifyDataSetChanged();	
				isLoading = true;
			}
			break;
		}
    }	

        通过以上的四步就可以实现在自己的应用中加入条形码扫描功能了。

   

© 著作权归作者所有

粉丝 0
博文 4
码字总数 3357
作品 0
西安
私信 提问
android应用之间依赖的解决办法

android提供了一种机制,可以通过Intent复用多个应用的界面。比如可以在自己的应用中调用条形码识别程序zxing,然后返回条形码的结果。 不过呢,这需要系统必须事先在手机上安装zxing的条码扫...

华宰
2011/09/07
1K
0
在Android上使用ZXing识别条形码/二维码

本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处! 越来越多的手机具备自动对焦的拍摄功能,这也意味着这些手机可以具备条码扫描的功能.......手机具备条码扫描的功能,可以优化购...

晨曦之光
2012/03/14
10.8K
0
在Android上使用ZXing识别条码/二维码

本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处! 越来越多的手机具备自动对焦的拍摄功能,这也意味着这些手机可以具备条码扫描的功能.......手机具备条码扫描的功能,可以优化购...

zungyiu
2010/12/29
5.1K
0
ZXing android 源码简化

前言 最近公司的Android项目需要用到摄像头做条码或二维码的扫描,Google一下,发现一个以Apache License 2.0 开源的 ZXing项目。Zxing项目里的Android实现太过复杂多余东西太多,得对其进行...

鉴客
2011/09/27
20.1K
7
【基于zxing的编解码实战】zxing项目源码解读(2.3.0版本,Android部分)

zxing2.3.0目录结构(android相关) 下载zxing2.3.0后,与android相关的有三个目录: android:就是Barcode Scanner,中文名"条码扫描器"。下文中简写为BS。 android-integration:提供一种简...

Madmatrix
2013/12/31
23.4K
3

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot + Mybatis-Plus 集成与使用(二)

前言: 本章节介绍MyBatis-Puls的CRUD使用。在开始之前,先简单讲解下上章节关于Spring Boot是如何自动配置MyBatis-Plus。 一、自动配置 当Spring Boot应用从主方法main()启动后,首先加载S...

伴学编程
今天
7
0
用最通俗的方法讲spring [一] ──── AOP

@[TOC](用最通俗的方法讲spring [一] ──── AOP) 写这个系列的目的(可以跳过不看) 自己写这个系列的目的,是因为自己是个比较笨的人,我曾一度怀疑自己的智商不适合干编程这个行业.因为在我...

小贼贼子
今天
7
0
Flutter系列之在 macOS 上安装和配置 Flutter 开发环境

本文为Flutter开发环境在macOS下安装全过程: 一、系统配置要求 想要安装并运行 Flutter,你的开发环境需要最低满足以下要求: 操作系统:macOS(64位) 磁盘空间:700 MB(不包含 IDE 或其余...

過愙
今天
6
0
OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
今天
2.5K
16
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
42
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部