Exploring the Android App Bundle

There were a ton of exciting things announced at I/O this year — one of the things that caught my eyes the most was the new app bundle format. Not only does this format provide a new upload format for our applications, but it will help to influence how we build and structure our applications in a modular format. In this post I want to dive into the Android App Bundle so that we can get a thorough understanding of what it is, the way it works and how we can add support for it in our own applications. As I mentioned…

Exposing Notification Settings to the Android System

Have you ever looked at the Android System settings page for a specific application and wondered about the option to view “Additional settings in the app”? If you haven’t seen this before in your settings, or aren’t aware of it, this is what it looks like: This option allows developers to essentially provide a link to a push notification settings screen in their application — this allows users to quickly and easily continue altering their notification settings for the chosen app directly from the system. The ability to hook into this was added at API level 21 (Android 5.0), but not all…

Exploring Image Keyboard Support on Android

During a recent hack day we added a bunch of small but impactful features into our application, one of these being integration with the GIF input provided by the Google keyboard. This involved us making use of the Image Keyboard Support (IKS) functionality that was introduced in Android 7.1 (API level 25), this allows us to hook into the media functionality of keyboards and make use of the data that our application retrieves from them. If you implement this into your application, it will look a little something like this: In this quick post I want to take a quick…

Modularizing Android Applications

We’ve all been there. Single module android applications — at some point in our Android development career it’s likely we’ve worked on, or are working on, a project that consists of a single module. Now, there’s nothing wrong with that at all and in a lot of cases, a single module will most likely do the job. But in cases where our applications may grow, or we may want to take advantage of new distribution features (Instant apps, app bundles) from Google, or even just create a clear separation of concerns to make our project easier to work with— modularizing our applications…

Exploring Firebase MLKit on Android: Landmark Detection (Part Four)

At Google I/O this year we saw the introduction of Firebase MLKit, a part of the Firebase suite that intends to give our apps the ability to support intelligent features with more ease. With this comes the landmark recognition feature, giving us the ability to detect known landmarks within an input feed so that we can display this landmark information on-screen to the user. In this post I want to dive into how we can implement this feature into our applications. Landmark recognition is something that may not be applicable to every application, but when it is required it could…

Exploring Android on Chrome OS: Optimising keyboard navigation

Recently I managed to get my hands on a Pixelbook. If you haven’t got one, or even read to much into them, then you’ll be excited to know that they have the ability to run Android applications on them. That means that if you have an application in the Play Store, anyone on Chrome OS can download that app, install it and run it on their device. Whilst in most cases the applications will work out of the box, there are a bunch of things which you can do to improve the experience of your applications whilst they are being…

Exploring Android P: Magnifier

At Google I/O there were a lot of new announcements around the latest version of Android, P. One of these announcements was the new Magnifier functionality—a feature that will make it easier to view and select content that the magnifier is currently being shown for. In this article we’re going to take a quick dive into what this magnifier is and how we can use it on our own view components within our applications. Now, if you haven’t seen the new Magnifier component that is available in Android P then this is what it currently looks like: It’s quite a…