ArcGIS API for Android 进阶

Similar documents
Android Robert C.C. Huang Oscar F.Y. Liu Peter C.L. Hsieh 2011/03/21

Microsoft Word - 第1章 Android基本概念.docx

学 院 人 才 培 养 分 项 自 评 报 告 结 果 汇 总 表 主 要 评 估 指 标 关 键 评 估 要 素 自 评 等 级 1.1 学 校 事 业 发 展 规 划 合 格 1. 领 导 作 用 1.2 办 学 目 标 与 定 位 合 格 1.3 对 人 才 培 养 重 视 程 度 合 格 1

Microsoft Word zw

Slide 1

untitled

mvc

目次 

ArcGIS Sever.NET ArcGIS Server Web JAVA ArcGIS Server Web

untitled

幻灯片 1

iConnector打通REST服务共用的界限

南京市人才服务中心

Microsoft PowerPoint - ch6 [相容模式]

untitled

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

幻灯片 1

epub83-1

59 1 CSpace 2 CSpace CSpace URL CSpace 1 CSpace URL 2 Lucene 3 ID 4 ID Web 1. 2 CSpace LireSolr 3 LireSolr 3 Web LireSolr ID

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

自动化接口

coverage2.ppt

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

中 文 摘 要 智 慧 型 手 機 由 於 有 強 大 的 功 能, 以 及 優 渥 的 便 利 性, 還 能 與 網 路 保 持 隨 時 的 鏈 結 與 同 步 更 新, 因 此 深 受 廣 大 消 費 者 喜 愛, 當 然, 手 機 遊 戲 也 成 為 現 代 人 不 可 或 缺 的 娛 樂 之

Microsoft PowerPoint - Big Data rc Sharing掃盲時間.ppt [相容模式]

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工

提纲 1 2 OS Examples for 3


政府機關資訊通報第295期(5月)

