2012-05-25 117 views
1

我想在我的应用程序中实现QR代码扫描器,它将支持我自己的文本格式。不是联系人,电话号码或类似的东西。就像这样一些信息:Android - 创建QR代码扫描器

Format:"ID:1345986;CONFIRM:1839584;NAME:JOE BAHAMA;"etc... 

现在,我已经看过了斑马线源代码,我不是很明白......我需要一种方法来做到这一点就像提到了。

有什么建议吗?

+0

您不必完全理解zxing源代码才能使用它。有一个简单的方法可以通过intent来实现zxing代码扫描器,请查看它,因为你的问题并不符合SO标准的优点(因此可能是某人的劣势) –

+1

在接受的答案中有一个例子这个问题:[android-how-to-read-qr-code-in-my-application](http://stackoverflow.com/questions/8831050/android-how-to-read-qr-code-in-my - 应用程序) – Chilledrat

+0

但我希望它能够在我的应用程序中实现,并且我不希望我的用户必须从市场上下载它。 – arielschon12

回答

3

从根本上QR代码只是编码字符的字符串,如解释in the zxing wiki(例如,前缀“电话:”指示,这是一个电话号码的读者和读者应该采取适当的到电话的动作数据)。

所以你真正需要做的就是使用ZXing将QR码解码为字符串并进行解析。

+0

但是我如何使用ZXing INSIDE我的应用程序,所以用户不必下载它? – arielschon12

+0

使用@ Chilledrat的解决方案,你应该没问题。 – Kai

1

有一个例子在这里Integrate zxing barcode scanner into your Android app natively using Eclipse *,它展示了如何在项目中包含斑马线.jar,但它与一个值得注意的问题开始:

肖恩·欧文的开发商斑马线一个已发布对此博客的评论警告说将ZXing整合到您自己的应用程序中的缺陷;这样做只是为了避免让用户从市场上进行额外的安装步骤,这不是一个好的理由。我完全同意这一点。如他的评论中所述,使用基于意图的方法有很多优点。我的动机是企业应用程序无法访问Android市场,并且涉及我的客户在能够分发给其商业客户之前在数千个设备上手动安装zxing。

所以要清楚,除非绝对必要,否则不要使用此方法,并且如果必须 - 确保覆盖您的意图过滤器,以便其他想要使用zxing的应用程序不会最终调用您的修改版。另外,如果zxing已经安装,那么你应该默认使用它,而不是你的修改版本。

*通过谷歌搜索“添加zxing到android应用程序”并点击第一个链接。