Android实现条形码与二维码扫描
2024-02-16 03:01:29发布 浏览505次 信息编号:97549
友情提醒:凡是以各种理由向你收取费用,均有骗子嫌疑,请提高警惕,不要轻易支付。
Android实现条形码与二维码扫描
目前有一种二维码在移动终端上使用,是一种常用的与用户交互的方式。 它通常用于社交网络、支付和电子商务应用程序。 本文介绍条形码和二维码扫描的实现。
在本教程中,我们将使用 ZXing 库使我们的应用程序能够扫描条形码和二维码。
为什么选择ZXing
实现条码、二维码扫描功能,常用的方法有:使用Play和API。 使用图书馆。 使用ZXing库。
我们来仔细分析一下以上三种方法各自的优缺点。 第一个是使用 Play 和 API。 不合适是因为并非所有用户设备都安装了 Play,尤其是在中国。 第二种方法是使用。 也是不适合的。 虽然导入很简单,识别也很快,但是UI的调整比较困难。 尤其是当UI非常复杂的时候,需要拉取整个项目的源码,自己定制。 现在只剩下ZXing了。 ZXing库是出品的,短期内应该不会停止维护。 许多应用程序和错误报告都是基于开发的。 使用ZXing,我们不必担心用户不安装Play,而是专注于自己开发和处理结果。
什么是ZXing
Zxing是一款条形码(一维码、二维码)解析工具,提供生成和解析二维码的方法。
设置项目以添加依赖项
在你的构建中。 文件(级别),添加ZXing核心库。
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
// 其他的库在这里...
compile 'com.google.zxing:core:3.3.0'
testCompile 'junit:junit:4.12'
}
复制
添加必要的权限
在您的 .xml 文件中,添加以下代码:
复制
导入必要的类和资源文件,将整个包复制到您的项目中。
注意:我已经简化了上面包中的代码。 如果您需要ZXing示例项目这部分的完整代码,请访问这里并下载相应的代码。 代码文件导入后,我们还需要导入以下资源文件: res//-布局文件.res//.xml-zxing ids的集合.res/raw/beep.ogg-将要播放的声音文件扫描成功后播放。 .res//...- 总共 3 个文件:.png、.9.png、.png。
让我们开始吧
现在我们从开始,期望得到相应的结果:
public class MainActivity extends AppCompatActivity { public final static int SCANNING_REQUEST_CODE = 1; private TextView textView; protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); textView = (TextView) findViewById(R.id.textView); textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, CaptureActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivityForResult(intent, SCANNING_REQUEST_CODE);
}
});
} @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case SCANNING_REQUEST_CODE:
if (resultCode == RESULT_OK) {
final Bundle bundle = data.getExtras();
Handler handler = new Handler(Looper.getMainLooper());
handler.post(new Runnable() {
@Override
public void run() {
textView.setText(bundle.getString("result"));
}
});
}
break;
default:
break;
}
}
}
复制
我们可以在()方法中得到相应的结果。 注意:如果您的应用程序的API级别为23或更高,请不要忘记调整运行时权限,因为我们的应用程序需要使用相机。
测试
现在我们可以测试应用是否成功运行。 访问生成您想要的二维码并享受测试的乐趣。 我们可以期待以下结果:
综上所述
在本教程中,我们使用ZXing库来实现条形码和二维码扫描。 在您自己的应用程序中,您可能需要进一步处理扫描结果,例如加载 URL 或从第三方数据源获取数据。 您可以访问项目主页下载所有源代码。 是一款基于MVP架构,使用.0、ZXing开发的快速查询App。
参考
ZXing - ZXing(“Zebra”)项目的官方主页。
提醒:请联系我时一定说明是从星空网上看到的!