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应用 ...
随机推荐
- PHP中常量
PHP中常量 常量就是一种特殊的变量,PHP中的常量值一旦定义,在程序运行过程中不可更改,常量本身也不允许删除. 程序是用于解决现实问题,由两部分组成:代码,数据 常量的定义: 语法1: define ...
- uva439 - Knight Moves(BFS求最短路)
题意:8*8国际象棋棋盘,求马从起点到终点的最少步数. 编写时犯的错误:1.结构体内没构造.2.bfs函数里返回条件误写成起点.3.主函数里取行标时未注意书中的图. #include<iostr ...
- d3 之deal with data
之前说慢慢写有关D3的笔记,结果做完那个拓扑图就没写了,今天发现关于d3的用法有点遗忘.感觉有回顾一遍的必要. 之前的序对D3有一个简单的介绍,下面就做一些细节的东西.主要是贴代码,顺带注释和效果图. ...
- PDF编辑、删除、替换某页面或文字
在工作中,我们常常会用到PDF,当然尤其是会计,我虽然是程序员,但是“小老鼠”是会计,前几天,突然问我,怎么样将PDF中的某个页面替换掉,也就是删掉某页然后再从另外一个地方找一页补上来: 还需要改变这 ...
- simple_factory
#include <stdlib.h> #include <iostream> using namespace std; class Product { public: vir ...
- 锋利的qjuey-ajax
jquery 中的ajax load方法主要获取web服务器上静态数据 1 load方法载入HTML文档 load(url [,data] [,callback]) $(function(){ $ ...
- 对.Net WebSocket 和Socket的原理的思考
今早上班路上接到了一个朋友的微信信息,问我对WebSocket 是否熟悉,一楞,印象之中没有用过这个类....来到公司后,得空问了一下度娘,原来这是一个随着HTML5推出的一种新协议,意义在于能实现浏 ...
- net发布mvc项目
1.复制 Web 文件夹 2.复制 DLL 文件C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies C ...
- 关于分区技术的索引 index
关于分区技术---索引 Index 一. 分区索引分类: 本地前缀分区索引(local prefixedpartitioned index) 全局分区索引(global partitionedin ...
- PHP webserver 之 soap non-wsdl
non-wsdl 顾名思义就是不使用wsdl文件进行的webserver服务 事实上个人觉得用wsdl模式还不如使用non-wsdl模式,wsdl模式稍加麻烦! 1.网站运行环境下开启soap模块(p ...







