TagMobile App Development

Exploring Jetpack Compose: Arrangement

E

When it comes to the layout of child components inside of their parents, it is likely we’re going to want to arrange them in some way on both the horizontal and/or vertical axis. For example, our parent may fill the height of the screen, but our child components may only represent a small amount of that height and we may want to arrange that to be at the bottom of the screen. The same applies...

Exploring Jetpack Compose: Android View

E

When it comes to building our UI in jetpack compose, for a lot of applications it will come at a time when our UIs are already build using a mixture of existing solutions – be it XML layouts or custom views. It may even be the case that we have custom views in our current Android project that aren’t quite ready to be converted over to compose just yet, or maybe it doesn’t feel very...

Giving Voice to the Voiceless with Flutter

G

Outside of my working hours I have often spent time with other people involved in animal rights — be it volunteering for a local animal sanctuary, visiting shelters or planning with other animal rights groups. One thing I’ve noticed along this time is that the awareness of these groups has never been too accessible — I’ve only discovered them through chance or word of mouth, and having known of...

Serving web pages with Firebase Hosting

S

Firebase Hosting is a tool that provides us with a way to host web applications, allowing us to serve both static and dynamic content to our users with a simplified method of hosting. Whether it’s a web app, or a simple static landing page for a pre-launch of our product, we can deploy content to Firebase Hosting with a single command using the Firebase Command Line Interface. When we host our...

Native Flutter Experiences: Tabbed Navigation

N

When building Flutter applications, we have the ability to create native components which are styled for the native experience on both Android and iOS. Whilst by default we may implement things in a material style, it is important to bear this native experience in mind. In the first set of these articles we will take a quick look at implementing tabbed navigation for the styling of both Android...

Loading data from Firestore with Flutter

L

In a recent side-project of mine I needed to perform some simple loading of data from an external data source. This was all data that I had collated myself so I decided to manually load it up into Firestore — in this post we’re going to quickly take a look at how we can hook up our Flutter application to load data from a Firestore datastore to display to our users. This post will hopefully act as...

Exploring Google Play App Signing

E

When distributing our Android Applications we’ve always been required to sign our APK using a keystore for our application — this has allowed us to ensure that only the developer(s) of our app are able to upload updated APKs to the play console. However, because this keystore acts as a fingerprint to the lifecycle of our application — if anything was to happen to this then we hit a bit of a...

Building HashTrack with Flutter: Authentication logic

B

If you haven’t check out the previous post in these series, then you can do so here: Building HashTrack with Flutter: Intro and setup Building HashTrack with Flutter: Main class and Localization setup You can also find the code for this guide here: Now that we have the foundations of our application built, we’re going to go ahead and setup the first screens which will be shown to the user when...

Exploring Android P: Enhanced Notifications

E

With Android P now out in the wild, there are a bunch of new features and APIs which have become available for us to make use of in our applications. Some of these new features fall under the notification APIs, allowing us to create more contextual and detailed notifications for our applications. In this post, I want to dive into the new notification enhancements that have been added to the...

Building HashTrack with Flutter: Main class and Localization setup

B

If you haven’t check out the previous post in these series, then you can do so here: Building HashTrack with Flutter: Intro and setup You can also find the code for this guide here: Now that our project is setup, we’re ready to go ahead and start building our application. In this post we’re going to setup the core classes used to launch our application, followed by adding support for localization...