Paths

Google: Associate Android Developer (AAD)

The Associate Android Developer Certification from Google is a performance-based exam focused on demonstrating competency and skill in the tasks Android developers most frequently perform. This path will help you prepare for the Associate Android Developer Certification exam and provide you with a strong foundation in the skills necessary to work effectively as an Android developer.... Read moreRead less

Beginner

The courses in this section will teach you the fundamentals of Android development including Android Studio, activities, activity lifecycle, activity interaction with intents, UI layout design, debugging, automated testing, Android Support Libraries, Gradle, and more. These courses will give the foundation necessary to move to the intermediate level.

Understanding Android Application Basics

Description

The key to becoming a successful Android app developer is getting the basics right. Android is a component-based platform that has a different programming model than many other platforms. Understanding this component model, especially the familiar UI components known as Activities, is essential to success. In this course, Understanding Android Application Basics, you'll get a better understanding of the Android application basics. First, you'll start by deploying a simple Android application to become familiar with the environment. Next, you'll walk through the process of designing the user experience for a more involved application. Finally, using the Android Studio designer, you'll layout an interactive activity and connect it to Java code. Throughout the course you'll continue enhancing the app to become a multi-activity user experience that provides interactive editing features and proper Activity lifecycle management.

Table of contents

Building a Simple App28m

Designing and Planning Our App19m

Understanding Activities and Activity Layout Interaction46m

Working with Activities51m

Taking a Deeper Look at Activity Interaction52m

Understanding Activity Lifecycle33m

Working with Android Tools and Testing

Description

With any craftsman, knowing how to use your tools is a critical part of doing a job well. Android Studio, is the single most important tool for Android developers, and it includes a wide variety of features that empower developers to work effectively and assure software quality through testing. In this course, Working with Android Tools and Testing, you'll learn the skills necessary to work efficiently as an Android app developer, and assure quality software through testing. First, you'll start by exploring Android Studio productivity tools, such as refactoring and automatic code generation. Next, you'll learn how to identify and resolve application problems using the debugger. From there, you'll learn how to incorporate more expansive feature support into your applications using Android Support Libraries and the Gradle build system. Finally, you'll learn how to assure software quality and reliability through the combination of local JVM unit tests, Android instrumented unit tests, and automated user interface tests. By the end of this course, you'll have the necessary skills and knowledge to utilize Android Studio efficiently for your own Android applications.

Table of contents

Working with the Core Tools and Features45m

Understanding the Android Studio Build Process29m

Using JVM Testing48m

Understanding Instrumented Testing50m

Intermediate

These courses build on the Android fundamentals you learned in the previous section to teach you the skills necessary to provide a rich application experience that leverages the many features and capabilities of the Android platform. Topics covered include RecyclerView, CardView, NavigationDrawer, options menus, app bar actions, styles, themes, preferences, SQLite, content providers, notifications, PendingIntent, and more.

Enhancing the Android Application Experience

Description

Providing a high-quality user experience is critical to the success of any application. Android provides a wide-variety of features and capabilities that empower developers to provide such an experience and this course, Enhancing the Android Application Experience, will serve as your guide to including these features in your applications. First, you'll learn how to include rich, card-based lists using RecyclerView and CardView. After that, you'll explore how to improve user interaction with options menus and app bar actions. Next, you'll cover how to expand your application navigation experience with NavigationDrawer. To assure application reliability, you'll learn how to create automated UI tests that cover RecyclerView, options menus, and NavigationDrawer. Additionally, you'll dive into how to enrich the app appearance and branding through resources, styles, and themes. Finally, you'll discover how to provide user customizable behavior with SharedPreferences and settings screens. By the end of this course, you'll have the necessary skills and knowledge to create Android apps of your own that provide a high-quality engaging user experience.

Table of contents

Designing and Planning Your App8m

Working with RecyclerView and CardView26m

Binding Data to RecyclerView35m

Using Options Menus30m

Working with Navigation Drawer52m

Testing Menu, Navigation Drawer, and RecyclerView Behavior18m

