Articles of zxing

在Android应用程序中嵌入ZXing

所以我是另一个不幸的Android开发初学者需要在他的应用程序中嵌入ZXing条码扫描器。 有很多问题要求如何在stackoverflow上执行此操作,但没有一个问题的答案对于初学者来说是真正可以理解和解释的。 所有答案都说“你要做的就是构建ZXing项目的核心库,引用你的项目,然后将一些代码从ZXing的android /目录复制到你的应用程序,你就完成了”。 但这对菜鸟来说并不是很有帮助。 我的项目中引用了ZXings核心库。 我打开了Barcode Scanner应用程序源。 我正在尝试阅读并理解条码扫描器应用程序的代码,但这对我的知识水平来说太复杂了。 我只想在我的应用程序中有一个按钮,当按下时,打开条形码扫描仪,扫描仪应该只能扫描条形码,解码并返回数字,它不需要将代码发送到任何地方得到任何信息等,我自己照顾这些事情。 我只需要一个简单的扫描仪,它可以在按钮点击时启动,扫描代码并给我结果。 但我无法想象自己该怎么做。 我认为如果你只需要从ZXing扫描仪复制一些文本就不难做到,你只需要了解它的代码。 因此,如果有人可以解释这一点(告诉你要复制哪些代码部分,如何在按钮onClick方法中启动扫描仪等)请这样做,我相信有很多人会非常感谢这一点,就像我会是。

如何将ZXing Library集成到Android Studio进行条码扫描?

我一直在寻找互联网如何将zxing库包含到我的项目中,我find了这个教程: http : //blog.dihaw.com/integrating-zxing-in-your-android-app-as-standalone-scanner / 但是当我到达你需要检查BeepManager以添加R导入的点时,我在项目中得到了各种错误(即使在MainActivity上)它也找不到R. 另外我发现这个https://github.com/journeyapps/zxing-android-embedded/blob/master/README.md似乎更容易,因为它是通过gradle自动集成的,但是当我同步时popup一个错误它无法find文件。 任何帮助将不胜感激:)我是Android Studio的新手。 编辑: 我将第二种方法(带有gradle设置的方法)的设置添加到我的build.gradle中,popup了4个错误: Error:Failed to find: com.embarkmobile:zxing-android-legacy:2.0.0 Error:Failed to find: com.google.zxing:core:3.0.1 Error:Failed to find: com.embarkmobile:zxing-android-integration:2.0.0 Error:Failed to find: com.embarkmobile:zxing-android-minimal:2.0.0 有帮助吗? – -回答 – – 要解决此问题,我需要在Gradle上禁用Offline Work。 进入Android Studio的设置> Gradle>取消选中“离线工作”之后,您就可以开始了!

如何整合Zxing条码扫描器而不安装实际的zxing应用程序(无法解析符号:.android.CaptureActivity)?

