ANDROID APP WITH GEOFENCE FOR OLD TOWN AND RELATED LOCATIONS
A Thesis Presented to the Faculty of
San Diego State University
In Partial Fulfillment
of the Requirements for the Degree Master of Science
in Computer Science
by
Bavya Kumaresan Summer 2016
Pro Que st Numb e r: 10128544
All rig hts re se rve d
INFO RMATIO N TO ALL USERS
The qua lity of this rep roduc tio n is dependent upon the qua lity of the copy subm itte d.
In the unlike ly event that the author d id no t se nd a co mp le te ma nusc rip t
and the re a re missing page s, the se w ill b e no te d . Also , if ma te ria l ha d to b e re mo ve d , a no te w ill ind ica te the d e le tio n.
Pro Que st 10128544
Pub lishe d b y Pro Que st LLC (2016). Co p yrig ht o f the Disse rta tio n is he ld b y the Autho r.
All rig hts re se rve d .
This wo rk is p rotec ted aga inst una utho rized copying under Title 17, United States Co de Microfo rm Ed itio n copy; ProQue st LLC.
Pro Que st LLC .
789 Ea st Eise nho we r Pa rkwa y
P.O. Bo x 1346
Ann Arb o r, MI 48106 - 1346
Copyright copy; 2016 by
Bavya Kumaresan All Rights Reserved
DEDICATION
I dedicate this thesis to my husband, parents and family for their constant support and encouragement throughout the course of this thesis work.
ABSTRACT OF THE THESIS
Android App with Geofence for Old Town and Related Locations by
Bavya Kumaresan
Master of Science in Computer Science San Diego State University, 2016
In a short period of time smart phones have become very popular worldwide.
Smartphone applications allow their users to have information at their fingertips.
Android App with Geofence for Old Town and Related Locations is an android based application which allows the user to get information about Old Town, San Diego such as the history, events for 2016, many historic sites in and around Old Town, nearby shopping, restaurant, hotels, maps and so on. The application also incorporates Gimbal Geofence technology which is a contextual aware program. Geofencing is a macro-location technology for areas 50 meters or greater in radius. Gimbal Geofence tells the application the entry and the exit time and the time spent there. By knowing this, we can send real time notifications to the customers inside the geofence. Using this technology, the app delivers Gimbal cards which provide us with information including the title of the card, coupons, address, and contact for restaurants. These cards are then stored locally for future use. The appropriate Gimbal cards are also delivered to some points of interest such as Balboa Park, Birch Aquarium of San Diego.
This android application is to provide users with the ability to access information about Old Town, and coupons, with ease and simplicity.
TABLE OF CONTENTS
PAGE ABSTRACT v
LIST OF FIGURES ix
ACKNOWLEDGEMENTS x
CHAPTER
-
INTRODUCTION 1
- Overview 1
- Comparison of Android and iOS 2
- Gimbal. 3
-
Old Town San Diego State Historic Park 4
- History of Old Town San Diego- 4
- Californios and the Founding of California 5
- Available Android Applications in a Market 5
- Thesis Organization 6
-
TECHNOLOGIES USED IN MY APPLICATION 7
-
Android 7
-
Architecture of Android 7
- Application Layer 7
- Application Framework 8
- Libraries 9
- Android Runtime 9
- Linux Kernel 11
-
Application Anatomy 11
- Processes amp; Threads 11
- Applications amp; Tasks 12
- Application Internals 12
- Android Manifest.XML 12
- Activities 12
- Intents and Intent Filters 13
- Content Provider 13
- Broadcast Receiver 13
- Service 13
- Application Lifetime amp; States 14
-
Architecture of Android 7
-
Gimbal. 14
- Gimbal Manager 15
- Places 15
-
A Single Geofence 16
- Types of Geofence 16
- Applications 16
- Communication 16
- Advantages of Gimbal Geofence 17
- Beacons 17
- Proximity Enabled Applications 18
- Advantages of Gimbal Beacons 18
-
Android 7
-
AN OVERVIEW OF SOFTWARE COMPONENTS 20
- JSON (Javascript Object Notation) 20
- Android Studio 20
- Amazon S3 21
- Foursquare 21
-
IMPLEMENTATION 22
- Development Environment 22
- App Launch 22
- Gimbal Card Delivery 23
- Home Screen 24
- Navigation Drawer 25
- Action Bar 26
- Events 27
- Historic Sites, Mormon Battalion and Shopping 29
- Hotels, Attractions and Restaurants 31
- Old Town Map, Drive to Old Town 33
- Visitor Center and Contact 33
-
TESTING amp; DEPLOYMENT 35
- Usability Testing 35
- Application Deployment 35
-
CHALLENGES amp; FUTURE ENHANCEMENTS 36
- Challenges Faced 36
- Future Application Enhancements 36
- SUMMARY 38
REFERENCES 39
LIST OF FIGURES
PAGE Figure 1.1. Old Town Historic Park entrance. 4
Figure 1.2.California`s original People. Source: [5]..................................................................4
Figure 2.1. Android architectural layers. Source: [7] 8
Figure 2.2. The activity life cycle. Source: [14] 14
Figure 2.3. Gimbal manager. 15
Figure 2.4. Creating new places to manage Geofence or Beacons. 16
Figure 2.5. Creating new applications on Gimbal manager. 17
Figure 2.6. Enabling communication on Gimbal manager. 17
Figure 2.7. Gimbal proximity beacons. Source: [17] 19
Figure 4.1. Permission Screen to Enable Location to support Geofencing feature. 23
Figure 4.2. Screenshots for (a) Gimbal even
剩余内容已隐藏,支付完成后下载完整资料
适用于圣地亚哥旧城区和相关地点的
带有地理围栏的ANDROID APP
巴维亚·库马雷桑
著
摘要
在很短的时间里,智能手机在世界范围内变得越来越流行。智能手机应用让用户们可以在指尖上获取信息。
这是是一个基于安卓平台的、能帮助用户了解关于圣地亚哥老城区的相关信息的手机应用,比如老城的历史、2016年发生的事件、老城内外的许多历史遗迹、附近的购物中心、餐厅、九点、老城的地图等等。本应用还结合了具有周边感知能力的万向地理围栏技术。地理围栏技术是一种针对半径50米甚至更大区域的宏观定位技术。万向地理围栏技术能向手机应用提供进入和离开某区域的时间,以及在该区域中停留的时长。了解了这些信息后,就可以向某区域内的用户发送实时通知。而借助地理围栏这一技术,手机应用就可生成“万向节卡”,这种“万向节卡”包含节卡名称、优惠券、地址以及餐厅联系方式等信息。之后这些“节卡”将被储存在本地以供将来使用。一些万向节卡也会被发送到巴尔博亚公元、圣地亚哥伯奇水族馆等那些人们比较感兴趣的地点。
本应用旨在向用户提供一个方便快捷的手段来获取有关老城的信息以及消费优惠
目录
摘要 2
第一章 导言 4
第二章 所应用的技术 8
第三章 软件组件概述 19
第四章 实施方案 21
第五章 开发测试 31
5.1 可用性测试 31
5.2 应用发布 31
第六章 遇到的问题及未来的完善 32
6.1 遇到的问题 32
6.2 未来的应用完善 32
第七章 总结 33
参考文献 34
导言
1.1概述
如今,智能手机正以令人惊讶的速度在世界范围内流行。智能手机是一种可以实现计算机的大部分功能的移动电话,一台智能手机通常包含交互的触摸界面、网络接入访问以及一个能够下载运行应用程序的操作系统三部分。智能手机的体积小,比一般的移动电话大不了多少。用户们通过他们的智能手机获取和访问大范围的服务和信息。研究者们还发现,对于很多人来说,智能手机以其越来越简单便捷的使用,正在取代其他电子设备的功能,比如闹钟、手表、日记,甚至是电视和电脑。而通常简称为手机应用的移动手机应用,是智能手机的主要用法。
移动应用程序是一种移动应用程序软件,可以在连接有wi-fi(无线互联网)的手持设备(例如电话,平板电脑,电子阅读器等)上运行,并具有支持独立软件的操作系统。 通常,人们会从苹果应用商店或安卓应用商店等应用商店下载本地移动应用。 无论我们需要什么,都可以使用移动应用程序。 无论是新闻,天气,体育,电子邮件,游戏,银行,社交网络,购物,地图/导航,书籍/杂志,都有适用于所有人的应用程序。 移动应用程序扩展到互联网之外。用户无需登录计算机并搜索互联网。 有了一个应用程序,他们就可以掌握信息。 如今,手机应用就是“新网站”,用户在旅途中可轻松通过手机访问它们。
以下是有关移动应用使用情况的一些统计数据:
·手机现在占数字媒体花费时间的一半以上。
·智能手机用户将其移动时间的89%花费在应用程序上。[1]
·85%的人更喜欢本机移动应用程序而不是移动网站。
·今年,我们预计全球移动应用收入将达到580亿美元。
·在应用上花费的平均时间比上一年增加了21%。
·2009年,全球移动应用程序下载量约为25.2亿,到2017年,这一数字预计将达到2686.9亿。[2]
1.2 安卓和苹果的比较
目前有许多可用于移动设备的操作系统,例如苹果的IOS,谷歌的Android,RIM的黑莓操作系统和微软的Windows操作系统。在所有的移动操作系统中(操作系统),使用最多的是谷歌的Android和苹果的的 iOS。截至目前,Android的当前版本为Android 6.0“棉花糖”,而iOS的当前版本为9.3。 Android和iOS都提供相似的功能,因为它们可以轻松地促进执行所需功能的应用程序的安装,它们使用非常相似的触摸和手势约定进行设备操作,它们具有类似的导航结构和用户界面,但主要区别不大。两者之间的主要区别在于它们运行的硬件平台。基于开源Linux操作系统的Android可以在多种设备上运行,而iOS只能在Apple制造的智能设备(例如iPhone,iPod touch和iPad)上运行。
Android是适用于各种移动设备的开源软件堆栈,并且是由Google领导的相应开源项目。开源是指其源代码可在用户或其他开发人员认为合适的情况下供其使用或修改的任何程序,因为这样做可以为Android为其最终用户提供庞大的应用程序基础,而无需他们花费大量精力进行OS开发。android中的自定义级别是其强项之一。但是苹果保持对操作系统的控制,以保持统一的软硬件体验。[3]
Android比iOS流行一点的其他原因是:
·来自三星,HTC,索尼,摩托罗拉,LG,华为,中兴等制造商的Android智能手机种类繁多,因此许多公司都使用Android平台。
·坚实的预算选项可为人们带来真正的智能手机体验。 iPhone的平均价格可能超过600美元,Android设备的价格降至300美元以下。这意味着iPhone的平均价格大约是Android设备的2倍。
1.3 Gimbal
Gimbal最初是Qualcomm Retail Solutions,Inc.的商标,但后来Gimbal的首席执行官Rocco Fabiano领导了Gimbal从高通过渡的过程。 Gimbal平台使零售商,品牌商和移动应用程序开发人员能够在适当的时间,适当的安全性和隐私下,向他们的客户发送正确的内容或报价。
如今,许多人拥有智能移动设备,而Gimbal中的上下文感知功能为丰富移动体验和捕获对客户和潜在客户的实际世界的数字见解奠定了基础。使用Gimbal,开发人员可以创建与零售体验更相关,更有用的应用程序。这样一来,商业品牌就可以加深其客户的知识,零售商可以享受提高客户参与度和忠诚度的机会。[4]一些实际的用途是:
·一位女士装扮的购物者等着她最喜欢的手袋品牌获得了数字对优惠券。
·体育赛事中的球迷可在就近座位的摊位购买餐点,以获得免费饮料的通知。
·通过数字信息亭的游客会根据其个人资料收到不同的优惠券或广告。
Gimbal是唯一提供诸如兴趣感应,地理围栏,邻近检测,通信,分析和隐私保护等功能的平台。 Gimbal是一个上下文感知平台。这使零售商,品牌商和内容所有者能够利用发送给移动装置的用户使用万向节技术,将相关的,及时的和个性化的通信发送给移动设备,从而吸引其客户。例如,假设餐厅连锁店BJ在Gimbal注册; BJ可以建立200码半径,然后,如果配备了Gimbal的智能手机进入此Geofence,大约BJ的某家餐厅就可以在其智能手机上接收以及BJ`s的广告和/或优惠券。
该平台围绕三个主要概念构建:
·位置-客户在哪里?
·邻近性-附近有什么客户?
·兴趣-谁是客户,对他们有什么意义?[4]
此应用程序在老城区内或附近使用带有万向节点的Gimbal,以增强游客的体验。
请注意,在此应用程序中,尽管可以使用云台卡,但该应用程序的主要目的是帮助老城区游客游览老城区。
1.4圣地亚哥旧州立历史公园
圣地亚哥旧州立历史公园位于加利福尼亚州圣地亚哥的老城附近,是圣地亚哥的一个国家保护历史公园。它始建于1968年,还是圣迭戈镇的时候,并包括1820年至1870年之间的许多历史建筑。
图1.1 公园入口
1.4.1 圣地亚哥古城的历史-原始人时期
9000年前居住的土著人称为库梅亚耶(Kumeyaay)。1769年西班牙定居者抵达后,许多库梅亚耶撤退到了山上。
来源:[5]
1.4.2 加利福尼亚州的建立
圣地亚哥老城被认为是加利福尼亚的“出生地”。圣地亚哥是加利福尼亚州第一个永久的西班牙定居点。1769年,朱尼佩罗·塞拉神父在21个任务的链条中建立了第一个任务,这是加利福尼亚殖民化的基石。加利福尼亚是用来识别出生于加利福尼亚的讲西班牙语的人,主要是罗马天主教徒,不论种族如何来自最初的西班牙殖民地。这些先民的后代也被视为加州人(Californios)。尽管加州有许多土著人民,但只有说西班牙语的人才被称为加利福尼亚人。
塞拉神父的使命和普雷西迪奥都建在山坡上,现在被称为圣地亚哥旧城区.1820年代,山丘的底部形成了一个墨西哥小型的土坯建筑社区。到1835年,它已成为圣迭戈小镇。1846年,美国海军中尉和一名海军陆战队中尉在老城区圣地亚哥广场首次举起了美国国旗。
为了记录1821年至1872年间圣地亚哥丰富而辉煌的遗产,加利福尼亚州公园与游乐部建立了旧城区国家历史公园。旧城区的历史建筑包括埃斯杜迪洛之家、班丹之家i、阿尔塔米诺-佩德罗雷纳之家和梅森街学校、圣地亚哥的第一个单人间校舍、黑鹰铁匠和马厩、朱尼佩罗塞拉博物馆、摩门教营、鲁滨逊-罗斯、警长博物馆、席尔瓦斯/麦科伊故居、富国银行/科罗拉多州等。这也是圣地亚哥最著名的维多利亚式房屋中的几处搬迁并进行了修复的地方,从旧城区圣地亚哥历史州立公园的山坡上就可以看到。在圣地亚哥大道上,我们可以找到怀利家宅,一栋官方指定的鬼屋,以及圣地亚哥旧城区的第一座教堂和1850年的天主教公墓。小土坯教堂位于Conde街。[6]
1.5 市场上可用的安卓应用程序
圣地亚哥老州立历史公园只有一个其他的Android应用程序可用。除了仅给出这些位置之外,该应用程序不提供有关历史古迹,餐馆和所有其他类别的信息。 我的应用“适用于老城区及相关地点的带地理围栏的安卓手机应用”则更加详细,,利用旧城区的地理围栏,为用户提供了广泛的应用范围类别,例如2016年的事件、景点、购物中心、餐厅、历史景点、酒店、旧城区地图、行车路线。选择此应用程序的原因是向圣地亚哥老城的访客提供一个简单、用户友好的应用程序,以轻松访问有关它的信息。
所应用的技术
成功完成本应用的设计使用了多种技术。以下各小节将详细说明其中的每一个。
2.1 安卓系统
安卓是适用于移动设备(例如智能手机和平板电脑)的开源操作系统。由Google开发,并基于Linux内核。Android软件开发套件(SDK)的第一个测试版本于2007年发布,而第一个商业版本Android 1.0于2008年9月发布。
2.1.1 安卓系统架构
图2.1显示了Android体系结构图。 该堆栈分为五层,内核和底层工具、本机库、Android运行环境ART、框架层以及应用程序层。
图2.1 Android体系结构 来源[7]
2.1.1.1 应用程序层
应用程序层是Android体系结构中的最顶层。 Android提供了一组核心应用程序,例如电子邮件客户端,SMS程序,Web浏览器,日历,联系人管理器,拨号程序,地图等。这些应用程序已预先安装到系统中。 用户也可以安装第三方应用程序。 应用程序是用Java编程语言编写的。 开发人员可以编写一个可以替换为现有系统应用程序的应用程序。
2.1.1.2 应用框架
应用程序层与应用程序框架层直接交互。该层由一组运行Android应用程序的服务组成。该应用程序框架基于Android应用程序是由可重用,互换和替换的组件构建的这一概念。用于创建应用程序的高级构建块已预先安装在Android设备上,并包含以下重要服务:
·活动管理器:控制应用程序和托管活动堆栈的生命周期
·内容提供者:允许应用程序访问自己的数据或来自其他应用程序的数据
·电话管理器:如果要允许在设备上进行语音呼叫,则管理订户的状态和信息。
·位置管理器:通过使用全球定位系统(GPS)或手机信号塔来控制设备上的位置信息。
·资源管理器:管理诸如图形,图像文件,颜色设置,UI(用户界面)布局等资源。
·查看系统:允许构建应用程序,其中包括文本框,按钮等。
·通知管理器:允许应用程序在设备的状态栏上显示警报和通知[8]
2.1.1.3 本机库
该层具有一组指令,允许设备处理不同类型的数据,例如浏览器支持,数据库,字体支持,播放和记录音频和视频格式等。这些库以c或c 语言编写,并且是硬件特定的。
一些重要的本地库是:
·表面管理器:该层从框架层处理窗口管理器的屏幕外缓冲。
·OpenGL:GL代表图形库。这会将2D或3D图形的内容呈现到屏幕上。
·媒体框架:该库允许记录和播放各种媒体格式,例如音频,视频,图片等。
·自由类型:渲染位图和矢量字体。
·SSL:SSL代表安全套接字层。它是用于互联网安全的加密协议。
·SQLite:此轻量级数据库引擎有助于共享和存储应用程序数据。
·WebKit:此库用作浏览网页的工具。它具有HTML渲染器,JavaScript引擎和cookie管理器。
2.1.1.4 Android运行环境
Android运行环境包含Dalvi
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[240385],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。