What this book covers
Chapter 1, Design Patterns, introduces the development environment, and two common design patterns, the factory and abstract factory.
Chapter 2, Creational Patterns, covers material and interface design, exploring the design support library and the builder design pattern.
Chapter 3, Material Patterns, introduces Android User Interfaces and some of the most significant material design components such as the app bar and sliding navigation drawer. This will introduce menus and action icons and how to implement them and how to use a drawer listener to detect user activity.
Chapter 4, Layout Patterns, leads in from the previous one, delving further into Android Layout design patterns and how gravity and weight can be used to create layouts that work on a variety of devices. This will take us onto how Android handles device orientation and screen size and shape differences. The strategy pattern is introduced and demonstrated.
Chapter 5, Structural Patterns, delves us deeper into the design library and create a layout governed by a coordinator layout with a recycler view. This requires exploring the adapter design pattern, first the internal versions and then we build one of our own, as well as a bridge pattern and facade and filter patterns.
Chapter 6, Activating Patterns, shows us how to apply patterns directly to our app. We cover more design library features such as collapsing toolbars, scrolling and divider. We crate a custom dialog, triggered by user activity. We revisit the factory patterns and show how a builder pattern can be used to inflate a UI.
Chapter 7, Combining Patterns, introduces and demonstrates two new structural patterns the prototype and decorator, covering their flexibility. This is then put in to practice as we use the patterns to control a UI comprised of different compound buttons such as switches and radio groups.
Chapter 8, Composing Patterns, concentrates on the composite pattern and how it can be used in many situations and how to select the right situation. We then continue to use it in a practical demonstration to inflate a nested UI. This leads into the storage and retrieval of persistent data, using internal storage, application files and ultimately user settings in the form of shared preferences.
Chapter 9, Observing Patterns, looks at the visual processes involved in the transitions from one Activity to another and how this can be far more than mere decoration. The reader learns how to apply transitions and shared elements to efficiently use the minimal screen space of mobile devices and simplify application use and operation.
Chapter 10, Behavioral Patterns, concentrates on the major behavioral patterns, template, strategy, visitor and state. It provides working demonstrations of each and covers their flexibility and usage.
Chapter 11, Wearable Patterns, shows working of Android Wear, TV and Auto, demonstrating how to set up and configure each in turn. We examine the differences between these and the standard handheld app.
Chapter 12, Social Patterns, shows how to add web functionality and social media. Firstly the WebView is explored and how it can be used to create internal web-apps. Next, how to connect our app to Facebook is explored, showing how this is done and what we can do with it. The chapter concludes by examining other social platforms, such as Twitter.
Chapter 13, Distribution Patterns, covers deployment, publication and monetization of Android apps. The reader is led through the registration and publication process and we take a look at advertising options and which are best suited to which purpose. Finally we look at how we can maximize potential users with a few tips and tricks of deployment.