本文讲了Android studio 导入zxing的两种方法,仅供参考。

1.直接complie导入

1.1 在需要使用zxing进行二维码扫描的项目的build.gradle直接complie

    compile 'com.journeyapps:zxing-android-embedded:2.3.0@aar'    compile 'com.journeyapps:zxing-android-legacy:2.3.0@aar'    compile 'com.journeyapps:zxing-android-integration:2.3.0@aar'    compile 'com.google.zxing:core:3.2.0'
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

1.2 调用:

    IntentIntegrator integrator=new         IntentIntegrator(MainActivity.this);    integrator.initiateScan();
  • 1
  • 2
  • 1
  • 2

1.3 回调结果:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {        super.onActivityResult(requestCode, resultCode, data);        IntentResult scanResult =IntentIntegrator.parseActivityResult(requestCode,resultCode,data);        if (scanResult !=null){            String result=scanResult.getContents();            Toast.makeText(this,result,Toast.LENGTH_LONG).show();        }        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

到这里 就可以看到扫描二维码的界面和得到扫描结果了,但是这种直接compile的方法,不能改变扫描界面是横屏的情况。

2.将Module改成library,并修改成竖屏

2.1 github上下载好zxing源码。https://github.com/zxing/zxing 
将源码里的android项目导入 
 
在build.gradle修改 

在manifest里修改(CaptureActivity就是要调用的类) 

2.2 问题1 常量表达式错误 
在修改完build文件后,报了一个常量表达式错误的问题,发现是在各个switch语句那里,Alt+Enter 将switch case 语句改为 if else. 
原因:避免多个库之间出现资源冲突 (具体可以去查阅) 

问题2 Manifest问题 
因为我们是将一个Module直接改成library,所以要把相同的属性删掉,类似 android:icon,andoid:label,IntentFileter等都要删除。 
2.3 在自己的项目中引用

compile project(':android')
  • 1
  • 1

扫描界面的各个view都可以在CaptureActivity中修改。 

调用结果 

心得:这几天为了弄这个,真是翻遍墙里墙外,每天都处于煎熬中,有时候真想有个大神指导就好了,分分钟就能解决这些问题。 
好吧,还是得靠自己,加油。

更多相关文章

  1. Android(安卓)性能优化之:避免在Android上过多使用enum
  2. 如何从apk中得到version code
  3. Settings 界面修改
  4. 更新UI时遇到:Only the original thread that created a view hie
  5. android bluetooth----bluetoothClass.Service
  6. android用户界面之GridView教程实例汇总
  7. Android中横竖屏切换时Activity的生命周期
  8. Android(安卓)studio SVN提交报错问题:svn: E155010: 'D:\XXX'
  9. Android(安卓)更改键盘Enter键文字

随机推荐

  1. Android: HttpClient与Webview共享cookie
  2. QtAndroid详解(4):JNI调用Android系统功能
  3. Android应用无线测试要点
  4. 将android Market缓存转移到SD卡的小程序
  5. Android(安卓)LruCache内存缓存图片
  6. Android 缓存策略
  7. android SDK 环境搭建 离线
  8. Android中如何自己定义吐司(Toast)
  9. 使用Android(安卓)Ant在编译时混淆
  10. Android子线程更新View的探索