Paths
Android
Android is an open-source operating system maintained by Google that runs on over 80% of all mobile handsets today. Android provides an adaptive app framework that allows you to... Read more
Beginner
The beginner courses in this path will give you a solid foundation in fundamental Android concepts. You’ll be introduced to fragments, intents, activities, and data binding before stepping into some of the basic layout concepts for Android apps.
Start Developing for Android
Beginner • 1h 3m
Description
Build your very first Android app with this course! You will first learn how Android apps are structured, then download Android Studio to compile the Hello World app. You will then extend the Hello World app to learn core concepts such as drawables, dimens, styles, menu, and testing. The course concludes with a list of next steps for you to expand your Android knowledge.
Table of contents
- Introduction3m 28s
- Android Studio Installation9m 45s
- Building the Hello World App45m 22s
- Taking Your Next Steps5m 18s
Android Beginner Series: Understanding Android
Beginner • 2h 5m
Description
Have you wanted to learn about Android development, but perhaps you don't know where to start? Perhaps you are brand new to the world of programming and want to learn how to program quickly while doing something fun like developing an Android app? If so, this brand new course series might be just what you are looking for. This is the first course in a series of 4 courses designed to take you from knowing nothing about Android and very little about programming in general to building your own Android apps and games. Here is a breakdown of the courses: course 1: Understanding Android - this course; course 2: Creating Android Apps Without Code Using App Inventor; course 3: Just Enough Java To Build An Android App; course 4: Building a Simple Game In Android. In this first course, we take a look at the very basics of Android and learn exactly what Android is and how it works. This course will go over the design and history of Android. Then we'll take a look at what exactly an operating system is so that we can better understand the Android operating system and how it works. After that we'll go over Android applications and exactly what makes them unique. And we'll finish up the course by talking about all the different ways you can develop Android applications and how the Android app markets work. By the time you finish this course, you should have a solid foundation in Android fundamentals and be ready to start learning how to develop Android applications in the upcoming courses in this series. Whatever your level of programming experience, this course series will get you building your own apps and games in Android quickly, and we'll have fun doing it. And even if you are already an Android developer, you may find the in depth understanding of how Android works that you will learn from this course valuable.
Table of contents
- Welcome To Android26m 31s
- The Android Operating System25m 1s
- Anatomy Of An Android App27m 24s
- Ways To Develop Android Apps23m 14s
- Android App Markets23m 16s
Android Programming with Intents
Intermediate • 4h 14m
Description
Three of the core components of an application - activities, services, and broadcast receivers - are activated through messages, called intents. Intent messaging is a facility for late run-time binding between components in the same or different applications. In this course you will learn how to work effectively with and capitalize on the many capabilities of the Android platform provided through intents.
Table of contents
- Android Late Binding and Intents37m 8s
- Component activation with intents1h 5m 41s
- Delegation and Callbacks through PendingIntents44m 51s
- IntentFilter data tests43m 4s
- Working with Platform Features Through Intents1h 3m 55s
Introduction to Testing in Java
Beginner • 3h 54m
Description
This course introduces why you want to write automated tests for your code and how to implement this in Java, covering fundamentals of how to write simple tests using JUnit and Hamcrest, through Test Driven Development (TDD) and then explains how to structure your code and design in order to make testing easier.
Table of contents
- Introduction15m 36s
- Testing Code38m 46s
- Writing Good Tests48m 19s
- Introducing Test Driven Development43m 51s
- Dependencies39m 44s
- Going Outside-in47m 48s
Exploring Android Studio
Beginner • 5h 39m
Description
Android Studio is the new Android application development IDE powered by the IntelliJ IDEA platform. The course will take you through downloading and setting up Android Studio on Windows, migrating to Android Studio from Eclipse, and developing Android applications and libraries. In this course, you will not only learn basic use of Android Studio, but also how to take advantage of its advanced features to provide more robust code and make you a more productive developer. Android Studio's new Gradle and Maven based build systems are covered so you know how to take advantage of the powerful build variant and dependency management they provide.
Table of contents
- Introduction14m 10s
- Setting Up Android Studio11m 13s
- Migrating to Android Studio19m 10s
- Android SDK Tools44m 23s
- Creating Apps With Android Studio48m 51s
- Building and Debugging With Android Studio16m 26s
- Library Projects With Android Studio19m 31s
- Building a Release Package12m 47s
- Advanced Features1h 13m 6s
- The Gradle Build System48m 8s
- The Android Gradle Plugin31m 26s
Android Fundamentals: SharedPreferences
Beginner • 1h 38m
Description
SharedPereferences is an API that allows you to save a small collection of data persistently. This course, Android Fundamentals: SharedPreferences, is all about basics and fundamental concepts of SharedPreferences. First, you'll get an introduction to Android storage options. Next, you'll see how saving and retrieving data from SharedPreferences works. Finally, you'll use GSON to save and retrieve non-primitive data types. After completing this course, you'll know how to save, retrieve, and modify data both at the activity level and application level through your illustrative demo application.
Table of contents
- Course Overview1m 19s
- Introduction6m 22s
- Saving and Retrieving Data from SharedPreferences54m 55s
- Using GSON to Save and Retrieve Non-primitive Data Type35m 35s
Introduction to SQL
Beginner • 3h 2m
Description
Structured Query Language (SQL) is a special purpose language for interacting with relational databases. In this course, Introduction to SQL (Update), you will learn the basics of Structured Query Language. First, you will learn how to query data and shape results. Next, you will focus on creating and modifying data in your tables. Finally, you will touch on how actually modify the tables themselves. By the end of this course, you'll understand the basics of how to create and use a relational database.
Table of contents
- Course Overview1m 30s
- Introduction11m 36s
- Understanding Basic SQL Syntax13m 1s
- Querying Data with the SELECT Statement25m 28s
- Filtering Results with the WHERE Clause36m 17s
- Shaping Results with ORDER BY and GROUP BY27m 8s
- Matching Different Data Tables with JOINs18m 58s
- Adding, Changing, and Removing Data20m 33s
- Creating Database Tables28m 12s
Android Fundamentals: Activities
Beginner • 2h 43m
Description
Start developing Android apps and get a deeper knowledge of basic Android Components such as Activities in real quick time. In this course, Android Fundamentals: Activities, you'll be learning all about Activity and its related fundamental concepts. First, you'll get an introduction to Android Components and progressively cover the topic of Event Handling, Logcat, and also dive into the building block component of any Android apps. You'll be learning about Android Component Activity such as its lifecycle and its behavior on screen rotation. Finally you'll learn how to exchange data between activities. By the end of this course, you'll have a very strong foundation on the topic of android activities.
Table of contents
- Course Overview1m 10s
- Introduction5m
- Getting Familiar with Building Blocks of Android18m 23s
- Using Activities to Listen to Events31m 57s
- Sharing Data Between Activities Using Explicit Intent27m 54s
- Exploring Activity Lifecycle33m 55s
- Understanding Activity Lifecycle in Context of Screen Rotation45m 36s
Android Fundamentals: Data Binding
Beginner • 1h 38m
Description
Binding data to views in Android can be an exercise in redundancy. We have typed the methods 'findViewById' and 'setText' many times and have consigned ourselves to the monotony. At Google I/O 2015, a new data binding library was announced that promises to free us from much of the boilerplate code we write for our views. Even in its beta release, the library is powerful and useful. The Data Binding Guide provided by Google teases the capabilities of this library. This course will explore the details of the data-binding library mixing both theory and practice. After finishing the course, you will have a solid foundation on how to use the data binding library to reduce your development time and increase your code clarity.
Table of contents
- Introduction8m 8s
- Simple Data Binding35m 1s
- Custom and Dynamic Binding25m 23s
- Observables20m 34s
- Pitfalls and Pro-tips9m 47s
Android Layout Fundamentals
Intermediate • 1h 39m
Description
Android has four basic layout classes: LinearLayout, RelativeLayout, FrameLayout and TableLayout. How do they work? How to decide when to use which? This course goes into the details of each class, explains their various attributes, then demonstrates various tools and techniques to examine and optimize your layouts.
Table of contents
- Introduction15m 31s
- LinearLayout12m 25s
- RelativeLayout13m 56s
- FrameLayout6m 53s
- TableLayout11m 4s
- Choosing the Right Layout39m 21s
Android Fundamentals: Styles and Themes
Beginner • 2h 46m
Description
An attractive user interface is the first impression of any application that the users come across. To provide a smooth, attractive, and consistent user-interface and design, the most important step that a developer should focus on is the themes and styles of the application. This course, Android Fundamentals: Styles and Themes, is all about how to apply styles to the views and widgets present in the android application, and choosing appropriate themes for an app. First, you will focus on how to apply styles to a View or ViewGroup, along with using the concept of inheritance for styling Views. Next, you'll go over customizing a theme for your application and which can help users identify the category of your application to some extent by just having a glance at it. Finally, you'll go over how best to handle some compatibility issues with your app for lower API level devices that will use it. When you are finished with this course, you'll have a better understanding of how to apply styles and themes to your Android applications.
Table of contents
- Course Overview1m 25s
- Introduction3m 13s
- Styling Views49m 28s
- Using the Concept of Inheritance for Styling Views35m 31s
- Applying Themes27m 17s
- Maintaining Backward Compatibility27m 7s
- Exploring Practical Usage of Styles and Themes22m 36s
Intermediate
In this section you’ll learn how to publish and monetize Android apps, then dive deeper into layout, UI/UX, and working with the Material Design Library.
Getting Started with Google Play In-app Billing
Intermediate • 1h 25m
Description
In-app purchasing is a common and important way for monetizing apps. This course introduces you to integrating Google Play In-app Billing into Android apps in a comprehensive way. You can get the introduction of the whole image of In-app Billing, learn how the purchase flow works, purchase and consume in-app products, and test In-app Billing in a sandbox. The possible security issues are discussed and suggestions are given on how to deal with the problems. Finally, you will get inspiration on how to increase sales with In-app Billing.
Table of contents
- Understanding Google Play Billing6m 28s
- Creating Digital Products in Google Play15m 54s
- Purchasing and Testing In-app Products42m 9s
- Securing Your In-app Billing13m 16s
- Increasing Your Sales7m 25s
Android Processes and Threads
Intermediate • 1h 59m
Description
At its core, Android is built to take advantage of multi-tasking operations, be it from separate applications or different operations within the same app. In addition to providing built in support for working with threads, Android provides a solid framework for inter-process communication and puts a twist on the way app processes are used. In this course you will learn about the way Android utilizes processes, how to take advantage of special app sharing features and explore the variety of ways in which threads can be used.
Table of contents
- Android Processes and Threads (Application Process Model)27m 23s
- Android Processes and Threads (Sharing User IDs and Processes)36m 23s
- Android Processes and Threads (Threads and Thread Options)56m 5s
Getting Started with Android Material Design
Beginner • 4h 21m
Description
Curious about Android Material Design? This is the your final stop where you will get information regarding material design specifications and the related widgets being used with material design themes. The best part of this course is that you will learn to make several complete android demo apps from scratch - two major apps and several small apps - based on material design guidelines. Enhance your application user interface designing skills by implementing all new materialistic features introduced in Android Lollipop 5.0.
Table of contents
- Course Overview1m 14s
- Introduction10m 8s
- Understanding Material Design40m 33s
- Adding a Toolbar31m 46s
- Understanding Recycler and Card Views1h 2m 23s
- Working with Items and Layout in Recycler View30m 36s
- Implementing the Navigation Drawer31m 29s
- Using Animation53m 19s
Improving User Interface Design with Android Fragments
Intermediate • 3h 1m
Description
Available to all Android platforms, 1.6 and above, Fragments now replace Activities as the primary canvas for UI design. Fragments address a number of key UI design issues. In this course we discuss how to use Fragments to improve your app’s adaptability to device differences, provider better UI modularization, enhance your app’s appearance, and improve your app’s usability by creating more context-aware user experiences.
Table of contents
- Fragment Basics44m 45s
- Fragment Transactions35m 45s
- Fragments lifecycle and specialization55m 22s
- Fragments and the ActionBar45m 38s
Android Dreams, Widgets and Notifications: Life Outside Your App
Intermediate • 3h 20m
Description
Sometimes the best app experiences occur completely outside of your app. Users must often switch back and forth between a variety of tasks, which they can do much more effectively if they can interact with each app’s information without having to explicitly open the app. This course teaches you how to provide this incredible out-of-app user experience using Android dreams, widgets, and notifications. Dreams allow your app to display information or provide entertainment while the device is docked or charging. Widgets allow your app to provide an interactive user experience directly on the Android home screen. With notifications your app can provide information to the user through the status bar even when the user is using a different app; notifications can also gather information from the user and, when necessary, allow the user to jump directly to the appropriate screen within your app right from the status bar.
Table of contents
- Providing an Out-of-App Experience16m 51s
- Creating Engaging Notfications49m 5s
- Making Notfications Interactive46m 43s
- Creating Home Screen Widgets36m 35s
- Updating and Configuring Widgets51m 37s
Advanced
The advanced courses here will teach you to create custom components for your apps before guiding you through the Android accessibility standards. You'll also be working with async services and programming custom notifications for the Android app bar.
Improving User Interaction with the Android ActionBar
Intermediate • 2h 35m
Description
The ActionBar incorporates a variety of previously disparate user interaction concepts into a single control. The ActionBar provides one-stop shopping for menu management, home and back behavior, tabbed displays, screen layout adaptability, and many more user interaction concepts. In this course we look at how to provide a rich user experience by taking full advantage of the ActionBar in your apps.
Table of contents
- Improving User Interaction with the Android ActionBar22m 18s
- Managing the ActionBar Layout39m 5s
- ActionBar Navigation1h 4m 38s
- ActionBar Interactivity29m 38s
Android Custom Components
Intermediate • 1h 39m
Description
Android comes with many built-in components, but some tasks are best accomplished by rolling your own. We will start from a simple example of enhancing the TextView class, and finish with a complete custom view with its own size measurement, drawing function, and custom attributes. We will also discuss the best practices for custom views. What is the difference between a custom view and a fragment? How about a compound control? When to use which? By the end of the course, you will know not only how to create reusable custom components, but when to use them.
Table of contents
- Introduction4m 17s
- Extend a Simple View13m 1s
- Compound Control27m 23s
- onMeasure9m 52s
- onLayout10m 19s
- onDraw24m 6s
- dispatchDraw6m 54s
- Fragment vs. Custom View3m 47s
Android Fundamentals: Accessibility
Intermediate • 3h 3m
Description
Many users have physical limitations that may make seeing the device display or interacting with the touchscreen difficult. Android provides a number of accessibility features and services and this course, Android Fundamentals: Accessibility, will serve as your guide to including these features in your apps. You'll start with an introduction to the goals of accessibility and how Android handles accessibility. Then, you'll get started making apps accessible by incorporating support for non-touch navigation and view descriptions, as well as seeing how to design and create apps that provide a single high-quality experience that works equally well for users with or without accessibility needs. You'll also get to see how to add some important accessibility features, such as Talkback support and d-pad navigation, to your custom views. Finally, you will go over the important relationship between testing and accessibility. By the end of this course, you'll be better able to build apps in such a way that they will be accessible to all users.
Table of contents
- Course Overview2m 8s
- Understanding Accessibility Basics12m 50s
- Making Your App Accessible39m 59s
- Designing for Accessibility51m 10s
- Creating Accessible CustomViews57m 36s
- Testing Accessibility19m 19s
Android Async Programming and Services
Advanced • 3h 3m
Description
In this course you will learn how to use Android services and asynchronous processing to create applications that provide a more responsive user experience. Topics covered include Android Services, background processing, threading, asynchronous tasks, Started Services, Foreground Services, Notifications, Android Service lifecycle, and ExecutorService.
Table of contents
- Challenges to a responsive user experience48m 35s
- Implementing long-running operations as a service41m 3s
- Service lifecycle management46m 26s
- Interacting with services47m 4s
What you will learn
- Activity lifecycle
- Service lifecycle
- Using Services
- Layout files
- Making components accessible from code
- Storing complex data
- Accessing data asynchronously
- Customizing data display
- Directory structure
- Adapting to device differences
- Globalization
- Drawing resources
- Fragment lifecycle
- Dynamic Fragments
- Backstack management
- Defining Fragment UI Maintaining responsiveness during long-running tasks
- Understanding the purpose of Context
- Accessing system services
- Permissions
- Understanding the purpose of Intents
- Handling URIs
- Device Management
- Development tools
Pre-requisites
Register for FREE. Get your Pluralsight IQ.
You’ll get unlimited access to adaptive skill assessments that help you validate your skills in as little as 5 minutes, and you'll get to see the Pluralsight platform first-hand.
