SlideShare a Scribd company logo
1 of 24
Exploring Halifax
Attractions using the
Runtime SDK
for Android
Lindsay LeFresne and Sarah Micheau
 Create an app of the Halifax region using an
Esri basemap
 Use feature layers to display data which can
be turned on/off
 Ability to query data
 Find optimal routing between locations
Initial Project Plan
Image from: https://weather.gc.ca/forecast/canada/index_e.html?id=NS
Software
2.1
Online & Desktop 10.3
Integrated Development Environment (IDE)
Getting Started
 Choose an Android Version and API level
 Create an emulator
 Basics of Android Studio
 Esri tutorials from ArcGIS for Developers
Android Platform Versions
Platform versions are a trade off between the
percentage of users’ the app aims to target
and available features.
Creating an Emulator
 Option to connect an Android device or use a virtual emulator
 We created several emulators in Android Studio which are shown in the
image below
Basics of Android Studio
 Build Automation
 Gradle has the ability to access
other host repositories including
Maven
 Android studio is the only IDE that
supports the Gradle build system
Tutorial 1: Add a map to your app
 Completed the ‘Add a map to your app’ tutorial on the Esri developers website
 Defined MapView
 Problems:
Tutorial 2: Use ArcGIS basemaps (1/2)
 In the onCreate method, the mapView was retrieved from
the XML where we defined it earlier
 onPause and onResume methods were added
 In menu_main.xml 4 different basemaps were defined as a
menu item
 Several basemap variables were defined
 In the onCreateOptionsMenu method, menu.getItem
was used to retrieve the basemap menu items
 onOptionsItemSelected uses the menu item ID to
determine the action to be taken from the switch
statement
Tutorial 2: Use ArcGIS basemaps (2/2)
Tutorial 3: Access feature data in the cloud
 A Feature layer URL was added to the string.xml, this accesses the layer from
the cloud
 Layer variables were defined in main code
 Code was added to the onCreate method to create the feature layer graphic
upon start up
Tutorial 4: Add geocoding to your app
 Geocoding variables were added
 New graphics layer was added in the onCreate method
 Code was added to set a listener to ensure that the map view was
initialized and ready to use upon app startup.
 The next step was to allow user to enter an address this was done by
adding a search button to the top bar in the app.
 LocatorAsyncTask method added to execute the geocoding and zoom to
