登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 外文翻译 > 理工学类 > 自动化 > 正文

智能城市,多平台开发的智能城市信息获取平台外文翻译资料

 2021-12-29 11:12  

英语原文共 19 页,剩余内容已隐藏,支付完成后下载完整资料


智能城市,多平台开发的智能城市信息获取平台

伊格纳西奥bull;佩雷斯1bull;哈维尔bull;庞塞拉1bull;何塞bull;米格尔bull;莫雷诺-罗尔丹1bull;穆杰塔巴sbull;梅蒙2

摘要:现代城市包含着丰富的信息,这些信息通常分散在无数的有机体中。对公民来说,获取这些信息往往是困难的和令人困惑的。城市必须找到一种方法,使所有这些信息不仅供公民使用,而且供参与城市运营和维护的任何雇员使用。出现的问题之一是,每个城市部门都独立于其他部门组织其信息,从而导致数据库和平台的异构生态系统。本文介绍了一种通过移动平台访问城市中所有可用信息的解决方案,并简要描述了将应用程序移植到web和SmartTV平台过程中的问题和解决方案。本文描述了一个用于Android操作系统的可定制用户应用程序。该解决方案可以部署在任何城市,因为应用程序可以动态地从持有对数据库访问权的远程服务器获取信息。

关键词:市民管理平台 智能城市 透明度 Android应用 Web应用程序SmartTV应用

1简介

传统城市的特点是可以通过一系列异构传感基础设施收集大量数据。今天,这些数据部分用于不同的、通常是孤立的应用程序目的。这一趋势将继续朝着越来越多的数据方向发展,这将进一步丰富整体“城市知识”能力。信息将来自连接的对象(传感器)、以前收集的资源以及“社会感知”应用。

其中一个主要问题是如何向公众和负责城市基础设施正常运营和管理的人员提供这些数据。这个问题在IntelCity项目中得到了解决。

该项目的一个关键部分是移动应用程序的设计和开发,该应用程序允许遍历智能城市中的服务的可用信息。目标是社区的任何公民都可以访问这些信息并与现有的服务进行交互,从而提高其生活质量。该应用程序的设计使任何城市都可以使用它来显示自己的特定信息,因为它动态地向用户提供每个城市中的各种可选报告。

相同的功能已经移植到web和SmartTV应用程序中,以便为不同环境中的每个公民提供更便捷的访问。

本主题下面已经有几个项目正在进行。例如,全球领先的Indra公司已经为智能城市开发了一个平台,尽管它更倾向于城市的管理,而不是为公民提供信息[1]。Tissat开发了另一个平台,其中包含一个公民门户网站,用于管理程序;该系统允许公民使用安全机制参与市政决策,共享信息[2]。总的来说,它旨在提高城市所有区域的透明度。SmartCoruntilde;a [3]旨在实现城市的整体管理,包括能源效率、环境、移动性、电子政务等领域。

其他项目旨在改善城市内部的交通问题。例如,Ask-It[4]、Caalyx[5]或Uniaccess[6]。这些支持请求使用不同的交通工具(公共交通、私家车、自行车、步行hellip;hellip;)从一个点到另一个点的最佳路线,这需要对城市有全面的了解。一些倡议只是在广播城市在发生什么[7]。

IntelCity项目的主要创新之处在于它旨在提供一个框架,以便将所有城市信息交给公众使用。市民将能够通过智能手机、个人电脑、平板电脑甚至电视等不同终端访问该系统。这个设计已经得到了解决,这样连接到系统的数据库中的所有信息都可以在任何用户平台上浏览。

本文的结构如下。第2节概述了系统架构。第3节介绍了移动应用程序的设计,介绍了关键的设计思路以及软件结构。第4节提供了构成应用程序的类的描述。第5节和第6节简要介绍了web和SmartTV版本的应用程序的设计和实现,重点介绍了在这个过程中发现的问题。

2架构概述

设计的应用程序提供了对跨多个数据库分布的信息的访问。一个城市拥有许多不同的系统,其中许多系统已经运行了20多年。因此,他们通常使用不同的架构,接口和语言进行操作;异质性嵌入城市。此外,保存数据的数据库由市政府的不同部门管理,不一定共享公共访问接口。

可以通过实现创建统一接口的后端模块来解决这种异构性,从而隐藏不同数据库系统的复杂性。该模块以一种快速的方式提取信息,并提供与之交互提的已定义协议。

