原文地址:

ArcGIS Runtime for Android开发教程V2.0(1)基本概念 - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/arcgis_mobile/article/details/8113183

 

1、基本概念

1.1 Android简介

        2007年11月,Google推出移动操作系统Android,并宣称Android是首个为移动终端打造的真正开放和完整的移动操作系统。自此,基于Android的手机和平板电脑开始陆续出现,并迅速占领市场。

        Android基于Linux内核,开放源代码,由Linux内核、系统运行库、应用程序框架和应用程序组成,如下图所示。

  • Android核心系统服务基于Linux内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。内核作为一个抽象层,介于软件层和硬件层之间。
  • 系统运行库包括系统库和运行库。
    • 系统库包含一些C/C++库,能被Android系统中不同组件使用。它们通过Android应用程序框架为开发者提供服务。
    • 运行库由核心库和Dalvik虚拟机构成。核心库提供了Java编程语言核心库的大多数功能,每个Android应用程序都在自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。
  • 应用程序框架为应用程序开发者提供各种API,Android应用程序架构中的各种控件、服务都可以被复用。
  • 应用程序就是Android系统上提供各种功能,能与用户进行交互的软件了。Android系统提供了拨打电话、收发短信、联系人、桌面等基本应用程序。开发人员基于应用程序框架提供的API,就可以开发各式各样的应用程序了。

现在,基于Android系统的手机和平板电脑已经随处可见。兴许此刻,您就是在用Android平板电脑浏览ArcGIS_Mobile(http://blog.csdn.net/arcgis_mobile)博客,了解ArcGIS Runtime for Android开发有关的内容。互联网上关于Android的资源也非常丰富。此处不再继续展开关于Android的介绍,具体请参考Android开发者网站(http://developer.android.com)。

1.2 ArcGIS Runtime for Android简介

        ArcGIS Runtime SDKs for Smartphones and Tablets(http://www.esri.com/software/arcgis/smartphones/develop)是Esri为开发者提供的移动应用开发包,目前支持IOS、Android、Windows Phone三大主流移动操作系统。只要注册了Esri全球账号,就可以免费下载各个版本的开发包以及其它相关资料。ArcGISRuntime SDK for Android官方页面如下图所示。

在ArcGIS Runtime SDKfor Android官网,可以在线浏览帮助页面、下载开发包、查看开发包对系统的要求、如何安装开发包等等。另外,页面会列出新的博客和应用信息,为用户提供最新的技术资源。

        ArcGIS Runtime SDK for Android通过ArcGIS Server REST服务获取数据和服务资源。Esri发布了GeoServices REST Specification(http://www.esri.com/industries/landing-pages/geoservices/geoservices.html),这一标准规定了ArcGIS REST Service各种接口的访问参数及返回数据的结构,ArcGIS Runtime SDK forAndroid正是基于这一标准封装的。其实,ArcGIS基于REST接口的API,包括ArcGIS Runtime SDK for Android/IOS/Windows Phone,ArcGIS API for Flex/Silverlight/JavaScript,以及ArcGIS Runtime SDK for Java/.NET,都是基于这一标准进行封装的。尽管不同平台、不同语言的开发包有其自己的特性,但其对应服务端的编程模型是一致的。下图能很好的说明这一点。

除了ArcGIS Server,ArcGIS Runtime SDK for Android还可以通过Portal API轻松访问ArcGIS Online上的资源。有关Portal API,后面章节会详细介绍。

截止目前,ArcGIS Runtime SDKfor Android最新版本是2.0。与0.9版本比较,1.0以后的版本,SDK架构发生了很大的变化。主要变化在于核心功能改由C/C++编写,SDK层(Java)通过JNI的方式调用,以此提高效率。因此,需要支持OpenGLES2.0的GPU。之前已经有基于0.9版本的开发教程,但是已经不适用于1.0及以后的版本。这也是基于2.0版本,重新编写开发教程的原因。

ArcGIS Runtime for Android开发教程V2.0(1)基本概念的更多相关文章

  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(3)基础篇---Hello World Map

    原文地址: ArcGIS Runtime for Android开发教程V2.0(3)基础篇---Hello World Map - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NE ...

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

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

  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标签的格式: 1.xml格式(推荐的,标准的标记) <?php    php代码?> 示例: 2.短格式 <? php代码 ?> 此种格式需要在php.ini中配置 示例 ...

  2. jCallout 实现气泡提示

    在提交表单前.焦点转移后或者 keyup 时往往需要对输入的文本就行检验,如果输入内容不符合相关约定则要进行提示或警告,有一个叫 jCallout 的插件可以轻松实现该功能,该插件基于  jQuery ...

  3. 用sublime编译C++的方法

    sublime代码高亮这么好看,怎么能不用sublime敲代码呢: ) 本人用的版本是sublime Text3中文版 在网上查了查,自己的sublime现在也能编译C++了,设置步骤如下: 1.找到 ...

  4. pthread 实现生产者消费者问题

    经典的生产者消费者问题,在这里用信号量和互斥量来实现生产和消费者模型   #include<cstdlib> #include<cstdio> #include<unis ...

  5. .NET Web后台动态加载Css、JS 文件,换肤方案

    后台动态加载文件代码: //假设css文件:TestCss.css #region 动态加载css文件 public void AddCss() { HtmlGenericControl _CssFi ...

  6. 【C#】数据库备份及还原的实现代码【转载】

    [转载]http://www.codesky.net/article/200908/128600.html C#数据库备份及还原1.在用户的配置时,我们需要列出当前局域网内所有的数据库服务器,并且要列 ...

  7. PHPStorm 2016.2 - 2016.3许可证服务器

    最快,最安全的选择,以激活您的PHPStorm 2016.2 - 2016.3,这是足够的激活服务器,软件将自动激活.该过程将不断更新,如果不工作评价写入,如果有,以激活没有列出的服务器也可以说. 通 ...

  8. input属性disabled和readonly的区别

    两种属性的写法如下: 1.<input type="text" name="name" value="xxx" disabled=&q ...

  9. ACE_linux:UDP通信

    1.涉及类 ACE_INET_Addr//ACE网络地址ACE_SOCK_Dgram//ACE报文 2.简介 UDP通信时无需像TCP那样建立连接和关闭连接,TCP编程时需要通过accept和conn ...

  10. Review PHP设计模式之——观测模式

    观测模式: <?php class car implements SplSubject{ private $carName; //车的类型 private $carState=0; //车的状态 ...