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应用 ...
随机推荐
- (poj 3177) Redundant Paths
题目链接 :http://poj.org/problem?id=3177 Description In order to <= F <= ,) grazing fields (which ...
- Qt Creator (C++)保存文件
最近在学习QT Creator,感觉很是头大.可能是刚刚学的原因吧,感觉完全没有C#好,好多东西完全搞不懂. C++虽然很灵活,但是也可能是太灵活了,总是搞得人一头雾水. 一个简简单单的保存文件,就让 ...
- grails导入excel
grails导入excel,意思是说从excel表中读取多条数据,批量写入数据库. 有2种方案,1是使用grails的excel插件,2是调用java代码使用POI等第三方java控件. 今天比较累, ...
- asp.net 点击按钮,页面没有任何变化,后台代码不触发
asp.net 点击按钮,页面没有任何变化,后台代码不触发 和可能是 asp.net button 缺少validationGroup 导致的,需要查看页面的validation并且让他们抛出错误信 ...
- Linux文件目录结构说明
- phpcms v9 自定义分页 带下拉跳转
<?php function new_pages($num, $curr_page, $perpage = 20, $urlrule = '', $array = array(),$setpag ...
- Python变量类型(l整型,长整形,浮点型,复数,列表,元组,字典)学习
#coding=utf-8 __author__ = 'Administrator' #Python变量类型 #Python数字,python支持四种不同的数据类型 int整型 long长整型 flo ...
- K最近邻算法
K最近邻(K-Nearest-Neighbour,KNN)算法是机器学习里简单易掌握的一个算法.通过你的邻居判断你的类型,“近朱者赤,近墨者黑”表达了K近邻的算法思想. 一.算法描述: 1.1 KNN ...
- hadoop可能遇到的问题
1.hadoop运行的原理? 2.mapreduce的原理? 3.HDFS存储的机制? 4.举一个简单的例子说明mapreduce是怎么来运行的 ? 5.面试的人给你出一些问题,让你用mapreduc ...
- C#的历史及IDE总结
原Borland公司的首席研发设计师安德斯·海爾斯伯格(Anders Hejlsberg)在微軟開發了Visual J++ 1.0,很快的Visual J++由1.1版本升級到6.0版.SU ...