Skip to content

kiglarka/trip_planner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

43 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Trip Planner

Story

You woke up today with the great plan of travelling around the whole world. After spending half an hour browsing through the available planning apps, you decide to write your own instead which will obviously be perfect. It will be a helpful solution to collect your destinations into a database, and display them on a map.

What are you going to learn?

  • organize code with MVP architecture,
  • use the Room library for storing data in database,
  • show locations on Google Maps,
  • load images with Picasso,
  • learn the concept of Async Tasks.

Tasks

  1. The app has an Activity where all the data is displayed about each destination.

    • The package name is com.codecool.tripplanner, and the name of the application is Trip Planner
    • Destinations are saved into a Room database. The model contains at least a title, a gps coordinate and an url of a picture that shows the location
    • Use a RecyclerView to display the information
    • The project is using the MVP Architecture pattern
    • An image of each destination is displayed using the Picasso library to load it from the url
    • While the app is loading data, a gray overlay and a progressbar is displayed on top of the list.
    • When the list of destinations is empty, a text is displayed on the screen to inform the user, not just the empty RecyclerView
  2. There is an Activity where the user can add a new location and save it to the database

    • This screen uses a ConstraintLayout to offer a form, where the destionation details can be typed in
    • The save Button has a different pressed state than the normal background
  3. There is an Activity where the selected destination is displayed on a map

    • This feature uses the Google Maps library
  4. The app needs to have a custom icon and handle device rotation.

    • The application has an icon other than the default
    • The application handles device rotation

General requirements

  • All colors, dimens and string resources in the project are extracted into their respective xml files.

Hints

  • If your app needs to connect to the internet, you'll have to add a permission to the AndroidManifest.xml

Starting repository

Follow this link to create your project repository.

Background materials

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages