文档章节

Android加入ZXing条码扫描功能

 屋顶牛奶
发布于 2016/05/15 19:16
字数 441
阅读 21
收藏 0
点赞 2
评论 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
西安
组件化封装思想实战AndroidApp

第1章 课程概述 通过本章让学生:1.了解本次项目实战主要有那些功能有,以及通过本次项目实战,学生可以掌握开发一个应用所需的全部知识。2.在课程安排上,我们主要以实际的开发顺序来讲解,...

飞雪团队 ⋅ 05/19 ⋅ 0

组件化封装思想实战Android App视频课程

第1章 课程概述 通过本章让学生:1.了解本次项目实战主要有那些功能有,以及通过本次项目实战,学生可以掌握开发一个应用所需的全部知识。2.在课程安排上,我们主要以实际的开发顺序来讲解,...

15543647553 ⋅ 05/13 ⋅ 0

android应用之间依赖的解决办法

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

华宰 ⋅ 2011/09/07 ⋅ 0

在Android上使用ZXing识别条码/二维码

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

zungyiu ⋅ 2010/12/29 ⋅ 0

ZXing条码扫描-竖屏解决方案

zxing如何竖屏扫描 将zxing源码android导入Eclipse后,关联ZXLib,也就是刚才新建的ZXing类库。运行后可直接使用条码扫描功能,可是默认是横屏,笔者项目中需要使用竖屏方式扫描,于是需要将...

阳小豆 ⋅ 2017/12/14 ⋅ 0

在Android上使用ZXing识别条形码/二维码

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

晨曦之光 ⋅ 2012/03/14 ⋅ 0

【基于zxing的编解码实战】zxing项目源码解读(2.3.0版本,Android部分)

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

Madmatrix ⋅ 2013/12/31 ⋅ 3

ZXing android 源码简化

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

鉴客 ⋅ 2011/09/27 ⋅ 7

Android上使用ZXing识别条形码/二维码

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

xiahuawuyu ⋅ 2012/05/22 ⋅ 1

安卓PDA的功能和特点及应用行业

  安卓PDA又称为掌上电脑,可以帮助我们完成在移动中工作,学习,娱乐等。按使用来分类,分为工业级PDA和消费品PDA。工业级PDA主要应用在工业领域,常见的有条码扫描器、RFID读写器、POS机...

sznewbest ⋅ 05/28 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 今天 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部