Lesson Weekend

This week we are going to learn how to save information from our Android applications into a database, and access this information later. This is known as data persistence.

First, we'll learn how to use SharedPreferences to save small bits of data directly into the user's phone. Next, we'll learn how to save more substantial portions of information by connecting to a tool called Firebase. You are familiar with connecting to Firebase already from your work in JavaScript unit, but also review Firebase data structuring conventions in order to ensure our databases are well-organized and follow best practices.

Once we've successfully connected to Firebase, we'll use their built-in user authentication tools to add user accounts to our applications. We'll also learn how to implement additional features such as dialog boxes, personalized welcome messages, and remembering user emails to auto-populate the login form.

Finally, we'll learn how to add a SearchView widget to allow users to input their own terms to search for specific content.

In addition to integrating these new tools and functionalities into our ongoing MyRestaurants project, you'll also have the opportunity to practice new material and add to your portfolio by creating two very common Android applications: A discussion forum, and instant messaging application.

Independent Project Objectives

After this week, your ongoing personal project will be reviewed for the following objectives:

  • Implement Firebase user authentication.
  • Save and retrieve data using Firebase, making sure to structure your data according to Firebase guidelines.
  • Employ the Firebase-RecyclerAdapter to display from your database.
  • Use SharedPreferences to save an important piece of data in your app.
  • Utilize dialogs to inform users of login status, etc.
  • Use a SearchView widget to gather user input.
  • Continue using good coding practices, especially indenting properly, making logically separate Git commits, including a 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.