ArcGIS Runtime for Android开发教程V2.0(3)基础篇---Hello World Map
原文地址:
ArcGIS Runtime for Android开发教程V2.0(3)基础篇---Hello World Map - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/arcgis_mobile/article/details/8124005
通过上面章节,我们已经了解如何配置一个ArcGIS Runtime for Android开发环境,下面我们将介绍如何使用Eclipse创建一个ArcGIS移动项目Hello World Map,并且分析项目的相关结构。
1、 创建项目
打开我们已经配置好的Eclipse工具,在我们的工作区右键创建ArcGIS移动项目,如图:

右键工作区-->New-->Other…,点击Other…选项后在弹出的窗体中选中ArcGIS Project for Android选项,如图所示:

在上面的窗体中点击Next按钮跳转到创建项目界面如图:

在Project Name输入框中输入我们要创建的项目名称,如:HelloWorldMap;输入完项目名称点击Next按钮跳转到应用设置界面如图:

我们需要修改Package Name输入框的包结构名,如:com.esri.demo;修改完点击Finish按钮,此时我们的项目已经创建完毕了。
2 、 项目结构

根据上图,我们可以发现ArcGIS项目与普通的Android项目基本相同,下面我们来整体介绍一下ArcGIS的项目结构:
这个不用多说,大家都应该知道,这是存放java源码的目录,目录里的文件是根据package结构管理的。
/gen也是一个源代码目录,但里面的Java文件是由android平台自动生成的,而这个目录下的R.java类文件是由Android Framework负责管理的,不需我们手动操作,在gen中你可能会发现有一个BuildConfig.java文件,在早先的版本中是没有这个文件,他是Android ADT更新后来添加,它的作用是检查你的代码,不断运行调试。
这里是项目中所需要的java函数库,比普通的Android项目多了ArcGIS的函数库。
我们可以将所需的文件放在assets目录中进行存储,方便我们访问。/assets中的资源文件与/res中的功能很相似,都是存放资源文件的目录,但/assets中的资源不会像/res中的资源那样为每个资源文件生成ID标识。
对于/bin我们并不陌生,这个目录是存放编译后生成的应用程序,如:HelloWorldMap.apk就是我们编译生成的应用程序安装文件。
/libs目录下存放的是一些项目所需的动态链接库,对于ArcGIS项目中它默认存放了两个GIS所需的动态链接库,当然我们也可以添加一些我们所需的其他动态链接库。
/res目录存放了我们所需的大部分的资源,默认目录下有三类资源:drawable目录主要存放一些图片、layout目录主要放一些布局文件、values目录主要存放一些项目中所需的参数值文件;当然除了这些还有一些其他分类,如anim和xml目录等等,在此不再一一介绍。
这个文件我们应该不会陌生,这个xml文件是我们项目的一个系统配置文件,它包含了activity(行为)、view(视图)、service(服务)之类的信息,以及运行这个android应用程序需要的用户权限列表,同时也详细描述了android应用的项目结构。
3、 编码实现
介绍完ArcGIS的项目结构,我们来分析一下代码区,看看如何才可以让我们正常显示地图。
打开HelloWorldMapActivity.java文件,简单修改一下代码,代码如下:
[java] view plaincopy
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- mMapView = new MapView(this);//实例化MapView对象
- mMapView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
- ArcGISTiledMapServiceLayer tileLayer = new ArcGISTiledMapServiceLayer("http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer");//实例化图层
- mMapView.addLayer(tileLayer);//添加图层
- setContentView(mMapView);
- }
通过上面代码我们可以了解到,要想显示地图,首先我们必须创建一个MapView对象,然后创建一个Layer图层对象,并将其添加到Mapview中进行显示。在本示例中添加的一个ArcGISTiledMapServiceLayer图层,显示的效果,如下图所示:

