NORTHWEST NAZARENE UNIVERSITY Assisting Frog

NORTHWEST NAZARENE UNIVERSITY Assisting Frog

NORTHWEST NAZARENE UNIVERSITY Assisting Frog Identification in Costa Rica Using a Mobile App THESIS Submitted to the Department of Mathematics and Computer Science in partial fulfillment of the requirements for the degree of BACHELOR OF ARTS Justin Tyler Laplante 2021 THESIS Submitted to the Department of Mathematics and Computer Science in partial fulfillment of the requirements for the degree of BACHELOR OF ARTS Justin Tyler Laplante 2021 Assisting Frog Identification in Costa Rica Using a Mobile App Author: ____________________________________________________________ Justin Tyler Laplante Approved: ____________________________________________________________ Dale Hamilton, Ph.D., Professor, Department of Mathematics and Computer Science, Faculty Advisor Approved: ____________________________________________________________ John Cossel Jr., Ph.D., Professor, Chair, Department of Biology Second Reader Approved: ____________________________________________________________ Barry L. Myers, Ph.D., Chair, Department of Mathematics & Computer Science ABSTRACT Assisting Frog Identification in Costa Rica Using a Mobile App. LAPLANTE, JUSTIN (Department of Mathematics and Computer Science). Quickly identifying a single frog species from over a hundred other possible species can be a challenge for research while in the Costa Rican jungle. Though researchers can use field guides to assist, these still mean you may have look through all currently identified frog species to find the frog being viewed. This project was created to help researchers narrow the list of possible frog species quickly based on Geolocation. Using Xamarin.Forms, an app was developed that worked offline, used an ArcGIS API and was cross platform. However, to ensure performs and accuracy certain design choices were made for designing the ArcGIS map that was used within the app. The used geospatial data for the frog species and generalized it into a hexagonal pattern. For the app to handle the frog and app data using xml and the MVVM Architectural pattern. iii Acknowledgement I would like to thank my parents for giving me the wonderful opportunity of going to college. I would like to thank Dr. Myers, Dr. Hamilton, and Prof. McCarty for being excellent professors in all the computer science classes and teaching me more than I know what to do with. I would like to thank Dr. Cossel for giving me a senior project that I really enjoyed working on and showed me how much I have yet to learn. Finally, I want to thank my first three years of excellent roommates in college, I never knew how lucky I was to have each one of them until senior year when I didn’t have them. iv Table of Contents Title ................................................................................................................................................... i Signature Page ................................................................................................................................. ii ABSTRACT ........................................................................................................................................ iii Acknowledgement .......................................................................................................................... iv Table of Figures: ............................................................................................................................. vii Overview: ..................................................................................................................................... 1 Project Overview: ..................................................................................................................... 1 Application Requirements: ...................................................................................................... 1 Design Choices: ............................................................................................................................ 1 Designing Application: ............................................................................................................. 1 Application Development Framework: .................................................................................... 2 Application Data Design Pattern: ............................................................................................. 3 Designing a custom ArcGIS Map: ............................................................................................. 6 Development: .............................................................................................................................. 7 Application Views:.................................................................................................................... 7 Final Remarks ............................................................................................................................... 9 Complications: ......................................................................................................................... 9 Future Work: .......................................................................................................................... 10 Conclusion: ............................................................................................................................. 10 Appendix A: Models ................................................................................................................... 13 FrogSpecies.cs ........................................................................................................................ 13 Appendix B: Services .................................................................................................................. 14 FrogSpeciesDataStore.cs ........................................................................................................ 14 ISpeciesButtonStorage.cs ....................................................................................................... 15 Appendix C: ViewModel ............................................................................................................. 16 BaseViewModel.cs ................................................................................................................. 16 FrogDetailViewModel.cs ........................................................................................................ 17 MainPageViewModel.cs......................................................................................................... 18 MapPageViewModel.cs ......................................................................................................... 19 NearbyFrogsViewModel.cs .................................................................................................... 20 ShellViewModel.cs ................................................................................................................. 22 Appendix D: Views ..................................................................................................................... 23 v FrogDetailPage.xaml .............................................................................................................. 23 FrogDetailPage.xaml.cs .......................................................................................................... 23 MainPage.xaml....................................................................................................................... 24 MainPage.xaml.cs .................................................................................................................. 24 MapPage.xaml ....................................................................................................................... 25 MapPage.xaml.cs ................................................................................................................... 25 NearbyFrogsPage.xaml .......................................................................................................... 26 NearbyFrogsPage.xaml.cs ...................................................................................................... 27 Appendix E: App shell ................................................................................................................ 29 App.xaml ................................................................................................................................ 29 App.xaml.cs ............................................................................................................................ 29 AppShell.xaml ........................................................................................................................ 30 AppShell.xaml.cs .................................................................................................................... 31 Appendix F: FrogSpeciesInfo ...................................................................................................... 32 FrogSpeciesInfoXML.xml ........................................................................................................ 32 vi Table of Figures: 1 – Adobe XD storyboard ....................................................................................................2 2 – MVC Process .................................................................................................................4 3 – MVP Process ..................................................................................................................5 4 – MVVM Process .............................................................................................................5

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    81 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us