4

已尝试使用 Eclipse IDE 与位于http://www.w3schools.com/webservices/tempconvert.asmx的 .NET Web 服务对话的控制台应用程序中的 KSOAP2 库。没问题,简单直接。将代码嵌入到一个简单的方法 test() 中。

当我希望一切都可以从 Android 应用程序中运行时,问题就开始了。

这是我所做的(以及问题)的摘要:

1.我在 Eclipse IDE 中使用 Android 2.3.1 SDK 生成了一个新的 Android 项目,并且我还创建了一个基于相同 SDK 的 Android 虚拟设备。启动虚拟设备时没有问题。工作得很好。

2.然后我在 AndroidManifest.xml 文件中添加了带有 android:name="android.permission.INTERNET" 的 uses-permission 标签。

3.之后,我添加了 KSOAP2 库,就像我在制作控制台应用程序时所做的那样。

4.现在我添加了之前测试和验证的方法 test(),包括正确的导入语句。一切看起来都很好。没有警告。

5.编译并启动项目,在第一行代码我得到了SoapObject 的类加载器失败,即“找不到”org.ksoap2.serialization.SoapObject。这行代码看起来像这样: SoapObject objSoapTest = new SoapObject("http://tempuri.org/", "FahrenheitToCelsius");

试图查看它是否可以检测到同一包中的其他类,因此我在上述代码之前添加了这行代码:PropertyInfo objPropertyInfo = new PropertyInfo();

遇到了同样的问题......“找不到”org.ksoap2.serialization.PropertyInfo。

这里有什么问题?尝试更改 Java Build Path 中的“Order and Export”,但没有结果。我需要把这个 KSOAP2 库放在我有 Android SDK 文件的地方吗?我是一个铁杆 C++ 程序员,所以我对 Eclipse IDE 等没有太多经验,所以我真的需要一些关于这个的建议。

除了上面提到的,我还创建了一个 Java Swing 应用程序,连接到 .net 网络服务完全没有问题。AVD 对某些库的访问是否有任何限制?我需要添加任何其他权限吗?

顺便说一句 1. 我已经测试了其他 Android 应用程序,连接到 Internet,在 ListView 中流式传输图片资源,它工作得很好。

顺便说一句 2. 我使用的是 Windows 7。

尽我所能!

4

3 回答 3

1

试试这个方法...

1. Right click on your project and go to Properties.
2. go to java build path..//which is on the 5th position on left side
3. go to Order and Export tab.
4. check(Tick Mark) on your selected jar file. and click ok.
5. Now, clean your project and Run. 
于 2012-12-27T06:34:15.343 回答
0

检查您是否包含了 jar:http: //developer.android.com/guide/appendix/faq/commontasks.html#addexternallibrary

于 2011-01-29T13:08:15.783 回答
0

我解决了这个问题,将 KSOAP2 .JAR 添加为外部并确保在 Order and Export 选项卡中检查了 .JAR

于 2012-09-26T18:47:22.623 回答