系统的简化概述如图1所示。用户界面称为前端模块,允许最终用户浏览任何多个信息系统中保存的数据。

图1 系统架构概述

2.1信息

前端应用程序向用户提供两种不同类型的信息。首先,它提供关于城市本身的静态信息,这些数据很少变化,因此可以被视为静态的。其次,它允许访问与每个城市公共服务相关的动态信息,例如垃圾收集时间表、汽车电池充电点、公共交通站点和时间表、待定维护操作等。

应用程序内部的导航分为三个层次:

bull;第一级:显示与城市管理相关的区域列表(如交通、生活质量、自然资源等)。

bull;第二级:显示按照与所选第一级区域相对应的专题类别分组的报告列表。

bull;第三级:显示筛选条件控件,以选择所选第二级报告中的一系列数据。

当应用程序启动时,用户可以选择他想要从各种一般感兴趣领域获得信息的城市服务;可以为每个城市动态配置这些服务。在每个服务中,都有一个按类别组织的报表列表,以便用户轻松找到其中一个报告。选择特定的报告之后,应用程序将显示相应的信息。

报告分为四类:

bull;文本: 在表中方便组织的字母数字字符串。表中的每一列表示一个信息字段。

bull;条形图:用于显示一系列值或比较两个或多个值。

bull;饼图:对城市管理者和运营商有用,主要用于分析不同服务的使用情况。

bull;地图:使用谷歌地图服务。当服务器提供的信息不包含经纬度坐标,而只包含邮政地址(例如,显示城市自行车的收集点)时,地理位置允许位置放置。

2.2接口

前端模块和后端模块之间的通信协议遵循客户端-服务器模型。前端生成一个HTTP请求,该请求由后端应答,并显示该数据级别的信息。请求由用户在每个导航级别执行的选择触发。

信息以JSON (JavaScript对象表示法)格式编码[9]。用于处理这种数据格式的API在大多数平台上都是免费的。使用此表示法对前端和后端元素之间的每个响应和请求进行编码。然后将检索到的信息缓存在本地。图2给出了一个响应示例,它显示了关于城市健康中心利用水平报告的内容。

图2 JSON服务器响应的示例

3设计

简而言之,该应用程序允许用户实时控制城市中所有现有的服务,无论其位置如何。其主要特点如下:

bull;按类别组织信息,然后按报告分组。这些显示为下拉菜单。

bull;以引人注目的格式显示信息,以满足用户的需求。

bull;支持报表搜索。

bull;允许通过电子邮件向应用程序经理发送关于新报告的建议和请求。

在本节中,我们将介绍作为前端的Android应用程序的开发。该应用程序也已移植到其他平台,如Web浏览器和智能电视,这一过程的一般描述可在第5和第6节中找到。

3.1主要设计思路

在进行设计时,考虑到以下主要思想:

bull;异构设备:应用程序必须运行在具有不同物理特性的设备上,从小屏幕(例如4.7英寸)到具有9英寸-10英寸的平板电脑。

bull;基类:所有在图形用户界面中实现屏幕的类都派生自Android SherlockActivity类。这个类属于Sherlock库,它支持使用Android 3.0版(API级别11)中引入的动作条,Android版本中则支持使用2.1版。

bull;片段:片段是一个android组件,当同样的可执行文件用于智能手机(屏幕通常小于7英寸)和平板电脑时,它简化了用户界面的设计。应用程序使用这种类型的组件来改进用户体验。

bull;样式:用户界面的视觉样式可以轻松自定义,因为所有样式(字体、大小、颜色等)都在单独的Styles .xml文件中定义。

bull;语言选择:该应用程序支持不同的语言,可以根据需要添加多种语言。这已通过Android机制实现,该机制仅需要将一个文件中的所有字符串分组并使用正确的后缀命名。用户可以通过按屏幕上或配置选项屏幕中显示的标志图标来选择语言。

bull;主线程和后台线程:用户交互在主线程中执行。但是,任何长时间的处理操作都可能阻止该线程;因此,为了保持高质量的体验,任何可能需要2-3秒以上时间的处理都是在后台线程中执行的,例如,与远程服务器的交互。

3.2开发环境

开发中使用了Eclipse框架。还需要Android SDK和相应目标的包。Android 模拟器和真是设备,包括智能手机和平板电脑,都已用于测试和调试。

我们使用了其他外部库来支持Android API中缺少的功能,3.0之前版本的操作栏、音频回放或图形表示。这些库如下:

