ArcGIS Runtime for Android开发教程V2.0(1)基本概念
原文地址:
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)基本概念的更多相关文章
- 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(3)基础篇---Hello World Map
原文地址: ArcGIS Runtime for Android开发教程V2.0(3)基础篇---Hello World Map - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NE ...
- 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(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应用 ...
随机推荐
- Js 对象二
一.Date对象 1.创建Date对象的方法 1)使用new关键字和Date类来创建(不带参数) Var today = new Date(); //不带参数 它是获取当前的系统时间 2)使用new关 ...
- POJ 3928 Ping pong
题目链接:http://poj.org/problem?id=3928 乒乓比赛,有N个人参加,输入每个玩家的技能等级,对每个人设置一个特定ID和一个技能值,一场比赛需要两个选手和一个裁判,只有当裁判 ...
- prototype原型理解
一切都是对象,对象是若干属性的集合 数组是对象.函数是对象.对象还是对象.对象里面的一切都是属性,只有属性,没有方法.方法也是属性. 一切引用类型都是属性 怎么判断一个值是否是对象? 值类型的类型 ...
- 锋利的jquery-validation
jquery插件 jquery插件项目托管于gitHub,项目地址https://github.com/jquery/plugins.jquery.com jquery插件的使用 表单验证插件 现在网 ...
- CSS3单位
em 做前端的应该对em不陌生,不是什么罕见的单位,是相对单位,参考物是父元素的font-size,具有继承的特点.如果字体大小是16px(浏览器的默认值),那么 1em = 16px. 不过,这样使 ...
- Mac下使用Web服务器性能/压力测试工具webbench、ab、siege
Web开发,少不了的就是压力测试,它是评估一个产品是否合格上线的基本标准,下面我们来一一剖析他们的使用方式. 测试前,前面先把系统的端口限制数改大,看看Mac下面的默认限制 ulimit -a ope ...
- preventDefault()、stopPropagation()、return false 之间的区别
“return false”之所以被误用的如此厉害,是因为它看起来像是完成了我们交给它的工作,浏览器不会再将我们重定向到href中的链接,表单也不会被继续提交,但这么做到底有什么不对呢? 可能在你刚开 ...
- js 闭包 详解
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现. 闭包的特性 闭包有三个特性: 1.函数嵌套函数 2.函数内部可以引用外部的参数和变量 3.参数 ...
- PHPCMS 错误日志 Only variables should be passed by ...
有几个网站是PHPCMS V9做的,但这两天发现一个问题,PHPCMS 的错误日志超过了20M ,后台报警,然后我看了下错误日志,其中两万多行都是一个错误,错误信息如下: 1 <?php exi ...
- 利用IDE编写C语言程序的一点注意事项
前言:我是喜欢编程的一只菜鸟,在自学过程中,对遇到的一些问题和困惑,有时虽有一点体会感悟,但时间一长就会淡忘,很不利于知识的积累.因此,想通过博客园这个平台,一来记录自己的学习体会,二来便于向众多高手 ...