Exercise Friday

Independent Projects Overview

Welcome to your first Android independent project! Before you begin, take a moment to revisit and review the Independent Projects and Code Reviews lesson.


Category of Choice

For each independent project in this course, you will be required to successfully implement the objectives listed below into one of the application types detailed in the Android Independent Projects lesson.

You will continue to work on this same project for the first four Fridays of the course, implementing new objectives each week.

Revisit the Android Independent Projects lesson for more information, real-world examples, and API suggestions for each of the application types listed above.


Your code will be reviewed for the following objectives. Please read them carefully!

While your app will not be judged on its appearance per se, it will be judged with regards to its UI and layout. Your app will be considered with regards how easy and intuitive it was to find and read information, how user input is submitted and handled, how your app communicates with its user, how forms are treated, as well as your app's responsiveness and overall stability.

  • Create an app with at least, bare minimum, 3 activities that the user can navigate to. Don't neglect about, bio, contact etc activities. Build these activities out with designs, UI, and functionality as much as possible. Remember to validate form inputs. Use toasts and hide/show to communicate statuses to your user, as well as DialogFragments.
  • Display a list of information. Build this out as much as possible.
  • Implement custom adapters (both Array and from scratch)
  • Use custom typefaces to enhance your designs.
  • Gather user input and pass it to another activity.
  • Validate all forms.
  • Use ButterKnife to bind all views.
  • Implement the View.OnClickListener interface to set click listeners to view elements.
  • Manually test your app thoroughly before submitting. A reproducible runtime crash is not acceptable. If you cannot fix the error, submit and reference the error in your readme.
  • Continue using good coding practices, especially indenting properly, commenting complex code segments, making logically separate Git commits, including a detailed README, and removing commented-out code and logging statements before committing.
  • Required functionality was present by the 5:00pm Friday deadline.
  • Project demonstrates understanding of this week’s concepts. If prompted, you can discuss your code with an instructor using correct terminology.


Submit your code for review to the User Interface Basics code review on Epicenter.

Visit Independent Projects and Code Reviews for details on how to submit your code, how feedback works and course completion requirements.