×

zxing

android怎么zxing 二维码扫描?barcode4j和zxing哪个好用,各有什么优缺点

admin admin 发表于2022-09-02 12:53:06 浏览145 评论0

抢沙发发表评论

本文目录

android怎么zxing 二维码扫描


第一部分:Zxing的集成
步骤一:下载所需要的Zxing精简版,在Github上搜索Zxing,看到这条记录
进入并下载其jar包:
步骤二:复制到项目中,解压下载的包到ZXingProj/src/com/dtr目录下,复制这个zxing文件夹到项目中,这个时候你会看到有几个红线错误
接着一个个来修改这些红色错误,主要错误包括:导入的R包不是本项目的,存在R.raw和R.id和R.layout的资源找不到。首先把该放进去的资源先放进去,复制libs中的zxing.jar包到项目中,记得右键AddAsLibrary
复制下载的res的layout文件、res的values的ids文件、raw文件、res的drawable-xhdpi文件到项目的对应位置
打开ResultActivity文件:
[java] view plain
copy
public class ResultActivity extends Activity {
private ImageView mResultImage;
private TextView mResultText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_result);
Bundle extras = getIntent().getExtras();
mResultImage = (ImageView) findViewById(R.id.result_image);
mResultText = (TextView) findViewById(R.id.result_text);
if (null != extras) {
int width = extras.getInt(“width“);
int height = extras.getInt(“height“);
LayoutParams lps = new LayoutParams(width, height);
lps.topMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 30, getResources().getDisplayMetrics());
lps.leftMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20, getResources().getDisplayMetrics());
lps.rightMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20, getResources().getDisplayMetrics());
mResultImage.setLayoutParams(lps);
String result = extras.getString(“result“);
mResultText.setText(result);
Bitmap barcode = null;
byte compressedBitmap = extras.getByteArray(DecodeThread.BARCODE_BITMAP);
if (compressedBitmap != null) {
barcode = BitmapFactory.decodeByteArray(compressedBitmap, 0, compressedBitmap.length, null);
// Mutable copy:
barcode = barcode.copy(Bitmap.Config.RGB_565, true);
}
mResultImage.setImageBitmap(barcode);
}
}
}

barcode4j和zxing哪个好用,各有什么优缺点


barcode4j适合生成条形码,不适合生成二维码 还有资料比较少(说实话,条形码生成也不咋滴,图片在手机上面显示严重失真,难看的要死,最终还是用js画的。如果你不是完美主义就不用看了)
zxing是google的东西,文档什么的都比较全面,zxing也能够生成条形码,但是没有下面的数字,(不过你可以自己画上去嘛) ,二维码就不说的,我看很多android上面的二维码生成和扫描都是用的zxing。

请问谷歌开源项目“zxing”,“zxing“这个词怎么念吗


github.com/zxing/zxing
官网中说的很明确:
ZXing (“zebra crossing“) is an open-source, multi-format 1D/2D barcode image processing
library implemented in Java, with ports to other languages.
所以ZXing的英文意思是zebra crossing
-zxing

Zxing怎样扩大扫描区域


CameraManager.java
public Rect getFramingRect()//扫描采集区。也就是你的扫描区
public Rect getFramingRectInPreview()//预览区域。也就是扫面是画的那个框
上面2个方法理论返回应该是一样的,这样2个区域才能重合。不过你想要一些别的效果也可以不一样。如:扫描区返回整个屏幕。预览区只返回中间一块。那么扫描显示框只有一块。但是扫描的时候只要已进入屏幕就能扫除结果。
-zxing

Zxing怎么实现连续扫描


zxing 有个CaptureActivity 这个Activity就是负责扫描解码的

你看有个这个方法,

如果解码成功就会调用一下,this.setResult(RESULT_OK, resultIntent);

并且关掉了CaptureActivity.this.finish();

/**
 * Handler scan result
 * @param result
 * @param barcode
 */
public void handleDecode(Result result, Bitmap barcode) {
inactivityTimer.onActivity();
playBeepSoundAndVibrate();
String resultString = result.getText();
//FIXME
if (resultString.equals(““)) {
Toast.makeText(CaptureActivity.this, “Scan failed!“, Toast.LENGTH_SHORT).show();
}else {
// System.out.println(“Result:“+resultString);
Intent resultIntent = new Intent();
Bundle bundle = new Bundle();
bundle.putString(“result“, resultString);
resultIntent.putExtras(bundle);
this.setResult(RESULT_OK, resultIntent);
}
CaptureActivity.this.finish();
}

那你可以这样,在你的某个activity里,注册一下广播,这里扫描之后你就不停的发广播,就可以实现连接扫描了-zxing


zxing 条形码能否用于商业用途若可以是否需要收费收费标准是什么


zxing遵循Apache License 2.0,只是工具而已,不收费。
但是到中国物品编码中心注册厂商识别码是收费的,一个相当于1万个商品条码,首次注册3K/2年,后继延续2K/2年。
有些商品你也可以不用注册,像ISBN都是出版社帮你注册分配的。
-zxing

zxing解码二维码的最低像素


问题补充:二维码尺寸大小为4.5mm*3.5mm,通过CCD采集图像后,再给zxing解码,当图片像素为200*180时可顺利解码,当图片86*80时解码不成功。问题就出来了,zxing解码时要求图片的清晰度或者要求的最低像素是多少?
-zxing

如何在Eclipse ADT 中添加zxing库文件


在android studio 中引入zxing方法如下:
1、下载源代码,导航栏,选择Downloads。
2、导入项目。解压下载的.zip文件,打开Eclipse,菜单栏,选择file -》 new -》 project...
在弹出的New Project对话框中,选择Android -》 Android Project from Existing Code,点击Next Root Directory文本框,点击Browse按钮,选择zxing/android文件夹,点击Finish即可。
-zxing

请教一下Android Studio中ZXING的用法


因为这个zxing的库是属于library,如果你复制到项目中以后,会有缓存问题
你可以先clean一下项目,将缓存文件清除
建议使用Android Studio做开发工具,Android studio是基于Intellij IDEA专门为安卓开发的IDE,自从android Studio 1.0正式版发布以后google已经正式使用android Studio了,目前版本是 1.3.2 正式版
-zxing