原文地址:

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

  1. @Override 
  2. public void onCreate(Bundle savedInstanceState) { 
  3. super.onCreate(savedInstanceState); 
  4.         mMapView = new MapView(this);//实例化MapView对象
  5.         mMapView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
  6.         ArcGISTiledMapServiceLayer tileLayer = new ArcGISTiledMapServiceLayer("http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer");//实例化图层
  7.         mMapView.addLayer(tileLayer);//添加图层
  8.         setContentView(mMapView); 
  9.     } 

通过上面代码我们可以了解到,要想显示地图,首先我们必须创建一个MapView对象,然后创建一个Layer图层对象,并将其添加到Mapview中进行显示。在本示例中添加的一个ArcGISTiledMapServiceLayer图层,显示的效果,如下图所示:

ArcGIS Runtime for Android开发教程V2.0(3)基础篇---Hello World Map的更多相关文章

  1. ArcGIS Runtime for Android开发教程V2.0(4)基础篇---MapView

    原文地址: ArcGIS Runtime for Android开发教程V2.0(4)基础篇---MapView - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NET http:/ ...

  2. ArcGIS Runtime for Android开发教程V2.0(2)开发环境配置

    原文地址: ArcGIS Runtime for Android开发教程V2.0(2)开发环境配置 - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NET http://blog.c ...

  3. ArcGIS Runtime for Android开发教程V2.0(1)基本概念

    原文地址: ArcGIS Runtime for Android开发教程V2.0(1)基本概念 - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NET http://blog.csd ...

  4. ArcGIS Runtime for Android开发教程V2.0(8)基础篇-----地图事件

    转自:http://blog.csdn.net/arcgis_mobile/article/details/8263283 ArcGIS Runtime sdk for Android为我们提供了丰富 ...

  5. 【10.2.3】ArcGIS Runtime for Android搭建开发环境过程中问题具体解释

    一.Visual Studio Ultimate2012安装过程问题 1.问题描写叙述 安装完毕后,您将看到一条消息,指示安装程序已完毕.但并非全部的功能具有已正确安装.以及下面警告消息: Micro ...

  6. ArcGIS Runtime for Android 使用异步GP服务绘制等值线

    关于基于Android上ArcGIS Server GP服务的调用,已经有前辈给出了很好的例子: http://blog.csdn.net/esrichinacd/article/details/92 ...

  7. 《ArcGIS Engine+C#实例开发教程》第三讲 MapControl与PageLayoutControl同步

    原文:<ArcGIS Engine+C#实例开发教程>第三讲 MapControl与PageLayoutControl同步 摘要:在ArcMap中,能够很方面地进行MapView和Layo ...

  8. (转)ArcGIS Runtime for Android 使用异步GP服务绘制等值线

    关于基于Android上ArcGIS Server GP服务的调用,已经有前辈给出了很好的例子: http://blog.csdn.net/esrichinacd/article/details/92 ...

  9. Android开发教程大全介绍

    Android是由谷歌在2007年推出的一个开放系统平台,主要针对移动设备市场,目前版本为Android 4.0.Android基于Linux,开发者可以使用Java或C/C++开发Android应用 ...

随机推荐

  1. PHP中常量

    PHP中常量 常量就是一种特殊的变量,PHP中的常量值一旦定义,在程序运行过程中不可更改,常量本身也不允许删除. 程序是用于解决现实问题,由两部分组成:代码,数据 常量的定义: 语法1: define ...

  2. uva439 - Knight Moves(BFS求最短路)

    题意:8*8国际象棋棋盘,求马从起点到终点的最少步数. 编写时犯的错误:1.结构体内没构造.2.bfs函数里返回条件误写成起点.3.主函数里取行标时未注意书中的图. #include<iostr ...

  3. d3 之deal with data

    之前说慢慢写有关D3的笔记,结果做完那个拓扑图就没写了,今天发现关于d3的用法有点遗忘.感觉有回顾一遍的必要. 之前的序对D3有一个简单的介绍,下面就做一些细节的东西.主要是贴代码,顺带注释和效果图. ...

  4. PDF编辑、删除、替换某页面或文字

    在工作中,我们常常会用到PDF,当然尤其是会计,我虽然是程序员,但是“小老鼠”是会计,前几天,突然问我,怎么样将PDF中的某个页面替换掉,也就是删掉某页然后再从另外一个地方找一页补上来: 还需要改变这 ...

  5. simple_factory

    #include <stdlib.h> #include <iostream> using namespace std; class Product { public: vir ...

  6. 锋利的qjuey-ajax

    jquery 中的ajax   load方法主要获取web服务器上静态数据 1 load方法载入HTML文档 load(url [,data] [,callback]) $(function(){ $ ...

  7. 对.Net WebSocket 和Socket的原理的思考

    今早上班路上接到了一个朋友的微信信息,问我对WebSocket 是否熟悉,一楞,印象之中没有用过这个类....来到公司后,得空问了一下度娘,原来这是一个随着HTML5推出的一种新协议,意义在于能实现浏 ...

  8. net发布mvc项目

    1.复制 Web 文件夹 2.复制 DLL 文件C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies C ...

  9. 关于分区技术的索引 index

    关于分区技术---索引 Index 一.   分区索引分类: 本地前缀分区索引(local prefixedpartitioned index) 全局分区索引(global partitionedin ...

  10. PHP webserver 之 soap non-wsdl

    non-wsdl 顾名思义就是不使用wsdl文件进行的webserver服务 事实上个人觉得用wsdl模式还不如使用non-wsdl模式,wsdl模式稍加麻烦! 1.网站运行环境下开启soap模块(p ...