Confidently follow learning paths that help you develop the right skills in the right order to achieve your goals.
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 provide unique resources for different device configurations. Apps are developed using the Java language in tandem with the Android SDK. This path will start you out with the basics of Android and Android studio, before fine-tuning your skills to make beautiful and functional apps. For those interested, Google offers an official developer certification for Android developers.Get Started
application developer, mobile game developer, Java, Git, MySQL
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.
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.
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.
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.
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.
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.
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.
Structured Query Language (SQL) is a special purpose language for interacting with relational databases. This course is a gentle introduction to SQL and will lead you through the basics you need for querying, updating, and creating items in a database.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.