the specified location.
Creating the Layers Used
 Trails
 Provided by Halifax Open Data (http://www.halifax.ca/opendata/) and imported into ArcGIS
Online
 Breweries
 Geocoded using ArcGIS Online
 Shopping Centres
 Main large shopping centres were chosen
 Geocoded using ArcGIS Online
 Parks
 Provincial parks within Halifax County were located from http://parks.novascotia.ca/
 Geocoded using ArcGIS Online
 Hospitals
 Geocoded using ArcGIS Online
All layers were symbolized within ArcGIS Online, and made available to the public
Geocoding in ArcGIS Online
 CSV files were created using
Addresses of the locations used.
 They were then imported into ArcGIS
Online which automatically geocoded
the locations.
Trails Layer
 Layer was downloaded from Halifax Open
Data website
(http://www.halifax.ca/opendata/) as a
shapefile and imported into ArcGIS for
Desktop.
 Problem: Projection
Web Mercator
 The layer is then shared as a feature service
and brought into ArcGIS Online.
 All feature layers were added in the
string.xml file using the feature service URL’s
Creating Image Buttons
 Image Buttons were created to allow user to
query or select feature layers
 Five image buttons were used: App Info,
Brewery, Biking (Trails), Parks and Shopping
Centres.
 A drawable xml was created for each button
that defined the shape and color of the button.
 The ImageButtons were created under the
layout folder with the drawable and mipmap
photos assigned as part of their attributes
 The onClick attribute was used to link the
button to a method within the code that
defined the button’s action.
Using the App Info Button
 When information button is clicked the method appInfo is called that displays a
pop up window explaining the app to the user.
Using the Brewery Button
 When the brewery button is clicked the onBreweryClick method is called
 This method uses a boolean to track whether the layer is turned on or off.
 For example if the layer is turned on, pressing the button will turn the layer off
and vice versa.
 Brewery layer was added as a feature layer using the feature layer URL
Using the Trail (Biking) Button
 The trail layer is defined in the onCreate method and is displayed upon start up.
 When the user clicks on the biking button it calls the showPopup method.
 When the user makes their selection it calls the onMenuItemClick method.
 Resulting trails are highlighted in blue using a SimpeLineSymbol
Using the Park button
 The park layer is defined in the onCreate method and is displayed upon
start up
 This button works similarly to the biking button, where it queries the
layers attributes allowing the user to select parks where there is
swimming permitted.
 The button calls the showPopupPark method to inflate the park menu
 Parks are identified by an overlaying SimpleMarkerSymbol
Using the Shopping Button
 When the shopping button is clicked the onShoppingClick method is called. The
button calls the showPopupPark method to inflate the park menu
 Similar to the brewery button, this method uses a Boolean to track whether the
layer is turned on or off
 For example is the layer is turned on, presses the button will turn the layer off and
vice versa
 Shopping Centre's are shown with blue shopping bag symbols
Using the Hospital Menu
 When the hospital button is clicked on the top tool bar the hospital menu is
inflated using the showPopupHospital method.
 When a hospital is chosen from the menu, the onMenuItemClick method is
called which queries the chosen hospital based on it’s attributes.
 This results in a red cross graphic overlaying the hospital the user selected
Other Problems
 Android Studio frequent updates
 Downloaded projects from GitHub would not sync (Routing)
 Creating multiple menus
 Main activity is doing too much work
QUESTIONS?
Team work makes the dream work!

More Related Content

Viewers also liked

Model for Prioritizing Catchments for Terrestrial Liming in NS
Model for Prioritizing Catchments for Terrestrial Liming in NSModel for Prioritizing Catchments for Terrestrial Liming in NS
Model for Prioritizing Catchments for Terrestrial Liming in NSCOGS Presentations
 
Matt cousensagrg presentation_final
Matt cousensagrg presentation_finalMatt cousensagrg presentation_final
Matt cousensagrg presentation_finalCOGS Presentations
 
Centre of Geographic Sciences Remote Sensing Field Camp 2015
Centre of Geographic Sciences Remote Sensing Field Camp 2015Centre of Geographic Sciences Remote Sensing Field Camp 2015
Centre of Geographic Sciences Remote Sensing Field Camp 2015COGS Presentations
 
The essentials for life at cogs
The essentials for life at cogsThe essentials for life at cogs
The essentials for life at cogsCOGS Presentations
 
Base mapping of the St.Mary's District
Base mapping of the St.Mary's DistrictBase mapping of the St.Mary's District
Base mapping of the St.Mary's DistrictCOGS Presentations
 
Trying to decipher fort beausejour
Trying to decipher fort beausejourTrying to decipher fort beausejour
Trying to decipher fort beausejourCOGS Presentations
 
The Processing of the 1920's Survey Sheets of the City of Saint John, NB for ...
The Processing of the 1920's Survey Sheets of the City of Saint John, NB for ...The Processing of the 1920's Survey Sheets of the City of Saint John, NB for ...
The Processing of the 1920's Survey Sheets of the City of Saint John, NB for ...COGS Presentations
 
Using ArcMap’s Network Analyst to Model Emergency Service Response Routes Dur...
Using ArcMap’s Network Analyst to Model Emergency Service Response Routes Dur...Using ArcMap’s Network Analyst to Model Emergency Service Response Routes Dur...
Using ArcMap’s Network Analyst to Model Emergency Service Response Routes Dur...COGS Presentations
 
Reeves: Modelling & Estimating Forest Structure Attributes Using LiDAR
Reeves: Modelling & Estimating Forest Structure Attributes Using LiDARReeves: Modelling & Estimating Forest Structure Attributes Using LiDAR
Reeves: Modelling & Estimating Forest Structure Attributes Using LiDARCOGS Presentations
 
Modelling the Distribution of Karst Topography, Nova Scotia, Canada
Modelling the Distribution of Karst Topography, Nova Scotia, CanadaModelling the Distribution of Karst Topography, Nova Scotia, Canada
Modelling the Distribution of Karst Topography, Nova Scotia, CanadaCOGS Presentations
 
Southwest mongolia multispectral program title
Southwest mongolia multispectral program titleSouthwest mongolia multispectral program title
Southwest mongolia multispectral program titleCOGS Presentations
 

Viewers also liked (20)

Model for Prioritizing Catchments for Terrestrial Liming in NS
Model for Prioritizing Catchments for Terrestrial Liming in NSModel for Prioritizing Catchments for Terrestrial Liming in NS
Model for Prioritizing Catchments for Terrestrial Liming in NS
 
Sable presentation bowen
Sable presentation bowenSable presentation bowen
Sable presentation bowen
 
Matt cousensagrg presentation_final
Matt cousensagrg presentation_finalMatt cousensagrg presentation_final
Matt cousensagrg presentation_final
 
Centre of Geographic Sciences Remote Sensing Field Camp 2015
Centre of Geographic Sciences Remote Sensing Field Camp 2015Centre of Geographic Sciences Remote Sensing Field Camp 2015
Centre of Geographic Sciences Remote Sensing Field Camp 2015
 
The essentials for life at cogs
The essentials for life at cogsThe essentials for life at cogs
The essentials for life at cogs
 
Rachel mckenna
Rachel mckennaRachel mckenna
Rachel mckenna
 
Presentation: Fee & Brigley
Presentation: Fee & BrigleyPresentation: Fee & Brigley
Presentation: Fee & Brigley
 
Coastal erosion
Coastal erosionCoastal erosion
Coastal erosion
 
Various frontslides2016
Various frontslides2016Various frontslides2016
Various frontslides2016
 
Murphy presentation
Murphy presentationMurphy presentation
Murphy presentation
 
Base mapping of the St.Mary's District
Base mapping of the St.Mary's DistrictBase mapping of the St.Mary's District
Base mapping of the St.Mary's District
 
Karman vortices
Karman vorticesKarman vortices
Karman vortices
 
Trying to decipher fort beausejour
Trying to decipher fort beausejourTrying to decipher fort beausejour
Trying to decipher fort beausejour
 
Presentation Brake & Scott
Presentation Brake & ScottPresentation Brake & Scott
Presentation Brake & Scott
 
The Processing of the 1920's Survey Sheets of the City of Saint John, NB for ...
The Processing of the 1920's Survey Sheets of the City of Saint John, NB for ...The Processing of the 1920's Survey Sheets of the City of Saint John, NB for ...
The Processing of the 1920's Survey Sheets of the City of Saint John, NB for ...
 
Using ArcMap’s Network Analyst to Model Emergency Service Response Routes Dur...
Using ArcMap’s Network Analyst to Model Emergency Service Response Routes Dur...Using ArcMap’s Network Analyst to Model Emergency Service Response Routes Dur...
Using ArcMap’s Network Analyst to Model Emergency Service Response Routes Dur...
 
Reeves: Modelling & Estimating Forest Structure Attributes Using LiDAR
Reeves: Modelling & Estimating Forest Structure Attributes Using LiDARReeves: Modelling & Estimating Forest Structure Attributes Using LiDAR
Reeves: Modelling & Estimating Forest Structure Attributes Using LiDAR
 
Modelling the Distribution of Karst Topography, Nova Scotia, Canada
Modelling the Distribution of Karst Topography, Nova Scotia, CanadaModelling the Distribution of Karst Topography, Nova Scotia, Canada
Modelling the Distribution of Karst Topography, Nova Scotia, Canada
 
Dominique presentation
Dominique presentationDominique presentation
Dominique presentation
 
Southwest mongolia multispectral program title
Southwest mongolia multispectral program titleSouthwest mongolia multispectral program title
Southwest mongolia multispectral program title
 

Similar to Exploring Halifax Attractions using the Esri Runtime SDK for Android

Publishing geoprocessing-services-tutorial
Publishing geoprocessing-services-tutorialPublishing geoprocessing-services-tutorial
Publishing geoprocessing-services-tutorialSebastian Correa Gimenez
 
GEIT 3341 DATABASE I LAB 2 GEIT 3341 Database I
GEIT 3341  DATABASE I  LAB 2  GEIT 3341 Database I  GEIT 3341  DATABASE I  LAB 2  GEIT 3341 Database I
GEIT 3341 DATABASE I LAB 2 GEIT 3341 Database I MatthewTennant613
 
Trimantra - Project Portfolio_NET
Trimantra - Project Portfolio_NETTrimantra - Project Portfolio_NET
Trimantra - Project Portfolio_NETMihir G.
 
Cloud technology (Mashup) + Case Study
Cloud technology (Mashup) + Case StudyCloud technology (Mashup) + Case Study
Cloud technology (Mashup) + Case StudyMustafa Salam
 
Create Location Sharing apps using the Ionic framework
Create Location Sharing apps using the Ionic framework					Create Location Sharing apps using the Ionic framework
Create Location Sharing apps using the Ionic framework Shelly Megan
 
Android MapView and MapActivity
Android MapView and MapActivityAndroid MapView and MapActivity
Android MapView and MapActivityAhsanul Karim
 
MIDIH i-Deal-profile experiment
MIDIH i-Deal-profile experimentMIDIH i-Deal-profile experiment
MIDIH i-Deal-profile experimentMIDIH_EU
 
Basic commands of ArcGIS
Basic commands of ArcGISBasic commands of ArcGIS
Basic commands of ArcGISKU Leuven
 
AssignmentThe work is structured in five main parts, each one addi.docx
AssignmentThe work is structured in five main parts, each one addi.docxAssignmentThe work is structured in five main parts, each one addi.docx
AssignmentThe work is structured in five main parts, each one addi.docxssuser562afc1
 
Windows phone 7 series
Windows phone 7 seriesWindows phone 7 series
Windows phone 7 seriesopenbala
 
Executing tools-in-modelbuilder-tutorial
Executing tools-in-modelbuilder-tutorialExecuting tools-in-modelbuilder-tutorial
Executing tools-in-modelbuilder-tutorialaskar_gila
 
iOS Development (Part 3) - Additional GUI Components
iOS Development (Part 3) - Additional GUI ComponentsiOS Development (Part 3) - Additional GUI Components
iOS Development (Part 3) - Additional GUI ComponentsAsim Rais Siddiqui
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentIJERD Editor
 
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twistIntro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twistLauren Hayward Schaefer
 
Maps in android
Maps in androidMaps in android
Maps in androidSumita Das
 

Similar to Exploring Halifax Attractions using the Esri Runtime SDK for Android (20)

Android action bar and notifications-chapter16
Android action bar and notifications-chapter16Android action bar and notifications-chapter16
Android action bar and notifications-chapter16
 
Publishing geoprocessing-services-tutorial
Publishing geoprocessing-services-tutorialPublishing geoprocessing-services-tutorial
Publishing geoprocessing-services-tutorial
 
GEIT 3341 DATABASE I LAB 2 GEIT 3341 Database I
GEIT 3341  DATABASE I  LAB 2  GEIT 3341 Database I  GEIT 3341  DATABASE I  LAB 2  GEIT 3341 Database I
GEIT 3341 DATABASE I LAB 2 GEIT 3341 Database I
 
Trimantra - Project Portfolio_NET
Trimantra - Project Portfolio_NETTrimantra - Project Portfolio_NET
Trimantra - Project Portfolio_NET
 
Cloud technology (Mashup) + Case Study
Cloud technology (Mashup) + Case StudyCloud technology (Mashup) + Case Study
Cloud technology (Mashup) + Case Study
 
Create Location Sharing apps using the Ionic framework
Create Location Sharing apps using the Ionic framework					Create Location Sharing apps using the Ionic framework
Create Location Sharing apps using the Ionic framework
 
Android MapView and MapActivity
Android MapView and MapActivityAndroid MapView and MapActivity
Android MapView and MapActivity
 
MIDIH i-Deal-profile experiment
MIDIH i-Deal-profile experimentMIDIH i-Deal-profile experiment
MIDIH i-Deal-profile experiment
 
Basic commands of ArcGIS
Basic commands of ArcGISBasic commands of ArcGIS
Basic commands of ArcGIS
 
AssignmentThe work is structured in five main parts, each one addi.docx
AssignmentThe work is structured in five main parts, each one addi.docxAssignmentThe work is structured in five main parts, each one addi.docx
AssignmentThe work is structured in five main parts, each one addi.docx
 
Windows phone 7 series
Windows phone 7 seriesWindows phone 7 series
Windows phone 7 series
 
Apple watch course
Apple watch courseApple watch course
Apple watch course
 
Executing tools-in-modelbuilder-tutorial
Executing tools-in-modelbuilder-tutorialExecuting tools-in-modelbuilder-tutorial
Executing tools-in-modelbuilder-tutorial
 
Android app development guide for freshers by ace web academy
Android app development guide for freshers  by ace web academyAndroid app development guide for freshers  by ace web academy
Android app development guide for freshers by ace web academy
 
iOS Development (Part 3) - Additional GUI Components
iOS Development (Part 3) - Additional GUI ComponentsiOS Development (Part 3) - Additional GUI Components
iOS Development (Part 3) - Additional GUI Components
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
Vb%20 tutorial
Vb%20 tutorialVb%20 tutorial
Vb%20 tutorial
 
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twistIntro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
 
Maps in android
Maps in androidMaps in android
Maps in android
 
Distimo monitor
Distimo monitorDistimo monitor
Distimo monitor
 

More from COGS Presentations

Remote Sensing Field Camp 2016
Remote Sensing Field Camp 2016 Remote Sensing Field Camp 2016
Remote Sensing Field Camp 2016 COGS Presentations
 
Automated change detection in grass gis
Automated change detection in grass gisAutomated change detection in grass gis
Automated change detection in grass gisCOGS Presentations
 
Online Mapping Support - Age Advantage Association
Online Mapping Support - Age Advantage AssociationOnline Mapping Support - Age Advantage Association
Online Mapping Support - Age Advantage AssociationCOGS Presentations
 
Exploring the Usage of Municipal Parking in Wolfville's Downtown
Exploring the Usage of Municipal Parking in Wolfville's DowntownExploring the Usage of Municipal Parking in Wolfville's Downtown
Exploring the Usage of Municipal Parking in Wolfville's DowntownCOGS Presentations
 
From Report to Geographic Study
From Report to Geographic StudyFrom Report to Geographic Study
From Report to Geographic StudyCOGS Presentations
 
Online Mapping Support - Age Advantage Association
Online Mapping Support - Age Advantage Association Online Mapping Support - Age Advantage Association
Online Mapping Support - Age Advantage Association COGS Presentations
 
Geovisualisation and Analysis of the Good Country Index
Geovisualisation and Analysis of the Good Country IndexGeovisualisation and Analysis of the Good Country Index
Geovisualisation and Analysis of the Good Country IndexCOGS Presentations
 
Flood susceptibility for the kennebecasis watershed
Flood susceptibility for the kennebecasis watershedFlood susceptibility for the kennebecasis watershed
Flood susceptibility for the kennebecasis watershedCOGS Presentations
 

More from COGS Presentations (12)

Remote Sensing Field Camp 2016
Remote Sensing Field Camp 2016 Remote Sensing Field Camp 2016
Remote Sensing Field Camp 2016
 
Test2016
Test2016Test2016
Test2016
 
Automated change detection in grass gis
Automated change detection in grass gisAutomated change detection in grass gis
Automated change detection in grass gis
 
Online Mapping Support - Age Advantage Association
Online Mapping Support - Age Advantage AssociationOnline Mapping Support - Age Advantage Association
Online Mapping Support - Age Advantage Association
 
Andrew Fage presentation
Andrew Fage   presentationAndrew Fage   presentation
Andrew Fage presentation
 
Exploring the Usage of Municipal Parking in Wolfville's Downtown
Exploring the Usage of Municipal Parking in Wolfville's DowntownExploring the Usage of Municipal Parking in Wolfville's Downtown
Exploring the Usage of Municipal Parking in Wolfville's Downtown
 
From Report to Geographic Study
From Report to Geographic StudyFrom Report to Geographic Study
From Report to Geographic Study
 
GIS Consulting with the BCAF
GIS Consulting with the BCAFGIS Consulting with the BCAF
GIS Consulting with the BCAF
 
Online Mapping Support - Age Advantage Association
Online Mapping Support - Age Advantage Association Online Mapping Support - Age Advantage Association
Online Mapping Support - Age Advantage Association
 
CMacMullen_CubaPresentation
CMacMullen_CubaPresentationCMacMullen_CubaPresentation
CMacMullen_CubaPresentation
 
Geovisualisation and Analysis of the Good Country Index
Geovisualisation and Analysis of the Good Country IndexGeovisualisation and Analysis of the Good Country Index
Geovisualisation and Analysis of the Good Country Index
 
Flood susceptibility for the kennebecasis watershed
Flood susceptibility for the kennebecasis watershedFlood susceptibility for the kennebecasis watershed
Flood susceptibility for the kennebecasis watershed
 

Recently uploaded

POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentInMediaRes1
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfMahmoud M. Sallam
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...jaredbarbolino94
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.arsicmarija21
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media Component
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdf
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 

Exploring Halifax Attractions using the Esri Runtime SDK for Android

  • 1. Exploring Halifax Attractions using the Runtime SDK for Android Lindsay LeFresne and Sarah Micheau
  • 2.  Create an app of the Halifax region using an Esri basemap  Use feature layers to display data which can be turned on/off  Ability to query data  Find optimal routing between locations Initial Project Plan Image from: https://weather.gc.ca/forecast/canada/index_e.html?id=NS
  • 3. Software 2.1 Online & Desktop 10.3 Integrated Development Environment (IDE)
  • 4. Getting Started  Choose an Android Version and API level  Create an emulator  Basics of Android Studio  Esri tutorials from ArcGIS for Developers
  • 5. Android Platform Versions Platform versions are a trade off between the percentage of users’ the app aims to target and available features.
  • 6. Creating an Emulator  Option to connect an Android device or use a virtual emulator  We created several emulators in Android Studio which are shown in the image below
  • 7. Basics of Android Studio  Build Automation  Gradle has the ability to access other host repositories including Maven  Android studio is the only IDE that supports the Gradle build system
  • 8. Tutorial 1: Add a map to your app  Completed the ‘Add a map to your app’ tutorial on the Esri developers website  Defined MapView  Problems:
  • 9. Tutorial 2: Use ArcGIS basemaps (1/2)  In the onCreate method, the mapView was retrieved from the XML where we defined it earlier  onPause and onResume methods were added  In menu_main.xml 4 different basemaps were defined as a menu item
  • 10.  Several basemap variables were defined  In the onCreateOptionsMenu method, menu.getItem was used to retrieve the basemap menu items  onOptionsItemSelected uses the menu item ID to determine the action to be taken from the switch statement Tutorial 2: Use ArcGIS basemaps (2/2)
  • 11. Tutorial 3: Access feature data in the cloud  A Feature layer URL was added to the string.xml, this accesses the layer from the cloud  Layer variables were defined in main code  Code was added to the onCreate method to create the feature layer graphic upon start up
  • 12. Tutorial 4: Add geocoding to your app  Geocoding variables were added  New graphics layer was added in the onCreate method  Code was added to set a listener to ensure that the map view was initialized and ready to use upon app startup.  The next step was to allow user to enter an address this was done by adding a search button to the top bar in the app.  LocatorAsyncTask method added to execute the geocoding and zoom to the specified location.
  • 13. Creating the Layers Used  Trails  Provided by Halifax Open Data (http://www.halifax.ca/opendata/) and imported into ArcGIS Online  Breweries  Geocoded using ArcGIS Online  Shopping Centres  Main large shopping centres were chosen  Geocoded using ArcGIS Online  Parks  Provincial parks within Halifax County were located from http://parks.novascotia.ca/  Geocoded using ArcGIS Online  Hospitals  Geocoded using ArcGIS Online All layers were symbolized within ArcGIS Online, and made available to the public
  • 14. Geocoding in ArcGIS Online  CSV files were created using Addresses of the locations used.  They were then imported into ArcGIS Online which automatically geocoded the locations.
  • 15. Trails Layer  Layer was downloaded from Halifax Open Data website (http://www.halifax.ca/opendata/) as a shapefile and imported into ArcGIS for Desktop.  Problem: Projection Web Mercator  The layer is then shared as a feature service and brought into ArcGIS Online.  All feature layers were added in the string.xml file using the feature service URL’s
  • 16. Creating Image Buttons  Image Buttons were created to allow user to query or select feature layers  Five image buttons were used: App Info, Brewery, Biking (Trails), Parks and Shopping Centres.  A drawable xml was created for each button that defined the shape and color of the button.  The ImageButtons were created under the layout folder with the drawable and mipmap photos assigned as part of their attributes  The onClick attribute was used to link the button to a method within the code that defined the button’s action.
  • 17. Using the App Info Button  When information button is clicked the method appInfo is called that displays a pop up window explaining the app to the user.
  • 18. Using the Brewery Button  When the brewery button is clicked the onBreweryClick method is called  This method uses a boolean to track whether the layer is turned on or off.  For example if the layer is turned on, pressing the button will turn the layer off and vice versa.  Brewery layer was added as a feature layer using the feature layer URL
  • 19. Using the Trail (Biking) Button  The trail layer is defined in the onCreate method and is displayed upon start up.  When the user clicks on the biking button it calls the showPopup method.  When the user makes their selection it calls the onMenuItemClick method.  Resulting trails are highlighted in blue using a SimpeLineSymbol
  • 20. Using the Park button  The park layer is defined in the onCreate method and is displayed upon start up  This button works similarly to the biking button, where it queries the layers attributes allowing the user to select parks where there is swimming permitted.  The button calls the showPopupPark method to inflate the park menu  Parks are identified by an overlaying SimpleMarkerSymbol
  • 21. Using the Shopping Button  When the shopping button is clicked the onShoppingClick method is called. The button calls the showPopupPark method to inflate the park menu  Similar to the brewery button, this method uses a Boolean to track whether the layer is turned on or off  For example is the layer is turned on, presses the button will turn the layer off and vice versa  Shopping Centre's are shown with blue shopping bag symbols
  • 22. Using the Hospital Menu  When the hospital button is clicked on the top tool bar the hospital menu is inflated using the showPopupHospital method.  When a hospital is chosen from the menu, the onMenuItemClick method is called which queries the chosen hospital based on it’s attributes.  This results in a red cross graphic overlaying the hospital the user selected
  • 23. Other Problems  Android Studio frequent updates  Downloaded projects from GitHub would not sync (Routing)  Creating multiple menus  Main activity is doing too much work
  • 24. QUESTIONS? Team work makes the dream work!

Editor's Notes

  1. iNTRO
  2. 2
  3. 3
  4. 5
  5. 6
  6. 7
  7. 8
  8. 9
  9. 10
  10. 11
  11. 13
  12. 14
  13. We created an AlertDialog builder. This allows the user to close the popup window when they wish. The other option was to use the toast option. But a specific amount of time coujld not be chosen (only short and long), and we did not know the speed of the reader
  14. Problem: initial problem was that the when the layer was turned on, the button disappeared
  15. 19
  16. 20
  17. 24