Android QR扫描仪/阅读器应用程序独立而无需安装zxing应用程序 - 是否非法/合法 - 除了zxing之外的任何其他可用

Jat*_*tin 4 android qr-code

我已经研究了很多关于使用QR码扫描仪和阅读器创建我自己的Android应用程序,而无需在手机上安装Zxing应用程序.我在这里也经历了很多问题,我已经通过以下一个或所有链接阅读了它: -

http://jmanzano.me/integrating-zxing-in-our-own-android-app-barcodescanner/

将ZXing库直接集成到我的Android应用程序中

http://damianflannery.wordpress.com/2011/06/13/integrate-zxing-barcode-scanner-into-your-android-app-natively-using-eclipse/

这样做是合法的还是我们必须使用意图?除了zxing之外还有其他任何开源库吗?我可以使用他们的库集成到我的项目中.

Sea*_*wen 7

我是你所询问的大多数评论的作者和来源.只要您遵循Apache License 2.0的条款(请参阅此处的评论),您就可以出于任何目的使用项目受版权保护的作品.

我并不劝阻任何人重复使用代码(根据上述内容),甚至是一些来自Barcode Scanner的代码,因为它毕竟是开源的,并且已被作者赠送给社区.我强烈反对将项目完全复制到应用程序中.这有几个原因:

  • 人们通常会复制AndroidManifest.xml和声明.这使得克隆应用程序响应了Intent适用于条形码扫描仪应用程序的s.它给我们的应用程序和其他人带来了不便或破坏用户体验的不便.一点都不好.
  • 复制熟悉的项目用户界面会让人们认为他们正在使用条码扫描器.如果您的产品与另一个产品容易混淆,那么此处存在潜在的商标法律问题.开源许可证不授予商标权.
  • 您的应用程序问题可能会因此而作为项目错误报告给我们.开发人员要求这样做嵌入确实也要求在邮件列表上提供很多帮助.通过让其他人支持您的应用程序,这会损害整个社区.

进行此类复制的通常原因是:

  • 嵌入扫描是一种更好的用户体验.也许是这样,但是,您可以编写自己的扫描应用程序,或至少自己的UI.我不确定它是否也是更好的用户体验.例如,如果使用Intents,您的用户可以使用您无法访问的更好的专业应用程序进行扫描,例如Barcode Scanner +或Goggles.
  • 我的公司不会让我使用第三方应用程序.也许,但它只是在确定正在做出决定的其他人,而不是为其辩护.如果出于"安全"原因 - 这些同样适用于嵌入第三方代码.

这些原因倾向于归结为"它会减少我的钱." 我认为它们不会超过上述问题,当然也不会回答商标问题.我对这些模仿者没有什么同情,特别是在市场上看到如此多的克隆只是添加广告,或者在一种情况下是恶意软件.


Gra*_*ith 5

Zxing团队正确地指出,通过集成源代码将其集成到您的应用程序中并不是最好的代码。

参考:http : //damianflannery.wordpress.com/2011/06/13/integrate-zxing-barcode-scanner-into-your-android-app-natively-using-eclipse/

为什么?

这意味着每次为Zxing发布更新时,您都必须复制其更新的代码并将其包含在您的应用程序中,然后依次发布您自己的应用程序的更新。也不保证任何更新都将与您当前的模型兼容。

这样就使我们有了意图。参见http://code.google.com/p/zxing/wiki/ScanningViaIntent

Zxing在这方面做得很好。如果用户未安装Zxing(或相当奇怪的以Zxing运行的等效Google护目镜),则您必须包含一些额外的代码来优雅地处理这种情况。如果尚未安装Zxing,它将提示他们安装Zxing,如果已安装,则该应用程序将启动。

我个人喜欢这种方法,因为:

  • 用户可以立即访问新的Zxing应用更新,而无需依赖我。
  • 通过意图启动Zxing不会显示任何品牌-因此,任何具有品牌知名度问题的客户都应该感到满意。
  • 除了不必安装Zxing(如果尚未安装)以外,intent方法从用户的角度来看也完全相同,前提是假设您以全屏模式启动扫描仪(默认情况下)。

我并不是说整合是不好的,我不是说最好的方法。也就是说,我们发现了需要将扫描直接内置到应用程序中的情况。为此,需要对源代码进行一些小的修改(将一些switch语句更改为if / else)。

这样做是合法的还是我们必须使用意图?

它是开源的,因此您最终可以选择任何一种方式。但是,我希望以上经验可以阻止您将他们的代码与您的代码集成在一起。

该代码受Apache License V 2.0的约束,您可以在http://code.google.com/p/zxing/wiki/LicenseQuestions中阅读条件。