Whilst I’ve used Retrofit before, I’d always just used the very basics and not thought much about it. Hey, it’s just the API interface, who cares right? I decided to check out a few implementations of the basics, making a repo along the way. This GitHub repo is available here, and contains completed versions of most of the tutorials listed here.
Whilst I’ve used the dependency injector Dagger 2 a few times before, my knowledge was very much gained “in the field”, i.e. from seeing it in the wild. I recently decided to learn how to use it properly, so worked through a few of the more popular tutorials inside a repo. This GitHub repo is available here, and contains completed versions of all of the tutorials listed here.
In Android, almost all views can have a background colour or image set. Whilst a colour can be any size / shape, as can a vector drawable, a bitmap drawable cannot. For example, trying to make a 100px wide & 100px tall image 500px wide and 50px tall would result in a blurry, and horribly distorted background.
Dyno is an extremely powerful bot for Discord, with a staggering set of features, split into modules. One of the easiest to use is the “Custom Command” module, allowing actions to be taken in response to messages in chat. Setting up Dyno to a server you have “Manage server” permissions on is very straightforward, just click “Add to server” on Dyno.gg, then follow the instructions.
The easiest way to disable your app’s preview when your app is shown in task switcher is FLAG_SECURE.
In Android, your app’s icon is a crucial part of your project. It’s what grabs the user’s attention first, identifies your app amongst the sea of competitors, and is the most important piece of visual branding. However, usually this icon is defined in your manifest, then never changes except through update.
Google’s AndroidX navigation libraries are undoubtedly extremely useful, however they have a few quirks. For example, the following stack trace recently started showing up in my Crashlytics crash logs:
Whilst detecting power saving mode (at least on Lollipop+) is very easy, some manufacturers implement their own battery saving systems. One of the least standards-conforming of these is Sony’s Stamina Mode. Luckily this is easily detected, albeit in an unofficial way.
I recently updated an older app, and changed the target API from 27 to 28, as recommended. This app is using an older (15.x.x) version of the Google Maps library. Upon trying to actually use Google Maps, I received the following crash:
Whilst most developers use hosted git repositories on a service like GitHub, many forget that almost none of these commits are verified. If you own a repository, you can “fake” a commit from literally any user if you know their email. If that email matches a GitHub account, their avatar will be displayed next to their name! One famous example is a fake commit by Linus Torvalds:
Looking for non-software development posts? I've got another blog for those!