5th Project of Google and Udacity Scholarship program 2017/2018: Android Basics Nanodegree.
Application created by Greta Grigutė.
This application introduces users to VILNIUS - capital city of Lithuania.
Application has:
- 6 lists of popular objects in Vilnius:
- Architecture
- Sculpture
- Walks and sightseeing
- Cinema and theatre
- Eat and drink
- Shopping
- Unique design with b&w pictures, corresponding font.
- A changing view to show top 3 objects.
- Nice coordinator layout that hides top3 view when scrolling.
- Posibility to make your own Favorites list.
- Menu with Favorites and About application pages.
- Each object in the lists has description page with:
- Description
- Links for futher information/official pages
- Google maps link
- Button for sharing with friends
- Clickable links/contacts (if provided).
Pictures authors:
- Literatu Street, Cathedral Bell Tower, St. Annes Church, Gediminas av., Bernardine Church - Marius Grigutis
- Vingis Park, Bernardine Gardens and Grand Duke Gediminas Monument - Rūta Klimienė
- All other pictures - Greta Grigutė
Application icon: by Greta Grigutė
Icons: material.io/icons
Main font: Flat-it
Objects description source: www.vilnius-tourism.lt
Application allowing to show information about chosen place as a tour guide, information provided in at least 4 lists with pictures and details.
Learnings:
- ViewPager plus TabLayout
- Fragments
- Custom object for storing information
- RecyclerView for showing lists
- Custom adapter to populate the layout
- Pictures stored as multiple density drawables
- Layout best practices
- Easily readable and understandable code, well formatted
Additional learnings:
- RecyclerView
- Custom ripple effect on list item in RecyclerView
- Coordinator layout
- ViewPager in nested scrollView
- Data storage in Shared preferences
- Menu
- Custom ripple effect solution: Ripple effect to RecyclerView item Ripple effect on card view
- Coordinator layout learning sources: https://developer.android.com/reference/android/support/design/widget/CoordinatorLayout.html http://saulmm.github.io/mastering-coordinator https://lab.getbase.com/introduction-to-coordinator-layout-on-android
- Solution how to add view pager in nested scroll view: https://stackoverflow.com/questions/30580954/viewpager-in-a-nestedscrollview/33385207#33385207
- Solution to data storage as shared preferences: https://developer.android.com/training/data-storage/shared-preferences.html#WriteSharedPreference
- RecyclerView learning sources: http://www.vogella.com/tutorials/AndroidRecyclerView/article.html https://www.androidhive.info/2016/01/android-working-with-recycler-view
Copyright (c) 2018 Greta Grigutė
This project was submitted by Greta Grigutė, as part of Udacity's Android Basics Nanodegree (Google Developer Challenge 2017-2018). This code is protected by Udacity Honor Code and Community Code of Conduct. Submitting this project as yours will cause you to break the Udacity Honor Code and Community Code of Conduct referenced above. This project code was put to open-source for showcase what was learned, but author does not approve any form of plagiarism. If author becomes aware of any case of someone copying this code (whole or part) and trying to submit as it's own project, author will notify the Udacity representatives.