Book Image

Learning Material Design

By : Kyle Mew, Nadir Belhaj
Book Image

Learning Material Design

By: Kyle Mew, Nadir Belhaj

Overview of this book

Google's Material Design language has taken the web development and design worlds by storm. Now available on many more platforms than Android, Material Design uses color, light, and movements to not only generate beautiful interfaces, but to provide intuitive navigation for the user. Learning Material Design will teach you the fundamental theories of Material Design using code samples to put these theories into practice. Focusing primarily on Android Studio, you’ll create mobile interfaces using the most widely used and powerful material components, such as sliding drawers and floating action buttons. Each section will introduce the relevant Java classes and APIs required to implement these components. With the rules regarding structure, layout, iconography, and typography covered, we then move into animation and transition, possibly Material Design's most powerful concept, allowing complex hierarchies to be displayed simply and stylishly. With all the basic technologies and concepts mastered, the book concludes by showing you how these skills can be applied to other platforms, in particular web apps, using the powerful Polymer library.
Table of Contents (17 chapters)

Connecting a dataset

Android comes equipped with the SQLite library, which is a powerful tool for creating and managing complex databases. One could easily fill an entire chapter, or even a whole book, on the subject, but as this does not really bear any relation to Material Design, we will create a very simple dataset just so that we can test out our RecyclerView.

If you would like to learn more about SQLite, comprehensive documentation can be found at

For the sake of brevity, the example here contains only three entries; however, it is very easy to expand if you choose. To add this data, create a new Java class called Contact.Java and complete like so:

public class Contact {
    String name;
    String status;
private List<Contact> contacts;

Contact(intprofilePic, String name, String status) {
this.profilePic = profilePic; = name;
this.status = status;

private void loadData...