Using Drawable and Values Resources34m

Customizing App Appearance with Styles and Themes45m

Creating Settings Screens and Accessing SharedPreferences39m

Managing Android App Data with SQLite

Description

SQLite is the persistent storage solution of choice for the overwhelming majority of Android applications. In this course, Managing Android App Data with SQLite, you'll learn how to create Android applications that effectively leverage the persistent storage capabilities of SQLite. First, you'll explore how to create and access a SQLite database in a way that conforms to the standards and best practices of Android app development. Next, you'll dig into the rich query capabilities of SQLite including row selection criteria and row ordering. Then, you'll discover how to use adapters to connect SQLite data to views like RecyclerView, Spinner, and ListView. Additionally, you'll walk through how to perform lifecycle aware queries using LoaderManager and CursorLoader. Finally, you'll learn how to update, delete, and insert data within a SQLite database, including how to maintain a responsive user experience. By the end of this course, you'll have the skills and knowledge to create Android applications of your own that persistently manage data within a SQLite database.

Table of contents

Understanding SQLite and SQLite Database Creation48m

Reading Data from SQLite38m

Filtering SQL Queries34m

Connecting SQLite Data to Views with Adapters39m

Performing Lifecycle Aware Data Loading with Loaders36m

Doing More with SQLite Queries31m

Interacting with SQLite Data38m

Exposing Data and Information Outside Your Android App

Description

Looking to create opportunities by expanding your Android applications and users beyond all traditional boundaries? In this course, Exposing Data and Information Outside Your Android App, you'll learn how to create opportunities for both applications and users to engage with your app's content in ways that extend beyond the traditional app experience. First, you'll explore how to centralize data management using a Content Provider and make that data available to other applications. Next, you'll discover how to access Content Provider data using a CursorLoader and content URIs. After that, you'll learn how to modify data through a Content Provider including associating URIs with individual table rows. Finally, you'll cover how to interact with users through notifications, including how to create expandable notifications that provide comprehensive display information, and allow users to launch app activities directly from the notification through the use of PendingIntents. By the end of this course, you'll have the skills and knowledge to create your own Android applications that provide rich data and user experiences that extend beyond the traditional reach of applications.

Table of contents

Creating a Content Provider38m

Identifying Content Provider Content47m

Interacting with Content Provider Content43m

Working with Notifications47m

Advanced

The courses in this section build on what you've learned in the previous sections to teach you how to create Android applications that closely integrate with the capabilities of the Android platform and are able to reach the widest available user audience. Topics covered include background work with services and JobScheduler, BroadcastReceiver, deep linking, globalization, device adaptability, accessibility, app widgets, custom views, and more.

Leveraging the Power of the Android Platform

Description

Modern applications include many rich time-based and background behaviors that extend well beyond direct interaction with the user. In this course, Leveraging the Power of the Android Platform, you'll learn how to use the powerful capabilities of the Android platform to create applications that incorporate these and other related behaviors. First, you'll explore how to utilize the Android threading model, AsyncTasks, Handlers, and StrictMode to effectively perform long-running work in a way that doesn't impact the user experience. Next, you'll discover how to use Android Services for background work that can be safely performed even after the user exits your application. After that, you'll learn how to use the Android Job Scheduler to create background jobs that rely on run criteria such as networking and power requirements, and delegate those jobs to the Android system for management and execution. Additionally, you'll cover how to use Android Broadcasts and Broadcast Receivers to publish information from one application, and allow other applications running on the same device to subscribe to that information. Finally, you'll delve into scheduling time-sensitive tasks using the Android Alarm Manager. By the end of this course, you'll have the skills and knowledge to create your own Android applications that incorporate the rich time-based and background execution behaviors required to create a successful application.

Table of contents

Understanding the Android Threading Model48m

Performing Background Work with Services36m

Scheduling Background Work with JobScheduler45m

Working with Broadcast Receivers32m

Using Alarms to Schedule Time-sensitive Tasks20m

Broadening Android App Appeal and Reach

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.