We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
正好有二维码扫描的需求,所以把相关第三方库的学习放到前面来学习了
翻了一圈似乎提到最多的是zxing,跑到github地址上,一下27.5K,最近一次发布是2020.9.30,主线版本还保持活跃。嗯,就是你了。
这zxing的官档实在是看不出啥东西。网上资料又有点偏老。就着这几篇日志做梯子一步步完成的
下载源码 从zxing Release或者mainline下载源码解压。 关键文件夹android,android-core,android-integration
导入项目 file->new->import Module ,选择android文件夹,导入model命名为zxing,当然你可以自己起名 android-core,android-integration怎么办?不要急,根据他的namespace文件夹规则,自己手工补充添加到对应package中
模块化改造
2.AndroidManifest.xml修改 去除application所有的属性 去掉CaptureActivity的主入口属性
3 Build再次报错,接下来让IDE帮我们改代码
4 有一处代码IDE改不了
HistoryItemAdapter(Context activity) { //super(activity,R.layout.history_list_item, new ArrayList<>() ); super(activity, R.layout.history_list_item,new ArrayList<HistoryItem>() ); this.activity = activity; }
需要明确定义类型HistoryItem,可能编译的sdk版本差异,不深究了 编译通过代表成功了
增加引用 implementation project(path: ':zxing')
发起二维码请求
this.findViewById(R.id.button).setOnClickListener( v -> { IntentIntegrator integrator = new IntentIntegrator(this); integrator.setSingleTargetApplication( this.getPackageName() ); integrator.initiateScan(IntentIntegrator.QR_CODE_TYPES,-1); } );
setSingleTargetApplication是为了指定二维码搜索packageName,否则会跳出下载app弹框
@Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data); if (scanResult != null) { // handle scan result Toast.makeText(this, scanResult.toString(), Toast.LENGTH_SHORT).show(); } }
最后,一点要打开CAMERA的权限,zxing不会检查权限,会有异常 整个过程还算顺利,没有碰到多少幺蛾子。
不算完美,但是基本完成了一个简易的扫描二维码的简易Demo程序。 用到一些知识点,还需要进一步巩固
The text was updated successfully, but these errors were encountered:
No branches or pull requests
正好有二维码扫描的需求,所以把相关第三方库的学习放到前面来学习了
二维码库的确认
翻了一圈似乎提到最多的是zxing,跑到github地址上,一下27.5K,最近一次发布是2020.9.30,主线版本还保持活跃。嗯,就是你了。
引用资料
这zxing的官档实在是看不出啥东西。网上资料又有点偏老。就着这几篇日志做梯子一步步完成的
取长补短一下吧
操作步骤
下载源码
从zxing Release或者mainline下载源码解压。
关键文件夹android,android-core,android-integration
导入项目
file->new->import Module ,选择android文件夹,导入model命名为zxing,当然你可以自己起名
android-core,android-integration怎么办?不要急,根据他的namespace文件夹规则,自己手工补充添加到对应package中
模块化改造
2.AndroidManifest.xml修改
去除application所有的属性
去掉CaptureActivity的主入口属性
3 Build再次报错,接下来让IDE帮我们改代码
4 有一处代码IDE改不了
需要明确定义类型HistoryItem,可能编译的sdk版本差异,不深究了
编译通过代表成功了
增加引用
implementation project(path: ':zxing')
发起二维码请求
setSingleTargetApplication是为了指定二维码搜索packageName,否则会跳出下载app弹框
最后,一点要打开CAMERA的权限,zxing不会检查权限,会有异常
整个过程还算顺利,没有碰到多少幺蛾子。
总结
不算完美,但是基本完成了一个简易的扫描二维码的简易Demo程序。
用到一些知识点,还需要进一步巩固
概念
获取 activity 的结果
偷懒了,没有用官档的教科书式用法。后面改进
源码仓库地址QRDemo
The text was updated successfully, but these errors were encountered: