Android中不能解析GIS类的XML文件或不能引入GIS类问题


在使用ArcGIS forAndroid1.1版本开发过程中,时常会发生无法导入API提供的类或不能解析GIS的XML文件的相关问题,这是由于的ArcGIS提供的jar包被persisted container,这时,在工程中将无法正常使用API中的相关GIS类。

运行时的错误信息:

Could not find class 'com.esri.android.map.MapView', referenced from method com.esri.arcgis.android.samples.querytask.AttributeQuery.onCreate

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.esri.arcgis.android.samples.attributequery/com.esri.arcgis.android.samples.querytask.AttributeQuery}: android.view.InflateException: Binary XML file line #15: Error inflating class com.esri.android.map.MapView

我们可以通过以下方式来解决这类问题: 

1、  在eclipse中选择我们的项目右键项目,在弹出框中选择属性如图:


2、  在属性框中选择Javabuild Path选择如图:


在右边的Order andExport选项卡中我们可以看到ArcGIS的jar被Persisted container,当引入的jar包在这种状态时,包里的类是无法在项目中正常使用的。

3、  将ArcGIS的jar包的选项去掉,点击ok按钮,然后我们再次执行上面的步骤1和步骤2,在弹出的窗体中我们可以看到ArcGIS的jar包正常了,如图:


4、  最后我们还要清理一下项目,点击菜单的Project---》Clean..如图:

在弹出框中选择我们有问题的项目进行清理,如图:


5、  到此,我们的项目已经可以正常运行了,而问题还没有真正解决,当我们重启eclipse后发现我们arcgis的jar包又会变成Persisted container状态,如何才能正常使用呢,我们可以将arcgis的相关的三个jar(ArcGIS_Android.jar、jackson-core-lgpl-1.9.5.jar和jackson-mapper-lgpl-1.9.5.jar)文件从eclipse的目录中考出,而后删除项目中的引用,将我们考出来的jar再引入到项目当中即可,重启eclipse测试,问题解决。

更多Android相关信息见Android 专题页面 http://www.bkjia.com/topicnews.aspx?tid=11

相关内容