Exercise Tuesday

Goal: You have the next three days to practice everything we've learned thus far, paying special attention to flexible UIs and alternative resources, in order to create yet another impressive, functional portfolio piece. Make use of this extended period of in-class time on a single application to make something you'll be proud to show off!

Warm Up


Tuesday

  • Discuss with your partner what gestures and animations you've implemented into your apps so far; how did it go?
  • What animations or gestures would you still like to try out?

Wednesday

  • When does it make sense to refactor activities into fragments?
  • How does context change when we refactor code from activities into fragments?
  • How can fragments and activities communicate with one another?

Code


MyRestaurants Continued

Tuesday

Follow along with last night's homework in order to refactor several of our existing activities into the fragments required to later integrate both portrait and landscape-orientation layouts.

Wednesday

Follow along with last night's homework to add alternative resources that will provide special layouts and functionality when the user's device is oriented in a landscape position.

Flexible UI Project of Choice

As we near the end of our course, spend the next three days creating an in-depth and functional application to add to your growing portfolios. Take time to brainstorm something you'd be proud to show off to future employers.

Possible project ideas include:

  • A journaling app (either a general journal, or specifically be a diet, mood or gratitude journal).
  • A habit-tracker like HabitBull.
  • A budget tracker that allows you to manually enter expenses and see how much you spent in each category at the end of the month.
  • Anything else you and your partner can dream up!

Make sure your app includes the following features:

  • Flexible UIs and fragments. Moving forward, most code should exist in fragments (as seen in Flexible UIs: Fragments).
  • An easy-to-navigate UI for both portrait and landscape orientations.
  • Some sort of list view. When an individual item on the list is clicked, the user should see a detail view.
  • Is backed by Firebase.
  • Includes gesture listeners.
  • Includes alternate resources.
  • Makes use of animations throughout.

Further Exploration

If you and your partner are able to fulfill the requirements listed above, try spending time implementing the following:

  • Implement an API, if applicable to your app idea.
  • Integrate a visual library like DecoView to chart or visualize whatever data you're collecting, tracking and/or displaying to users.
  • Include user authentication.
  • At the end of day three, publish your app to Google Play.

Peer Code Review


  • Has the project included alternative resources successfully?
  • Is at least one animation in use? Does it add to the user experience?
  • Is at least one gesture listener in use? Is it easy to tell what gesture the application expects?
  • Does the layout change accordingly when the orientation of the screen is altered from portrait to landscape (and back again)?