Android Studio 使用zxing二维码处理
2016-04-13 16:57
435 查看
zxing是github上一个二维码处理开源项目,我们使用这个库来处理二维码
如果你使用的是Android Studio,可以参考本文进行配置。并附一个小例子。
首先在build.gradle(Moudle:app)中添加下列依赖:
然后在AndroidManifest.xml文件<manifest>标签内部,<application>标签前面加入以下代码,申请权限
这样就行了!
接下来是用法:
在按钮的onClick事件中添加代码,点击后会跳转到扫描界面:
变量result就是二维码解码后的信息。
请用真机调试。
另外,zxing中设置的是扫描时横屏。通常我们不希望横屏,网上一般的修改方法是直接修改源代码。但是现在我们用的是gradle添加依赖的方式,所以我现在暂时没有想到办法。如果有知道的盆友望不吝赐教!
如果你使用的是Android Studio,可以参考本文进行配置。并附一个小例子。
首先在build.gradle(Moudle:app)中添加下列依赖:
repositories { mavenCentral() maven { url "http://dl.bintray.com/journeyapps/maven" } }
dependencies { // Supports Android 4.0.3 and later (API level 15) compile 'com.journeyapps:zxing-android-embedded:2.0.1@aar' // Supports Android 2.1 and later (API level 7), but not optimal for later Android versions. // If you only plan on supporting Android 4.0.3 and up, you don't need to include this. compile 'com.journeyapps:zxing-android-legacy:2.0.1@aar' // Convenience library to launch the scanning and encoding Activities. // It automatically picks the best scanning library from the above two, depending on the // Android version and what is available. compile 'com.journeyapps:zxing-android-integration:2.0.1@aar' // Version 3.0.x of zxing core contains some code that is not compatible on Android 2.2 and earlier. // This mostly affects encoding, but you should test if you plan to support these versions. // Older versions e.g. 2.2 may also work if you need support for older Android versions. compile 'com.google.zxing:core:3.0.1' }
然后在AndroidManifest.xml文件<manifest>标签内部,<application>标签前面加入以下代码,申请权限
<uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.INTERNET"/>
这样就行了!
接下来是用法:
在按钮的onClick事件中添加代码,点击后会跳转到扫描界面:
@Override public void onClick(View v) { //扫描操作 IntentIntegrator integrator = new IntentIntegrator(MainActivity.this); integrator.initiateScan(); }然后重写下列函数,用来处理解码后的信息:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data); if (scanResult != null) { String result = scanResult.getContents(); Log.d("code", result); Toast.makeText(this,result, Toast.LENGTH_LONG).show(); } }
变量result就是二维码解码后的信息。
请用真机调试。
另外,zxing中设置的是扫描时横屏。通常我们不希望横屏,网上一般的修改方法是直接修改源代码。但是现在我们用的是gradle添加依赖的方式,所以我现在暂时没有想到办法。如果有知道的盆友望不吝赐教!
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories