原文地址:

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. Hadoop示例程序WordCount编译运行

    首先确保Hadoop已正确安装及运行. 将WordCount.java拷贝出来 $ cp ./src/examples/org/apache/hadoop/examples/WordCount.jav ...

  2. java学习笔记_MIDI_GUI

    import javax.sound.midi.*; import javax.swing.*; import java.awt.event.*; import java.awt.*; class M ...

  3. 【实习记】2014-08-19升级vim配置YouCompleteMe并debug的过程+qtcreator有语言包没法换语言

        做了个小项目,有空闲可以做点事了. 偶然查资料看见YouCompleteMe的鼎鼎大名. 演示demo <img src="http://i.imgur.com/0OP4ood ...

  4. SQL做日历

    DECLARE @DATE DATETIME SET @DATE=GETDATE() SELECT SUN -DAY(@DATE),@DATE))=@DATE THEN '*' ELSE '' END ...

  5. PHP中刷新输出缓冲,立即输出数据

    <script type="text/javascript"> function show_message(message) { document.getElement ...

  6. 对golang服务器开发模式的一些思考

    多线程+同步阻塞模型 在我们的游戏项目中使用的golang服务器开发方式如下 1.多线程逻辑 2.同步阻塞. 也就是说, 每个人一个线程(goroutine), io线程=逻辑线程 这种方式的优点: ...

  7. unionId突然不能获取的踩坑记录

    昨天(2016-2-2日),突然发现系统的一个微信接口使用不了了.后来经查发现,是在网页授权获取用户基本信息的时候,unionid获取失败导致的. 在网页授权获取用户基本信息的介绍中(http://m ...

  8. discuz x3插件开发傻瓜图文教程,用demo说话

    此demo功能是在模板footer部位插入一段javascript代码,这段代码可以是alert提示,也可以是加载广告等等. 第一步: 在config\config_global.php 文件里设置$ ...

  9. Spark Tungsten揭秘 Day2 Tungsten-sort Based Shuffle

    Spark Tungsten揭秘 Day2 Tungsten-sort Based Shuffle 今天在对钨丝计划思考的基础上,讲解下基于Tungsten的shuffle. 首先解释下概念,Tung ...

  10. Pandas简易入门(二)

    目录:     处理缺失数据     制作透视图     删除含空数据的行和列     多行索引     使用apply函数   本节主要介绍如何处理缺失的数据,可以参考原文:https://www. ...