bull;achartengine.jar。用于图形表示的库。它是免费的,支持不同类型的图形,可以配置标签和图例。

bull;actionbarsherlock。jar:为 Android 3.0之前版本实现操作栏。

bull;activation.jar addititonal.jar和mail.jar:支持以用户无缝方式发送电子邮件。它使用一个后台线程进行处理。需要配置电子邮件服务器静态参数(地址,端口,电子邮件帐户,密码等),并且呼叫必须包含电子邮件的典型字段。

bull;jl1.0.1.jar:支持音频播放。音频文件必须位于“res / raw”应用程序文件夹中。

3.3软件结构

图3显示了组成应用程序的类。有五个主类和九个辅助类。每个主类都处理应用程序的一个屏幕。此外,每个屏幕都配有一个操作栏和一个选项菜单。

图3 类图

图中所示的垂直流程也描述了主要的应用程序流。图中的左列表示应用程序的“信息”部分,而右列显示支持类。类AppJSON和MethodsJSON是必不可少的。当用户从一个屏幕切换到另一个屏幕时,必须从后端请求显示的信息; 如前所述,此信息以JSON格式编码,由请求和响应这两个类处理。

此外,屏幕经常有额外的功能补充:

bull;请求新报告:用户可以请求添加他们认为应该在特定服务中提供的新报告。该机制允许基于真实用户需求来改进应用。

bull;搜索:允许搜索与当前显示的报表相关的附加信息。搜索受到应用程序自定义条件的约束,以获得准确的结果。服务器建议网站列表和关键字列表; 用户可以使用任何建议的关键字在任何一个网站中请求查询。

bull;静态信息访问:主要用于提供城市的一般信息访问。用户可以选择带有“信息”标签的主屏幕选项卡来访问该数据。然后,应用程序显示一个包含欢迎、气候、事件、联系人等部分的新菜单。

bull;建议:允许用户向系统管理员发送建议或投诉,以改善应用程序提供的服务。

bull;附加选项:在每个屏幕的选项菜单中,可能有特定于该屏幕的附加选项。

4 Android实施

本节介绍已实现的代码。

4.1 Android清单

首先,让我们参考“Android Manifest”,这是一个重要的文件,其中声明了应用程序中使用的所有Android组件,以及相应的权限,比如谷歌使用地图的权限、使用Internet的权限或访问网络信息的权限。该文件如图4所示。

图4 Android清单

4.2主要类

下面将解释构成应用程序的类的要点。

4.2.1 Welcome.java准备

它是应用程序的初始类。它显示欢迎屏幕(参见图5a)。几秒钟后,它启动下一个名为IniSelCategory的类。用户没有与此类进行任何交互,它只是一个欢迎屏幕。它在后台从服务器检索将在下一个屏幕中显示的服务列表。

图5不同的应用界面。aWelcome界面,b服务界面,c静态信息界面,d报表列表

此请求以Android AsyncTask类的实例化开始,该类在后台的辅助线程上创建Http连接。因此,主线程保持对用户输入的响应。每个请求都有一个关联的超时;如果没有收到响应,则取消请求并向用户显示不可用消息。服务器处理每个请求并从数据库中获取匹配信息。每当发出来自后端的请求时,在IniSelCategory和InfoScreen类中使用相同的序列。

4.2.2 IniSelCategory.java

这个类是交互流中的第一个类(见图5b, c),它包含两个选项卡,提供对动态和静态信息的访问。在第一个选项卡中,用户可以从服务器检索的列表中选择服务。第二个选项卡提供对静态信息的访问。

4.2.3 InfoScreen.java

该类显示的在相应于前一类所选择的服务类别组织报告的列表(参见图5d)。每个类别标题都是一个下拉菜单。它还具有一些附加功能,可通过选项菜单访问,例如向应用程序管理员发送建议或发送新报告请求的功能。

4.2.4 ViewInfo.java

此类用于信息的图形表示。

当用户选择上一个类中的报表时,将调用此新类以显示该信息。如前所述,它使用不同类型的可视化(参见图6),例如表格,条形图或饼图。地图在一个单独的类中处理,接下来解释。它允许使用日期或文本等标准配置图形表示,例如放大和缩小,或过滤数据(图7)。

<p

全文共11953字,剩余内容已隐藏,支付完成后下载完整资料</p


资料编号:[2953]

您需要先支付 30元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图