安卓开发中的Zxing: Eclipse

5
这是我想做的事情。
我想使用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输出文件的其他方法。但是我无法让它起作用,因为我需要下载和安装一些文件。它们是什么?


请查看我在如何在Android应用程序中使用ZXing方面的详细回答。 - Alexander Farber
1个回答

2
Android 2.1不支持xLargeScreens属性(我想它是2.2+)。请参见此问题以获取更多信息:https://dev59.com/wGw05IYBdhLWcg3w3VeX
对于installLocation属性,您必须使用2.2及以上版本。请参见此链接:http://developer.android.com/guide/appendix/install-location.html
从API级别8(2.2)开始,您可以允许应用程序安装在外部存储器上(例如,设备的SD卡)。这是一个可选功能,您可以使用android:installLocation清单属性为应用程序声明。如果您不声明此属性,则您的应用程序将仅安装在内部存储器上,无法移动到外部存储器。
此外,请将您的问题分成不同的帖子。您首先需要使项目运行才能问:
“如何调用扫描仪?”
“如何输出文件?”
“我还可以输出哪些其他类型的文件?”
“如何将其转换为库?”
“如何导入类?”
“我已经找到了通过Intent输出文件的其他方法。但是由于我需要下载和安装一些文件,所以我无法使其工作。它们是什么?”
谷歌是你的朋友,我的朋友。在我上过的所有大学课程中,我认为谷歌教给了我最多的东西 :)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接