(Geographic data or geodata ) 30 (Buelher, K and L. Mckee1996) (Open GIS Consortium OGC) OGC GIS Open GIS OGC (Geography Markup Langu

Junos Pulse Mobile Security R1 2012, Juniper Networks, Inc.

Android Android Android SDK iv

<4D F736F F D20312D3120D5D0B9C9CBB5C3F7CAE9A3A8C9CFBBE1B8E5A3A92E646F63>

untitled

目 录 第 五 部 分 第 六 部 分 第 七 部 分 第 八 部 分 投 标 邀 请 投 标 人 须 知 附 表 评 标 方 法 和 评 分 细 则 项 目 需 求 和 技 术 方 案 要 求 1

中南大学第二届软件创新大赛

申 请 者 的 承 诺 : 我 承 诺 对 本 人 填 写 的 各 项 内 容 的 真 实 性 负 责, 保 证 没 有 知 识 产 权 争 议 如 获 准 立 项, 本 表 为 有 约 束 力 的 协 议, 遵 守 广 东 省 教 育 科 学 规 划 领 导 小 组 办 公 室 的 有 关 规 定

Microsoft Word - 3D手册2.doc

1. 2. Flex Adobe 3.

ltu

第 一 章 UI 概 述 单 元 设 计 : 课 题 名 称 :UI 综 述 教 学 任 务 :1 UI 是 什 么? 2 UI 设 计 师 是 做 什 么 的? 3 UI 在 中 国 的 现 状 如 何? 4 数 据 时 代 的 用 户 体 验 (APP 视 觉 设 计 艺 术 ) 教 学 方 式

Basic System Administration

Microsoft Word - A _ doc

epub 61-2

Windows XP

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

財金資訊-83期.indd

<4D F736F F D20BBF9D3DA416E64726F6964C6BDCCA8B5C4B5E7D7D3C5C4C2F4CFB5CDB32E646F63>

目 錄 版 次 變 更 記 錄... 2 原 始 程 式 碼 類 型 之 使 用 手 冊... 3 一 安 裝 軟 體 套 件 事 前 準 備... 3 二 編 譯 流 程 說 明

<4D F736F F D C4EABCC6CBE3BBFAB4F3C8FCCDA8D6AA E646F63>

序号:001

防區狀況三生效—驗證精實案

untitled

ArcGIS 移动开发技术介绍 马亚军

Java 1 Java String Date

2 SGML, XML Document Traditional WYSIWYG Document Content Presentation Content Presentation Structure Structure? XML/SGML 3 2 SGML SGML Standard Gener

國家圖書館典藏電子全文

D C 93 2

總行總務室

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

Azure_s

RunPC2_.doc

版 權 2014 贊 雲 科 技 股 份 有 限 公 司 版 權 保 護 聲 明 未 經 贊 雲 科 技 股 份 有 限 公 司 書 面 許 可, 本 檔 任 何 部 分 的 內 容 不 得 被 複 製 或 抄 襲 用 於 任 何 目 的 本 檔 的 內 容 在 未 經 通 知 的 情 形 下 可

Lecture01_Android介绍

FAQ -PowerDesigner9.5.DOC

關於本書 l 3 PhoneGap Appcelerator Titanium Sencha Touch (wrapper framework) Native App PhoneGap Build Native App Hybrid App Java Objective-C Android SDK

Microsoft Word - 104決算總說明_一__彙整_02.03主秘版.doc

ebook

状 态, 规 划 车 辆 行 驶 路 径, 可 进 入 网 站 充 电 服 务 栏 目 (2) 查 询 位 置 联 系 方 式 营 业 时 间 等 信 息, 可 进 入 网 站 服 务 指 南 栏 目 建 议 您 出 行 前 通 过 易 充 电 互 动 网 站 提 前 了 解 所 经 高 速 快 充

111

Microsoft Word - Front cover_white.doc

PowerPoint 簡報

OSWorkflow Documentation

Oracle 4

摘 要 本 校 多 媒 體 設 計 系 與 上 海 戲 劇 學 院 創 意 學 院 在 多 次 聯 繫 交 流 之 下, 已 簽 署 合 作 備 忘 錄, 積 極 尋 求 兩 校 合 作 教 學 與 共 同 創 作 之 機 會 藉 由 本 系 學 生 作 品 腦 殘 公 寓 入 圍 第 五 屆 中

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii

untitled

藍牙網路在資訊家電的應用

f2.eps

基于ECO的UML模型驱动的数据库应用开发1.doc

Learning Java

信息

<4D F736F F D2031A3AD4A617661BCBCCAF5CAC6CDB7D5FDBEA22E646F63>

题目

Free and Open Source Software for Geospatial(FOSS4G) Conference

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工

引 言 车 队 管 理 应 用 车 联 网 技 术 的 几 个 必 要 条 件 : 1 是 否 支 持 车 机 插 拔 报 警?( 绝 大 多 数 人 潜 意 识 中 对 被 监 控 和 被 管 理 是 抗 拒 的, 我 们 调 查 了 很 多 现 有 车 队 管 理 系 统, 管 理 者 最 头

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

第二部分 成果简介

itestin 能 干 什 么? itestin 是 云 测 ( 提 供 给 广 大 移 动 应 用 测 试 者 或 者 开 发 者 免 费 使 用 的 一 款 安 卓 UI 自 动 化 测 试 录 制 工 具 ( 目 前 只 支 持 Android 应 用 程 序 的

2/80 2

<4D F736F F F696E74202D D2DB056BD6DB3E6A6ECBFECB056BADEB27AA8EEABD7BBA1A9FA>

Network Bandwidth Applications MATE Applications Applications On Demand Calendaring Load Balancer Live Archive Design Northbound Service,Netwo

Microsoft TechEd22 Microsoft Ignite 3 5 Microsoft Ignite 1 3 Microsoft TechDays TechDays Mobile First Cloud First 1 Microsoft

APP 103 學 年 度 嶺 東 科 技 大 學 資 訊 網 路 系 專 題 研 究 報 告 嶺 東 中 華 民 國 一 四 年 五 月 1

基于UML建模的管理管理信息系统项目案例导航——VB篇

版权页.indd

Partition Key: 字 符 串 类 型, 表 示 当 前 Entity 的 分 区 信 息 这 个 Property 对 于 Table Service 自 动 纵 向 和 横 向 扩 展 至 关 重 要 Row Key: 字 符 串 类 型, 在 给 定 Partition Key 的

目 录 概 述 背 景 社 会 背 景 行 业 背 景 需 求 分 析..6 3 优 势 分 析 资 源 优 势 品 牌 优 势 技 术 优 势 用 户 体 验.....

untitled

Transcription:

ArcGIS API for Android 进阶 Esri 中国 ( 北京 ) 有限公司 程轩昂

讲座提纲 ArcGIS for Android 简介 概述 产品及发布时间 Android 简介 使用 ArcGIS API for Android 进行开发 预备知识和开发环境的搭建 Android 相关概念 ArcGIS API for Android 相关概念和功能 Demo

ArcGIS for Android 简介

ArcGIS 的移动端技术 ArcGIS 云 Web 可视化 创建 ArcPad ArcGIS for Mobile ArcGIS for ios ArcGIS for Windows Phone ArcGIS for Android 移动平台 协同 发掘 管理 分析 企业 测试版已于 2011 年 2 月发布正式版将于 2011 年第 3 季度发布 桌面 本地

移动平台的两个数据 46% 125,000

ArcGIS for Android 产品及发布时间 ArcGIS for Android 应用程序 计划于 2011 年第 3 季度发布 类似于 ArcGIS for ios 和 ArcGIS for Windows Phone ArcGIS API for Android 又称 ArcGIS Runtime SDK for Android 2011 年 2 月 Beta 版发布 计划于 2011 年第 3 季度推出正式版本

ArcGIS for Android 应用程序 从 Android Market 应用商店免费下载 将提供以下功能 - 显示并导航地图 - 查找地址和地点 - 识别位置和 GIS 要素 - 查询地图图层和数据 - 测量线和面 - 通过 ArcGIS Online 查找和共享地图 - 采集 GIS 数据

ArcGIS API for Android 包括 : - API - 开发辅助工具 - 帮助文档 - 例子 以 ArcGIS API for Android Eclipse plug-ins 的形式发布, 可以在 Eclipse 中加载

ArcGIS API for Android 提供的功能 Mapping - Layers: Tiled, Dynamic, Graphic, Feature Tasks - Identify, Query, Locator, Geoprocessor Editing - Template-based, similar to other web APIs - Connected, through feature layer

授权和收费 企业内部部署 - ArcGIS Server 许可 - 部署设备不限数量 公开部署 (in App Store/Market Place/Market) - 免费程序?Esri 免费 :Esri 收费 - 收费程序?ArcGIS Server 许可 / 联系我们 程序要求 - 使用 Online 底图 :Esri/Bing Logo - 关于对话框

Android 平台

Why Android? 开放性, 可定制 支持多种设备 稳定发展的客户群 强大的自带 API

使用 ArcGIS API for Android 进行开发

预备知识及开发环境搭建

必要的准备 知识篇 具备一定的 Java 程序开发基础 拥有 Eclipse 下的程序开发经验 了解 ArcGIS 相关程序

必要的准备 软件篇 Eclipse 3.5 或者 3.6 Java development kit (JDK) 6 Android API 2.1,2.2 ArcGIS API for Android

配置 Eclipse 开发环境 安装并配置 Java SDK 6 安装 Eclipse 添加 Android Development Tools (ADT) 添加 ArcGIS API for Android Eclipse plug-ins

配置开发环境 demo

Android 开发和运行流程 Start here! Eclipse Write Java Launch as Android app Android SDK Compile to Dalvik classes Android device Dalvik VM Run app Debug/log app Deploy to device/emulator Android app framework

一个典型的 ArcGIS for Android 工程 - /src - /gen - /res - 源文件 - 编译出的类文件 - 资源文件 - Images - Styles xml - Layout xml - AndroidManifest.xml - Application configuration

配置 Eclipse 开发环境 Cont. 可能碰到的问题 : Eclipse "out of memory 找到 eclipse.ini, 修改 VM 值 -startup... --launcher.xxmaxpermsize 512m... -XX:MaxPermSize=512m -Xms512m -Xmx1024m... R.java: No such file or directory 需要将 Android SDK 添加到默认路径中

Android 开发基本概念

Android 相关概念 User Interface Overview Activity View Layout Event Listeners

Android 相关概念 :User Interface Overview - 一个应用程序包含 : - 一个或多个 Activity ( 活动 ), 其中每个活动包括 : - 一个或多个 View ( 视图 ), 每个视图的布局由 Layout ( 布局 ) 来控制

Android 相关概念 :Activity Activity( 活动 ) 是提供某项特定功能的可视化用户界面 一个程序中可能有多个 activity Activity 里可以包含其它控件 以堆栈的形式存放 Activity Activity Activity

Activity 的生命周期 On Create created On Start B4 visible On Resume Top On Pause On Stop not visible On Destroy - destroyed

Android 相关概念 :View View ( 视图 ) 是最基本的用户界面元素 Examples: - CheckBox - RadioButton - DigitalClock - MapView

Android 相关概念 :Layout Layout( 布局 ) 描述一个或多个 view 的尺寸, 位置及其它用户界面属性 通过 XML 文件进行设置 Examples: - FrameLayout - LinearLayout - TableLayout - RelativeLayout

Android 相关概念 : Event Listeners Event listeners ( 事件监听器 ) - 处理事件 ( 如屏幕操作, 状态改变等 ) - 不同的事件有不同的接口 - 每个对象对每种事件只能有一个监听器 Example: - OnClickListener interface handles View click events.

ArcGIS API for Android 基本概念

ArcGIS API for Android 提供的功能 SDK & Application Mapping - Layers: Tiled, Dynamic, Graphic, Feature Tasks - Identify, Query, Locator, Geoprocessor Editing - Template-based, similar to other web APIs - Connected, through feature layer

Mapping MapView 类 - THE map - Android View 类 Map services - ArcGIS Server - Map Services (tiled and dynamic) - Feature Services - ArcGIS.com - WebMaps - Bing ( 将在正式版中支持 )

Mapping MapView Class 通过 Android Layout 控制 - 调节尺寸和位置 - 显示的属性 默认动作 - 触摸事件 zoom, pan 自定义动作 - 添加 event listeners and handlers 初始化 - 注意检查地图是否正确加载

Mapping: 在 XML 文件中添加地图图层 <com.esri.android.map.mapview xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/map android:layout_width="fill_parent" android:layout_height="fill_parent initextent="-13631799.97888788 4545982.2729670685 13630011.658698952 4547213.547551089"> <com.esri.android.map.ags.arcgistiledmapservicelayer url="http://services.arcgisonline.com/arcgis/rest/services/ World_Topo_Map/MapServer" /> <com.esri.android.map.ags.arcgisdynamicmapservicelayer url="http://mobilesampleserver.arcgisonline.com/arcgis/rest/ services/sanfranfireinfo/mapserver" /> <com.esri.android.map.graphicslayer android:id="@+id/graphics" /> <com.esri.android.map.ags.arcgisfeaturelayer url="http://mobilesampleserver.arcgisonline.com/arcgis/rest/ services/haightashburyhydrantsfs/featureserver" mode="snapshot" />

Mapping: 在代码中添加地图图层 Dynamic map layer ArcGISDynamicMapServiceLayer sanfranfireinfo = new ArcGISDynamicMapServiceLayer(this, url); map.addlayer(sanfranfireinfo); FeatureLayer ArcGISFeatureLayer.Options(); sanfranhydrantsoptions.mode = ArcGISFeatureLayer.MODE.SNAPSHOT; ArcGISFeatureLayer sanfranhydrants = new ArcGISFeatureLayer(this, url, sanfranhydrantsoptions); map.addlayer(sanfranhydrants);

ArcGIS API for Android: Tasks Task ( 任务 ) 是进行 GIS 操作的对象组件 - 类似于其他 API 产品中的相关概念 - 仅需要少量编程即可触发

Tasks: 种类和用法

Tasks: 触发流程 Step Collect Input Call Task Display Result Description Develop dialog and/or map tools Populate input parameter value objects Instantiate Task object Develop TaskListener Develop result dialog and/or map result

Tasks: Collecting input 通过地图交互, 设置屏幕动作响应 - setonsingletaplistener() - (zoom, pinch, pan, longpress) - setonextentchangedlistener() 通过 Android 标准 UI 组件 - Buttons, Spinners - Events - onclick(), ontouch() - Android 自带 Search 功能 - Android default action

Tasks: Background Processing 所有的 tasks 都在后台运行 Two approaches: - TaskListener - AsyncTask

Tasks: TaskListener QueryTask 和 IdentifyTask 可以使用 TaskListener 实现了 oncompletion() 和 onerror() 方法 将结果显示的处理逻辑放在 oncompletion() 方法里

Tasks: AsyncTask 标准 Android 类 可用于运行 GeoprocessorTask, LocatorTask, BingLocatorTask 需要扩展 AsyncTask - 重写 doinbackground() 和 onpostexecute() - 将 Geoprocessor, Locator, BingLocator 任务代码放在 doinbackground() 方法中 - 将结果显示的处理逻辑放在 onpostexecute() 方法中

Tasks: Display Results ArcGIS for Android - Callout, graphics - Info templates ArcGIS.com popups Android - View, dialog, toast. - Many more

Tasks: Display Results- in a callout Map callout - 一个地图组件只能有一个 callout - 设置格式 - 设定显示内容 - Text or android View/ViewGroup TextView msg = new TextView(this); msg.setbackgroundcolor(color.black); msg.settext(address); msg.settextsize(12); msg.settextcolor(color.white); Callout callout = map.getcallout(); callout.setanchor(callout.anchor_position_floating); callout.setstyle(r.xml.calloutstyle); callout.refresh(); callout.show(addresspoint, msg);

Tasks: Display Results - as Graphics Graphic - Attributes - Geometry - Symbol Graphic g = new Graphic(); Graphic nearestroute = fsl.getgraphics().get(0); g.setgeometry(nearestroute.getgeometry()); SimpleLineSymbol symb = new SimpleLineSymbol( Color.DKGRAY, 2); symb.setalpha(170); symb.setantialias(true); g.setsymbol(symb); graphicslayer.addgraphic(g);

ArcGIS API for Android:Editing - Attribute Editing 属性编辑 参考 SDK 自带的 AttributeEditing 例子 通过 Feature Service - 类似于其它 webapi 中相关应用 - applyedits() 注意检查属性字段类型 - Data entry - Validation Supports FeatureTypes & Domains - Provide drop downs (Spinners) - User experience

Apply Edits method Aynchronous method - Callback tells success for each feature applyedits(adds, deletes, updates, callback) Attribute updates - Graphic - only changed attributes & ID

ArcGIS API for Android:Editing - Feature Editing 要素编辑, 添加或修改要素 使用 sketch 图层 - 通过 MapOnTouchListener 监听动作 - 实现点击和拖拽动作的响应 插入新的节点 记录编辑历史 使用本地 GeometryEngine - 没有服务器通信

GeometryEngine Local - buffer() - clip() - contains() - geodesiclenth() - getnearestcoordinate()/ver tex / vertices - intersect() - project() - union() - touches() - within()

Demo

原生应用程序还是网络程序? 市场渗透 投入产出 功能性 用户体验

Q&A? 联系方式 : Email: chengxa@esrichina-bj.cn