Broadening Android App Appeal and Reach

The Android platform encompasses a rich ecosystem of users and devices. In this course, you’ll learn how to create apps that effectively engage this ecosystem through multiple language support, device adaptability, accessibility, and custom views.

Course info

Rating

(17)

Level

Advanced

Updated

Jan 2, 2018

Duration

4h 4m

Description

The Android platform encompasses one of the largest user bases of any platform and provides those users with a rich device ecosystem filled with choices. In this course, Broadening Android App Appeal and Reach, you’ll learn how to succeed in this environment by creating apps that effectively engage the needs of these users and that adapt to their individual device capabilities. First, you will see how to use the Android resource system to create apps that dynamically adapt to device features and capabilities. Next, you’ll explore how to create locale-aware apps that have multiple-language support and display text in the user’s language of choice. After that, you’ll dive into creating custom views that allow your app to present a rich and engaging user experience. You’ll then learn to add Android Studio design-time configurability to your custom views and incorporate interactive features. Finally, you’ll gain an understanding of how to create apps that provide support for accessibility features such as non-touch navigation and screen readers. By the end of this course, you’ll have the skills and knowledge to create your own Android applications that that effectively engage and meet the needs of the rich ecosystem of Android devices and users.

About the author

Jim Wilson is president of JW Hedgehog, Inc., a consulting firm specializing in solutions for the Android, iOS, and Microsoft platforms. Jim has over 30 years of software engineering experience, with the past 15 years heavily focused on creating mobile device and location-based solutions.

Section Introduction Transcripts

Working with Resources for Localization and AdaptabilityWelcome to the Pluralsight course, Broadening Android App Appeal and Reach. This is our first module working with resources for localization and adaptability. My name is Jim Wilson. This is the final course in our series, and I have to say it's one of my favorites because, in this course, we'll cover those Android capabilities that allow us to create apps to provide an engaging experience that work well with a rich universe of Android devices and support a broad user base. So in this module, we'll look at how we can use resources to help our apps adapt to device differences. Then later in the course, we'll see how to create custom views, we'll see how to handle custom views sizing and positioning, we'll see how to make our custom views interactive and provide configuration capabilities to Android Studio, and then we'll finish up by learning how to incorporate accessibility features into our apps. The Android resource system is at the heart of creating apps that adapt to the different needs of devices and users. Understanding how to use these capabilities is our focus in this module. So we'll start out with a look at how resources allow our apps to adapt to different device needs, and then from there, look at a number of specific situations. We'll look at how we can load different values based on a device's screen width, we'll see how we can create orientation specific layouts for our activities, we'll see how we can localize UI text into alternate languages, we'll see how we can use different drawable resources so that our images render effectively on differing device screen densities, and as part of that discussion, we'll take a look at the physical folder structure used to store our resources.

Creating a Custom ViewWelcome to our next module, Creating a Custom View. This is the Pluralsight course, Broadening Android App Appeal and Reach. My name is Jim Wilson. Android includes a powerful and rich set of view classes, but sometimes, you want to provide features, capabilities, or appearances to go beyond what's provided by the built-in view classes. Custom views allow us to do that. So we'll start out with an overview of custom views. We'll then see how to add a custom view class to our project using Android Studio. We'll then look at how to provide the custom appearance for our view. Now a key part of providing that appearance is properly calculating our drawing positioning, so we'll look at that next. And then we'll finish up, we'll look at the details of performing our custom drawing.

Handling Custom View Positioning and SizingWelcome to our next module, Handling Custom View Positioning and Sizing. This is the Pluralsight course, Broadening Android App Appeal and Reach. My name is Jim Wilson. In this module, we continue our discussion of custom views. And so, we'll start out, we'll look at how our custom views are placed within a layout and how positioning is managed. We'll then look at how our custom views manage padding within their drawing area, we'll see what our custom view's responsibilities are in terms of indicating its needed measurements, and as part of that process, we'll look at how our custom view can actually make its measurements adaptable. And then by making our measurements adaptable, we can see how we can adapt a way our view is drawn so it can deal with variations in the available size.

Incorporating Custom View Interactivity and ConfigurabilityWelcome to our next module, Incorporating Custom View Interactivity and Configurability. This is the Pluralsight course, Broadening Android App Appeal and Reach. My name is Jim Wilson. In this module, we'll wrap up our discussion of custom views, we'll look at some of their more dynamic capabilities. So we'll start out, we'll look at how we can access and interact with our custom view from within our application code. We'll then see how to add touch support to our custom view, so we can actually respond to user touch actions, and as part of that discussion, we'll see how to trigger updates to our custom view drawing so we can actually reflect any changes in the state of our custom view, and then we'll look at custom view configuration attributes and that'll actually allow us to provide properties that are accessible from within the Android Studio designer so that allows us to set design time values for things like our drawing colors and our drawing dimensions. And then we'll finish up, we'll look at how to manage our drawing dimensions within our custom view so we can draw consistently across different screen densities.

Adding AccessibilityWelcome to our next module, Adding Accessibility. This is the Pluralsight course, Broadening Android App Appeal and Reach. My name is Jim Wilson. As developers, we often assume that all of our users can see the display and are physically able to touch the device. However, in many cases, the user's physical condition, the application usage scenario, or device's capabilities may make one or both of these difficult. So in this module, we'll learn how incorporating accessibility into our apps empowers users to fully experience our app even when unable to see the display or physically touch the device. We'll start out, we'll look at our goals when incorporating accessibility into our applications, we'll then look at the key accessibility tools, which are screen readers and D-pad style navigation, we'll see how we can provide descriptions for our views to the screen reader, we'll see how to control D-pad navigation behavior, and we'll finish up and look at how we can automate the testing of our app's accessibility features.

Making the Custom View AccessibleWelcome to our next module, Making Our Custom View Accessible. This is the Pluralsight course, Broadening Android App Appeal and Reach. My name is Jim Wilson. In this module, we'll learn how to incorporate accessibility features into our custom views. So we'll start out, we'll look at the key considerations for making our custom views accessible. We'll then learn how to use the ExploreByTouchHelper class. The ExploreByTouchHelper class handles many of the core details for incorporating accessibility features into a custom view. We'll then learn how to expose our custom view's content to the accessibility system as virtual views. And then we'll finish up, we'll look at how to handle accessibility actions within our custom view.