我想在我的安卓应用中集成ZXing API,但找不到合适的文档。
我想在我的安卓应用中集成ZXing API,但找不到合适的文档。
按照以下步骤操作:
1)在此处下载源代码:http://code.google.com/p/zxing/source/checkout
2)将源代码作为新项目导入Eclipse,并将项目的根目录设置为源代码中的 /android 文件夹。
3)确保还将 /core/src 下的所有内容复制到此项目中,因为导入步骤2中的源代码需要它们。
4)在Eclipse中将编译器设置为Java 1.6(右键单击项目,选择属性,选择Java编译器),否则你将会遇到关于 @Override 注释的某些错误。
5)按以下方式编辑 com.google.zxing.client.android.camera.open.GingerbreadOpenCameraInterface 类:
while (index < numCameras) {
Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
Camera.getCameraInfo(index, cameraInfo);
if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
break;
}
/*//Original code (gets the back camera. This is NOT what you want!)
if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_BACK) {
break;
}*/
index++;
}
5) 将此项目制作成一个库,可以按照以下链接进行简单描述:http://developer.android.com/tools/projects/projects-eclipse.html#SettingUpLibraryProject
6) 将该项目引用到您的实际项目中(右键单击实际项目,属性,Java构建路径,项目,添加)。
7) 完成!=)
希望有所帮助。
更新:
自从我发布这个答案以来,ZXing的常见问题解答已经更新,因此下面的内容已经不准确了:
你读过ZXing的常见问题解答吗?
此外,如果您可以连接前置摄像头,我认为这并非完全不可能。因此,我建议您查看Android文档中的相机部分:这里和这里。这个应用程序可以在只有前置摄像头的Android设备上使用吗,比如Nexus 7平板电脑?目前还不能。该应用程序需要相机。在Android中,只有后置摄像头被认为是“真正的”相机,因此只有前置摄像头的设备不兼容。此外,API对前置摄像头的支持出现在比应用程序当前要求的Android版本更晚的版本中。前置摄像头往往具有较低的CCD灵敏度和缺乏自动对焦功能,使其难以扫描。
然而,Barcode Scanner+支持只有前置摄像头的设备。