Category: Mobile
Bottom Bar Tabs for your Xamarin Forms app
Following on from last weeks article, I am continuing on my UI journey for my contacts app. My app design calls for a bottom app bar, with three sections - contacts, groups, and…
Adding an icon font to your Xamarin Forms apps
I've started building a new app using Xamarin Forms from scratch. The idea is that I have a list of contacts stored in the cloud. There isn't anything revolutionary about that,…
Rounded corner panels and masks in SwiftUI
I've been working on my UI developer skills recently (and I've done a few other posts about this as well). If you look at any of the recent design trends on Dribbble or UPLabs,…
Pre-build steps for Flutter using Visual Studio Code
Flutter is not a build system. I know, it's a terrible way to start, but you have to accept that you need to produce a build system for Flutter. There are build systems written in…
Adding a pre-build step to Android Studio builds
I'm currently writing a cloud-native app with an Android (and iOS) front end. I've got my backend configuration written using Terraform, and it outputs a file called…
Mocking Android resources with Mockito and Kotlin
I bumped into an issue that was a little harder than I expected to solve, so this is the documentation. Requirement: Load a JSON file from the res/raw resource directory.…
Unit testing asynchronous Android network libraries
I'm writing a network library for Android at the moment, and specifically looking at unit tests. In my last article, I looking at mocking the Android context and other Android…
Two tips for unit testing Android libraries
I'm busy writing a networking library for one of my Android apps. The question today is "how do I properly test the library?" There are a few problem areas, and I'll cover two of…
Build a better RecyclerView Adapter
Many of my Android apps end up including listst, which are implemented via a RecyclerView. More importantly, I know all the items in the list ahead of time. Every single blog and…
Handle location and geocoding with SwiftUI
I'm continuing on my Weather app research in SwiftUI. My next problem is this: How do I get the current location (as a longitude / latitude) and a place (like a city) in my app…
Create a bubble background in SwiftUI
I'm continuing to explore SwiftUI, trying to recreate user interfaces that I see on design labs. The latest one is a task list app, found on Uplabs, and created by Rudi Hartano. I…
Why SwiftUI might just convert me to an iOS developer
Confession time. I hated iOS development. First, there was Objective-C (which was a nightmare of epic proportions for cryptic syntax), then there was the Storyboards. Both of them…
Validating permissions on Android with Kotlin
I'm continuing my educational coding exercise, developing a new photo sharing app. Recently, I completed my user authentication and registration process and I'm now quite happy…
Using Azure App Configuration for Remote Config with Android
I've been playing with a new app recently. I decided I needed some support from the cloud around feature flags (turning on and off features for specific people so I can test…
Bootstrapping a React Native App: A Comparison
It's been a while since I have worked on a React Native app. In that time, create-react-native-app (CRNA) has been deprecated, and expo-cli has taken its place as the advised…
Authentication with AWS Amplify and Android: Fraud Protection and Analytics
This will be an in-depth series on authentication with [AWS Amplify]. Here are the topics I am going to cover, and I will update each blog with the links as I complete the…
Authentication with AWS Amplify and Android: Integrating Biometrics
This will be an in-depth series on authentication with [AWS Amplify]. Here are the topics I am going to cover, and I will update each blog with the links as I complete the…
Authentication with AWS Amplify and Android: Integrating TOTP
This will be an in-depth series on authentication with [AWS Amplify]. Here are the topics I am going to cover, and I will update each blog with the links as I complete the…
Authentication with AWS Amplify and Android: 3rd Party OIDC Providers
This will be an in-depth series on authentication with [AWS Amplify]. Here are the topics I am going to cover, and I will update each blog with the links as I complete the…
Authentication with AWS Amplify and Android: Google Login
This will be an in-depth series on authentication with [AWS Amplify]. Here are the topics I am going to cover, and I will update each blog with the links as I complete the…
Learn to build mobile and web apps with AWS Amplify and Serverless Framework
There has always been a bit of a problem between deploying your backend and then integrating that same backend with your front end code. The front end needs to know where the back…
Authentication with AWS Amplify and Android: Facebook Login
This will be an in-depth series on authentication with [AWS Amplify]. Here are the topics I am going to cover, and I will update each blog with the links as I complete the…
Authentication with AWS Amplify and Android: Customizing the UI
This will be an in-depth series on authentication with [AWS Amplify]. Here are the topics I am going to cover, and I will update each blog with the links as I complete the…
Authentication with AWS Amplify and Android: The Basics
This will be an in-depth series on authentication with [AWS Amplify]. Here are the topics I am going to cover, and I will update each blog with the links as I complete the…
Let your analytics drive engagement: Endpoint profiles with AWS Amplify and Android
In my last article, I showed the current best way of integrating analytics into your Android app using Kotlin. The events are only half the story for engagement. You need to be…
Integrate Analytics into your Android applications with AWS Amplify
I’ve become a big fan of Kotlin development for my Android apps. I also think that analytics should be integrated into every single app I write. I’ve covered integrating Amazon…
Native Android Development with AWS Amplify
Up until this point, the experience for developing native iOS and Android apps with AWS has been a bit fragmented. There was AWS Mobile Hub; a web console that makes it easy to…
Converting types with Room and Kotlin
I’ve been working on a personal project, trying to get to grips with the various Android Architecture Components and Kotlin. One of the things I came up with was the requirement…
Implement Search-on-type in Android with RxJava
I’m working on a new sample which, as is typical, communicates with a backend service for data through a serverless API. In this particular example, it’s a search capability that…
Unit Testing in Android Studio with Kotlin
I made myself a promise a couple of months ago. My next app would be fully unit tested for the non-UI components and fully instrument-tested for the UI components. That’s a tall…
Easy EditText content validation with Kotlin
One of the things that I always deal with in my apps is the need to validate the input fields of a form. I can easily do this with this sample fragment of code (for example, for a…
Using dependency injection with Kotlin
In a recent post, I described how I can do app analytics by using the AWS Mobile SDK and an AWS Mobile Hub project. This is a great way to get usage analytics for your app, but it…
Lessons in Kotlin: Toolbar Icons and Reflection
There are many tutorials online on how to produce an Android app bar with an options menu — so much so that it can be boiled down to a few steps, and I’ll reproduce them here:…
Lessons in Kotlin Threading: An Animated Splash Screen
I find quite a lot of Android apps have splash screens. Some splash screens are for showing off the logo; others for hiding the extensive data load times. Whatever the reason,…
Why I'm refactoring to Kotlin
One of the things that is really cool about software development is that we are continually learning and adjusting. I spent a day recently learning Kotlin. I was so impressed with…
Testing Mobile Apps: A Primer
Why should you test your mobile app? A recent study showed that almost a quarter of users only use a mobile app once, and a shocking 95% abandon an app within the first month.…
The Six Mobile Apps You Should Write
Take a look at the mobile apps on the app stores and you will see patterns emerge. The same pattern is repeated time and time again. It’s crazy to think about this, but you only…
Creating a React Native bridge library
React Native is really good at straddling the line between native and JavaScript. There is a bridge between the two that allows you to call native code from JavaScript. This is…
AsyncStorage, TypeScript, and Async/await in React Native
In the last few posts, I’ve been working on a Notes app in a master-detail pattern for React Native using TypeScript. This is the last post about that project. So far, I’ve:…
Building a Master-Detail Pattern in React Native
I’m in the middle of writing a simple Notes app in React Native. Thus far, I’ve: Worked out how to handle orientation changes. Worked out how to implement swipe-to-delete. Figured…
Universal iOS Apps with React Native
This is one of those short “tip” posts. I was developing a nice React Native app and blogging about it. However, I bumped into a problem where my iOS simulator runs always…
Integrating React Native, TypeScript, and MobX
In my last article, I psted about getting TypeScript working with React Native. I’m building a flexible, best-practices, Notes App in React Native. This means I need a backing…
Debugging React Native with TypeScript and Visual Studio Code
One of the things I really miss from React Native was the support for TypeScript. TypeScript helps me immensely, but it really comes into its own with React programming as the…
Implementing swipe-right on a React Native FlatList
I’m progressing on my “master-detail” pattern for a react-native app. The actual implementation of master-detail is shockingly simple (more on that later). However, I bumped into…
Handling orientation changes in React Native
I’ve just returned to my JavaScript days and am trying to learn React Native again. One of the things I like to do is to produce a “perfect” app – one that will work on both…
The things I like (and don't like) about Swift?
Recently, I’ve given myself the task of learning the “native” mobile development platforms. That means Java or Kotlin for Android and Swift or Objective-C for iOS development.…
Which is better - React Native or Xamarin Forms?
Let’s talk about a loaded question. After my recent forays into both React Native and Xamarin Forms, I got asked on Twitter – which is better, React Native or Xamarin Forms?…