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测试,问题解决。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: GDB是在GIS使用的一种数据格式,它是由Esri公司开发的。GDB不能使用数字开头的原因是因为这种命名方式会被认为是无效的。这是因为在Windows操作系统,文件名不能包含数字开头的数字。 解决办法是,在文件名加入一个字母或者其他字符来代替数字开头。例如,将文件名改为"a123"或者"file123"之的名称。这样就可以在GIS正常使用GDB了。 ### 回答2: 在GIS,GDB(Geodatabase)是一种用于存储空间和属性数据的特殊格式。GDB的数据表结构包含了用于描述和管理数据的元数据,以及用于存储空间几何特征和属性信息的表格。然而,GDB的设计限制了数据表的名称必须以字母开头,而不能以数据开头。 这个限制主要是因为在计算机科学,数据表和字段名称需要遵守一些规则和命名约定。用数字或其他非字母字符开头的数据表名称可能引起解析和识别问题,导致数据管理和查询操作出现错误。因此,GDB规定了数据表名称必须以字母开头,以确保数据的正常处理和操作。 针对这个问题,用户可以通过以下几种方法来绕过这一限制或解决这个问题: 1. 重命名数据表:将数据表名称的数字或其他非字母字符替换为合法的字母字符,以满足GDB的命名规则。这可以通过GIS软件的工具或脚本来实现。 2. 使用别名:GDB支持别名(Alias)功能,用户可以为数据表设置别名,这样在使用数据时可以使用别名代替原始表名进行操作和查询。通过设置合法的别名,用户可以绕过数据表名称的限制。 3. 导出为其他格式:如果在GDB无法直接处理以数字或其他非字母字符开头的数据表,可以考虑将数据表导出为其他格式,比如shapefile或CSV文件等,这些格式对数据表名称的限制较少,可以更灵活地处理数据。 总之,GDB限制数据表名称不能以数字或其他非字母字符开头是为了保证数据的正常处理,但用户可以通过重命名、使用别名或导出为其他格式来解决这个问题。 ### 回答3: 在GIS(地理信息系统),GDB(地理数据库)不能使用数据开头是由于GDB的数据命名规则限制所导致的。GDB使用一种称为"要素"的数据库存储方式来存储和管理地理数据。要素是由一个名称和一个扩展名(.gdb)组成的,但不允许以数字开头命名。这是因为数字开头的命名可能与要素的其他属性或数据库字段相冲突,造成数据管理和查询的混淆。 然而,尽管GDB不允许以数字开头命名,我们仍然可以采取一些解决办法。一个常见的方法是在数据名称前添加一个字母作为前缀,以此解决命名冲突。例如,如果要命名一个以数字开头的数据为"1234",可以通过在前面添加字母前缀,例如"A1234",来避免冲突。 此外,还可以使用其他型的数据存储格式来解决这个问题。例如,在文件型数据库(如Shapefile),是允许以数字开头命名的。因此,可以选择将数据以其他数据格式导出或转换成Shapefile等格式,然后在GDB使用。 总的来说,GDB不能使用数据开头是为了避免与要素的其他属性或数据库字段冲突。解决办法包括在数据名称前添加字母前缀,或将数据转换成其他格式再导入GDB。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值