我想使用Zxing创建一个新的QR码阅读器。
我下载了以下内容: Eclipse SDK经典版:3.7.0; Android SDK(带有SDK工具rev12和所有SDK平台、API和示例); Eclipse中的ADT插件(我可以在列表中看到所有API目标:1.5-3.2和Google API); Zxing 1.7。
我使用的操作系统是Windows 7 32位。
我的环境变量是什么?
ANT_HOME, at (...)\apache-ant-1.8.2
JAVA_HOME, at (...)\jdk1.7.0
PATH, at (...)\jdk1.7.0\bin
我做了什么。
将Zxing 1.7提取到zxing文件夹中,使用cmd成功构建了core.jar(在(...)\zxing键入“ant -f core/build.xml”); 使用SDK Manager创建了两个Android虚拟机(Android 1.5和Android 2.1); 在Eclipse属性中设置了SDK位置(C:\PROGRA~1\Android\android-sdk)。 (如果我漏掉了什么,请原谅) 创建了一个新的Android项目,选择“从现有源代码创建项目”,使用文件夹(...)\zxing\android。并选择Android 2.1-update1版本。
在此项目属性中,“Java Build Path”->“Libraries”->“添加外部JAR”中添加了文件core.jar,在(...)\zxing\core中。
最终,我有以下src:
`com.google.zxing.client.android
com.google.zxing.client.android.book
com.google.zxing.client.android.camera
com.google.zxing.client.android.encode
com.google.zxing.client.android.history
com.google.zxing.client.android.result
com.google.zxing.client.android.result.supplement
com.google.zxing.client.android.share
com.google.zxing.client.android.wifi`
只有 *.android.camera 看起来是完全工作的;
不过 AndroidManifest.xml 存在一些错误:
at
`<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.zxing.client.android"
android:versionName="3.61 beta 1"
android:versionCode="71"
android:installLocation="auto">`
在安卓应用程序中,未找到属性“installLocation”的资源标识符。
位置:
`<supports-screens android:xlargeScreens="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true"/>`
在Android包中未找到属性'xlargeScreen'的资源标识符,因此我无法构建该项目。我该怎么办?似乎我错误地安装了一些组件(可能是Android SDK)。有什么提示吗?
需要关于其他内容的帮助。
如果我成功编译该项目,如何调用扫描仪?
`Bitmap bMap = BitmapFactory.decodeStream(new FileInputStream(file));
LuminanceSource source = new RGBLuminanceSource(bMap);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(
source));
Reader reader = new MultiFormatReader();
Result result = reader.decode(bitmap);`
如何输出文件?例如,我想处理QR码中包含的信息。除了代码,还有哪些文件类型可以输出?
如何将this转换为库?
如何导入类?我需要在AndroidManifest.xml中包含它们吗?
不理解这个:
在您的应用程序的Eclipse构建路径中添加zxing-core项目的引用,以便它不会被JVM编译。
我已经找到了通过Intent输出文件的其他方法。但是我无法让它起作用,因为我需要下载和安装一些文件。它们是什么?