Android Oreo introduces Adaptive Icons which allow device manufacturers to choose the outline, or mask, of all app icons on the device. This guarantees that all app icons will be uniform on each device, whether they be square, rounded, or circular. In this screencast, we'll learn how to create and save these assets for Android Studio.
Android Oreo introduces Adaptive Icons which allow device manufacturers to choose the outline, or mask, of all app icons on the device. This guarantees that all app icons will be uniform on each device, whether they be square, rounded, or circular. In this screencast, part 2 of the series, we'll now show you how to generate your icon to take advantage of this new Android O feature.
In this screencast, we’ll cover a new background work library introduced at Google I/O 2018 - WorkManager. This release will have a huge impact on most Android apps. Background work has always been painful in Android. There are many different ways to schedule a background work and of course they are different
While Android SDK provides the APIs for using SQLite databases, they force developers to write a lot of boilerplate code. Room solves this problem by creating the glue code that saves objects to SQLite and reads them into memory. In addition, it performs some compile-time checks to ensure correctness of SQL queries.
In the final screen cast of the series we’ll return to the Android chooser behavior which asks the user which application they wish to use to handle a newly discovered tag. We’ll then look at how we can add an Android Application Record to our NdefMessage which will effectively specify that our app will handle the tag and bypass the chooser. While it is very light on code, the concepts do require a little explanation to make the code changes understandable.
In this screen cast we’ll further build upon the app from the last cast where we got foreground dispatch working to handle tag discovery events within a resumed Activity. We’ll look at how we can construct an NdefRecord, and an NdefMessage and write this to a tag. We’ll also look at the difference in writing to an Ndef tag and an un-formatted NdefFormatable tag.
In the third screencast of the Android NFC series, we’ll continue to build on the app we’ve been working on in the series so far. Now we’ll begin preparations to write to a tag by creating a new Activity which will use foreground dispatch to get notifications of any tags which are detected while it is in resumed state.
In the second screencast of this series, we’ll build upon the app we started in the first screencast and demonstrate how we can retrieve the payload of the tag within the Activity which was launched when the device detected a matching tag. Along the way we’ll explore some of the internals of how NFC tags are structured.
In the first screencast of this series we’ll cover the basics of NFC tags introducing NDEF and the Android tag dispatch system. We’ll look at how to add an intent-filter to the Manifest entry for a given Activity to enable that Activity to be launched when a matching tag is detected by the device.
Integration tests provide a way to verify the features in your application continue to work as you expect while adding new features and refactoring existing ones. In this screencast you will learn how to use the Espresso Test Recorder tool in Android Studio to add new integration tests to your test suite quickly and easily.
As applications are developed you will often need to add additional fields to your database. The architecture component Room achieves this by using Migrations. In this screencast, you will learn how to test your database migrations so you can be confident that your apps data is maintained in a clean state.
CoordinatorLayout is a tool that allows you to coordinate the movement of one view with another. In this screencast, you will see a few examples of how CoordinatorLayout can be used and how to customize its behavior. We consider this tool to be the best kept secret in Android development. We say that because it's a tool that is powerful but under used. Watch as we use CoordinatorLayout to create some interesting UI patterns where views can respond to the movement of other views.
App shortcuts give you the ability to provide convenient shortcuts to specific actions in your application. They provide an entry point to different parts of your application. In this video learn how to implement app shortcuts and give your users quick access to the functionality they want.
Android view click listeners are often implemented inline using anonymous inner classes. Lambda syntax offers a more streamlined syntax. This video walks you through how lambda syntax map to anonymous inner class syntax, how to set up your project to support lambda syntax, and how to use Android Studio to make writing or converting to lambdas easy.
In the third video of this series, we’ll add ViewModel to our application. Instead of calling the repository or other components directly from the Activity or Fragment, we can put some of that code in the ViewModel. As a result, our application will become much cleaner and it will be more testable.
In the previous video you learned about Room, the object persistence architecture component but we had to use the AsyncTask to perform database access in a background thread. LiveData makes it easier to perform Room's database queries on Android, since it takes care of the activity lifecycle.
<p>In this series, you will learn how to produce separate APKs from the same code base using product flavors. Each flavor will be branded differently, including a custom launcher icon, color scheme, and app name. </p> <p>In this screencast, part 2 of the series, you will learn how to share files across a main source s
Google announced official support for the Kotlin Programming language at google io 2017. In this video we will learn how to migrate our existing Java Android projects to the Kotlin language by using the automated Kotlin Conversion tools. In the process, we will also learn Kotlin language fundamentals, including the null safety features of the language, safe call operator, and how statics are represented in Kotlin.
Class extensions are a powerful feature of Kotlin that allow you to add behavior to classes without extending them. In this video we will take a look at how to work with class extensions, some of the subtleties of how class extensions work with custom objects, and how to define your own class extensions to simplify your code.