我想将zxing扫描仪集成到我的应用程序中而无需外部应用程序(来自Play商店的zxing扫描仪)。 这是我的代码 Button scan = (Button) findViewById(R.id.scan_button); scan.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(“com.google.zxing.client.android.SCAN”); intent.setPackage(“com.mypackage.app”); intent.putExtra(“SCAN_MODE”, “QR_CODE_MODE”); startActivityForResult(intent, SCANNER_REQUEST_CODE); } }); @Override public void onActivityResult(int requestCode, int resultCode, Intent intent) { if (requestCode == SCANNER_REQUEST_CODE) { // Handle scan intent if (resultCode == Activity.RESULT_OK) { // Handle successful […]

GridLayoutManager的spanSizeLookup错误

我有一个GridLayoutManger setSpanSizeLookup的问题,当一个活动的方向改变时,我正在改变跨度计数,而检查如果特定的位置是某种types,这完全适用于方向的变化,我唯一的问题是,我正在使用zxing库做条形码扫描,每当一个button被点击我打开zxing默认意图,并从中检索date,但是当zxing打开它去landscape ,我当前的活动方向是portrait这给了我的IllegalArgumentException布局在打开Xzing意图时pipe理抛出,崩溃日志是这样的 java.lang.IllegalArgumentException: Item at position 0 requires 2 spans but GridLayoutManager has only 1 spans. 这个问题不会发生,如果我旋转手机,只发生当我启动的Xzing意图,我真的不知道如何解决这个问题,因为它的窃听我。 这里是我的spanSizeLookup – manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { @Override public int getSpanSize(int position) { return adapter.getHolders().get(position).getLabelHolder() != null ? getResources().getInteger(R.integer.span) : 1; } }); span基于屏幕大小,因此它可以是1-2,2-3和3-4。 我重复一遍,这不会给我任何方向变化的错误,只有当我打开zxing时发生错误 PS如果我打开zxing intent而我的活动是在landspace崩溃不会发生。 编辑 它似乎只是启动zxing默认意图引起这个问题,我有一个activity ,它启动后,它的landscape和exception没有发生,作为一个解决方法,我做了,是我创build了一个activity ,处理barcode扫描延迟1秒发射的intent ,如果我不这样做,它会抛出同样的exception 。 编辑2 我刚刚发现,即使没有setSpanSpizeLookup,崩溃依然会发生。 通过调用manager.setSpanCount(getResources().getInteger(R.integer.span))

使用ZXing对byte 进行编码和解码

我正在开发一个Android应用程序,我需要编码和解码ZXing应用程序生成的QRCode中的字节数组。 我的问题是,我的消息解码不完全匹配生成的字节数组。 我试图创build一个QRCode基于一个字节数组包含增量索引,即 input = [0, 1, 2, …, 124, 125, 126, 127, -128, -127,… -3, -2, -1, 0, 1, 2, …] 在QRCode中对消息进行编码并在响应方进行解码之后,获得以下字节数组输出: output = [0, 1, 2, …, 124, 125, 126, 127, 63, 63,… 63, 63, 63, 0, 1, 2, …] 所有“负”字节值都转换为ASCII字符63:'?' 问号字符。 我认为编码字符集有问题,但是由于我使用ISO-8859-1,所有人都声称自己是这类问题的解决scheme( 其他主题在 这里 处理同样types的问题 )看看我的错误在哪里,或者如果我在编码或解码实例期间跳过了一步。 这里是我执行的编码给定的字节数组的代码: String text = ""; byte[] […]

onActivityResult永远不会被称为Phonegap Cordova

我正在使用ZXing作为库项目的PhoneGap条码扫描器插件。 我有一个在Galaxy Tab 2(7“)上完美工作的代码,相同的代码在Galaxy S3上不起作用。 问题:当ZXing CaptureActivity扫描条形码时,只需完成CaptureActivity和Calling活动就不会返回onActivityResult方法。 MainFest。 <activity android:name=".activity.MainActivity" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/app_name" android:theme="@android:style/Theme.Black.NoTitleBar" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.google.zxing.client.android.CaptureActivity" android:configChanges="orientation|keyboardHidden" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:windowSoftInputMode="stateAlwaysHidden" > <intent-filter> <action android:name="com.phonegap.plugins.barcodescanner.SCAN" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> </application> MainActivity.java public void startActivityForResult(CordovaPlugin command, Intent intent, int requestCode) { this.activityResultCallback = command; this.activityResultKeepRunning = […]

Android:使用Zxing生成的QR码有边距(不适合该区域)

我正在使用我的应用程序ZXing库来生成QR码。 我想生成适合屏幕宽度的QR码(也许是一些小的填充)。 如果我将屏幕的宽度设置为QR码的宽度大小,我会得到更小的QR码。 看截图(320×240分辨率)。 我想要QR码来适应黑色区域。 为什么QR码红色这么小? 我如何将它拉伸到黑色区域? 我的代码: Display display = getWindowManager().getDefaultDisplay(); Point size = new Point(); display.getSize(size); int width = size.x; Bitmap bm = encodeAsBitmap(mGeneratedURL, BarcodeFormat.QR_CODE, width, width); qrcodeImage.setImageBitmap(bm); 生成QR码: private Bitmap encodeAsBitmap(String contents, BarcodeFormat format, int img_width, int img_height) throws WriterException { String contentsToEncode = contents; if (contentsToEncode == null) { return null; […]

意外的顶级例外:com.android.dex.DexException

我正在尝试在AndroidStudio中将barcodefraglibv2集成到我的Android应用程序中。 我试图将libs core.jar和barcodelib.jar复制到libs目录中。 但是,当我尝试运行应用程序,我得到以下错误 Error:Execution failed for task ':Blok:dexDebug'. > com.android.ide.common.internal.LoggedErrorException: Failed to run command: /home/backman/android/sdk/build-tools/android-4.4.2/dx –dex –output /home/backman/AndroidStudioProjects/Blok/Blok/build/dex/debug /home/backman/AndroidStudioProjects/Blok/Blok/build/classes/debug /home/backman/AndroidStudioProjects/Blok/Blok/build/dependency-cache/debug /home/backman/AndroidStudioProjects/Blok/Blok/build/pre-dexed/debug/core-bcdbe5f84dd399255abb34d14ce9def109db2534.jar Error Code: 2 Output: UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define Lcom/google/zxing/BarcodeFormat; at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594) at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552) at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533) at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170) at com.android.dx.merge.DexMerger.merge(DexMerger.java:188) at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439) at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287) at com.android.dx.command.dexer.Main.run(Main.java:230) at com.android.dx.command.dexer.Main.main(Main.java:199) at com.android.dx.command.Main.main(Main.java:103) […]

如何在不安装barcodescanner应用程序的情况下使用ZXing库

我一直在开发一个android应用程序扫描条形码和二维码,并将结果发送到其他应用程序(HTTP)。 我已经通过互联网阅读了大部分的文档,并在这里堆栈stream动,并得到它的工作。 我可以在我的设备上运行独立的zxing android应用程序,也可以运行我自己的单独的android应用程序来使用Zxing意图扫描条形码。 但是,即使在这里和互联网上的一些博客读了这么多的问题,我不能得到我的严格要求。 我想实现以下的事情。 1.我不想在我的设备上安装一个单独的条形码扫描器应用程序来让我自己的应用程序工作(扫描条形码)。 2.我用下面的代码 Intent intent = new Intent("com.google.zxing.client.android.SCAN"); startActivityForResult(intent, 0); 当我运行我的应用程序时,它会询问“select应用程序来完成此操作”,并显示“Google”和“Google Goggles”,并打开Goog​​le页面默认摄像头并扫描条形码。 我希望CaptureActivtiy默认捕获页面(不是Google的)来扫描条形码。 3.我尝试在我自己的应用程序中使用ZXing作为库,但它不起作用。 你能告诉我哪里错了,完成这个工作吗?

如何在Android中添加徽标到QR码

我在中心看到了几个带有公司标识的QR码。 是否有可能在Android中生成任何徽标的QR码? 如果可能的话,请好好解释一下这样做的方法。 目前我正在使用Zxing生成QR码。