原文地址:

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. JAVA解析XML的四种方式

    java解析xml文件四种方式 1.介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这 ...

  2. 详解null

    前言 在java中初始化的时候经常用到null,也经常会碰到空指针异常(NullPointerException),由于碰到的频率比较高,我认为有必要进行一下了解,揭开它的神秘面纱. 一.null是代 ...

  3. 内存管理算法--Buddy伙伴算法

    Buddy算法的优缺点: 1)尽管伙伴内存算法在内存碎片问题上已经做的相当出色,但是该算法中,一个很小的块往往会阻碍一个大块的合并,一个系统中,对内存块的分配,大小是随机的,一片内存中仅一个小的内存块 ...

  4. c# Aes加解密和对象序列化

    aes加解密 public class AesCryptto { private string key = "hjyf57468jhmuist"; private string i ...

  5. struts2使用struts2-bootstrap-plugin插件

    1.下载插件 http://code.google.com/p/struts2-bootstrap/ 2.添加maven依赖 <dependency> <groupId>com ...

  6. V9任何页面GET调用内容分页的说明

    如标题,很多人想要在网站首页或其他的页面实现分页效果,说明如下: 一般特殊页面实现分页是通过GET语句的(论坛很多牛人用修改PHPCMS系统函数来实现,个人不推荐,因为你改了系统文件,不利于官方下一步 ...

  7. Spark Streaming揭秘 Day4-事务一致性(Exactly one)

    Spark Streaming揭秘 Day4 事务一致性Exactly one 引子 对于业务处理系统,事务的一致性非常的关键,事务一致性(Exactly one),简单来说,就是输入数据一定会被处理 ...

  8. RDD操作

    RDD操作 1.对一个数据为{1,2,3,3}的RDD进行基本的RDD转化操作 函数名 目的 示例 结果 map() 函数应用于RDD中的每个元素 rdd.map(x=>x+1) {2,3,4, ...

  9. Intel Edison的那些事:修改Edison的HTTP服务的页面

    Intel Edison配置好之后,按住PWR键2-7秒(4秒恰到好处),就可以进入AP热点模式(此时,Arduino扩展板上的灯不停闪烁),可以将笔记本接入Edison的热点,然后在浏览器中访问“h ...

  10. android include中的控件调用

    项目中经常会有一些布局是重用的,但是如何来更好的利用这些布局中的控件 转: http://zhidao.baidu.com/link?url=GU93U8Wu31dfp7mKEx52hMJkxjFLC ...