• Sharing internal / cache images (with text) to other Android apps

    Often, users of your app will want to share images from it. Whether this is their own content, their friend’s content, or content published by you to your users, sharing can massively help your app’s popularity. This can be a little tricky if you’re displaying images from inside your app’s directory, since these files aren’t accessible from other apps! This means that when a user tries to share the image, the app it is shared to will be unable to access it.

  • Converting non-Amazon eBooks and sending them to your Kindle using Calibre

    eBooks are an ever-expanding alternative to traditional books, with a lot of benefits. Since getting a Kindle a couple of years ago, I use it for all eBooks that aren’t picture heavy! Whilst some of these books are from Amazon, so are downloaded automatically to my Kindle, some are from other sources and need converting & sending.

  • Creating a history clearing Chrome extension

    Chrome extensions are small plugins that modify how Chrome (or websites viewed in it) look and behave. These can notify you of events (e.g. Google Mail Checker or Inoreader Companion), modify sites (e.g. Reddit Enhancement Suite or uBlock Origin), or add functionality (e.g. HTTPS Everywhere).

  • How To Free Up Space in Google Drive, Gmail, and Google Photos

    I’ve been lightly using Google Drive, Gmail, and Google Photos for close to 6 years, with no major complaints. The default space limitation is 15GB, with an extra 2GB available for each year the security checkup is completed. There was also previously 100GB (expiring after a year) available for local guides, but this program is now cancelled.

  • Ensuring Your Android App's Quality With Firebase Performance Monitoring

    Firebase Performance Monitoring allows you to gather automatic performance data about your app, as well as performing manual performance traces for later analysis. All of these contain aggregated information about user’s devices, meaning long-term issues can be quickly identified and resolved.

  • Android Development Discord Communities

    Whilst developing for Android, it’s often necessary to ask others for help, or discuss concepts / news. Whilst StackOverflow is excellent for solving problems long-term, sometimes it’s easier to talk through something in realtime. To that end, Discord is an excellent resource, this post will introduce a few of the larger communities.

  • Scheduling A Repeating Background Task On Android, With Power / Internet Requirements

    Whilst developing Android apps, performing a scheduled task at set intervals is a very common requirement. Despite this, there are a surprisingly high number of solutions, each with their own advantages and disadvantages. This tutorial will focus on using Firebase JobDispatcher, a library that uses Google Play services to provide a backwards compatible (API 14+) job scheduling library. This makes it an attractive option for those that need to support older devices, and know their users will have Google Play installed:

  • Growing Your Android App With Firebase Invites

    Firebase Invites provide a simple way to add user referral schemes to your app for free, without any additional resources. The system runs on top of Firebase Dynamic Links, and supports both email and SMS referrals.

  • Adding A Splash Screen To An Android App

    Often, an app may take a few seconds to start-up, especially the first time. A plain white screen is shown by default, luckily this can be customised relatively easily! The solution is to add a splash screen to your app, whilst being careful to avoid increasing the app’s load time.

  • How To Display App Version Inside a Submodule

    Usually, getting the current version code of your app is as simple as BuildConfig.VERSION_CODE. Easy! However, this doesn’t work if you want to retrieve your app’s version code whilst inside a submodule. Instead, the submodule‘s version code is returned.