ArcGIS Runtime for Android开发教程V2.0(3)基础篇---Hello World Map的更多相关文章
- ArcGIS Runtime for Android开发教程V2.0(4)基础篇---MapView
原文地址: ArcGIS Runtime for Android开发教程V2.0(4)基础篇---MapView - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NET http:/ ...
- ArcGIS Runtime for Android开发教程V2.0(2)开发环境配置
原文地址: ArcGIS Runtime for Android开发教程V2.0(2)开发环境配置 - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NET http://blog.c ...
- ArcGIS Runtime for Android开发教程V2.0(1)基本概念
原文地址: ArcGIS Runtime for Android开发教程V2.0(1)基本概念 - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NET http://blog.csd ...
- ArcGIS Runtime for Android开发教程V2.0(8)基础篇-----地图事件
转自:http://blog.csdn.net/arcgis_mobile/article/details/8263283 ArcGIS Runtime sdk for Android为我们提供了丰富 ...
- 【10.2.3】ArcGIS Runtime for Android搭建开发环境过程中问题具体解释
一.Visual Studio Ultimate2012安装过程问题 1.问题描写叙述 安装完毕后,您将看到一条消息,指示安装程序已完毕.但并非全部的功能具有已正确安装.以及下面警告消息: Micro ...
- ArcGIS Runtime for Android 使用异步GP服务绘制等值线
关于基于Android上ArcGIS Server GP服务的调用,已经有前辈给出了很好的例子: http://blog.csdn.net/esrichinacd/article/details/92 ...
- 《ArcGIS Engine+C#实例开发教程》第三讲 MapControl与PageLayoutControl同步
原文:<ArcGIS Engine+C#实例开发教程>第三讲 MapControl与PageLayoutControl同步 摘要:在ArcMap中,能够很方面地进行MapView和Layo ...
- (转)ArcGIS Runtime for Android 使用异步GP服务绘制等值线
关于基于Android上ArcGIS Server GP服务的调用,已经有前辈给出了很好的例子: http://blog.csdn.net/esrichinacd/article/details/92 ...
- Android开发教程大全介绍
Android是由谷歌在2007年推出的一个开放系统平台,主要针对移动设备市场,目前版本为Android 4.0.Android基于Linux,开发者可以使用Java或C/C++开发Android应用 ...
随机推荐
- how to Enable Client Integration
i got a problem,the problem is list cant use export to excel button in sharepoint 2010. I found my a ...
- apache重写字段详细说明
用Apache虚拟主机的朋友很多,apache提供的.htaccess模块可以为每个虚拟主机设定rewrite规则,这对网站SEO优化相当有用,同时也改善了用户体验.国内的虚拟机一般不提供.htacc ...
- offset() position() scrollTop() scrollLeft()
(1)offset:获取当前元素相对于文档的高度.只对可见元素有效. 不管该元素如何定位,也不管其父元素如何定位,都是获取的该元素相对于当前视口的偏移 (2) position:获取元素相对于最近的一 ...
- Python Generators vs Iterators
http://stackoverflow.com/questions/2776829/difference-between-python-generators-vs-iterators iterato ...
- php header函数要点
发布:snowfly 来源:网络 [大 中 小] 相信很多人写程序时,使用 header(location) 进行跳转往往不记得写 exit() 语句,这种做法存在严重风险. 从浏览器来看 ...
- Delphi-仿vb里的IIF函数
//Delphi 函数-IIF // 实例-ChkValue := IIF(TCheckBox(tsPzJz.Controls[i]).Checked, '); function IIF(lExp: ...
- proguardgui.bat来混淆已有的jar包
1.U:\android-sdk\tools\proguard\bin\找到 proguardgui.bat,双击就可以弹出一个混淆的界面 2.加入不要混淆的,比如我们用的系统的,还有别人的jar 3 ...
- asp.net 运行时, 报控件不存在
Asp.net 运行时,报控件不存在,但系统中确实加入了控件z, 但是生成网站的时候,报控件不存在,输入代码的时候,this.edtxx.Text 确实可以输入 原因: 系统修改的时候,作了一个备份, ...
- mysql 的 存储结构(储存引擎)
1 MyISAM:这种引擎是mysql最早提供的.这种引擎又可以分为静态MyISAM.动态MyISAM 和压缩MyISAM三种: 静态MyISAM:如果数据表中的各数据列的长度都是预先固定好的, ...
- EXTJS 4.2 资料 控件之checkboxgroup的用法(静态数据)
1.页面 1.1点击‘横幅’,需要动态显示隐藏文本框 { xtype: 'fieldset', title: '指定附加图&横幅设置', collapsible: true, items: [ ...







