First look at AndroidX Bluetooth
AndroidX Bluetooth is a new addition to the Jetpack Suite of libraries. While currently in its alpha stage, the system already provides robust safety measures addressing common pitfalls in Android BLE development. Moreover, it establishes a clear trajecto...
Strengthening our AI knowledge on mobile apps
In today's digital age, mobile applications have become an integral part of our daily lives. From ordering food to managing finances, there seems to be an app for every need. Behind the scenes, these apps are powered by a technology that has revolutionize...
Empowering Mobile Applications through Blockchain: Our Journey, Part 2
Welcome back to our blog series on blockchain technology! In our previous post, we explored the fundamentals of blockchain and its potential impact on various industries. If you haven't read it yet, you can find it here. Today, we're excited to delve deep...
Accelerate Your Android App Testing with Appium and Java (Part 2)- Hybrid App Automation
Welcome back! In this blog post, we will explore Appium, a powerful tool for automating Hybrid Android apps. Firstly, we will discuss locating Hybrid app elements in Appium, which involves identifying and interacting with specific elements within the app'...
Jetpack Compose UI Architecture
Introduction Jetpack Compose is by far the most exciting thing that has happened in my developer career. It has changed how I work and how I think about problems. It has introduced many exciting tools that are both easy to use and flexible, allowing you t...
Empowering Mobile Applications through Blockchain: Our Journey, Part 1
Introduction In a world that is rapidly digitalizing, the need for a secure, transparent, and decentralized mode of operations is ever-increasing. Enter the realm of Blockchain, a groundbreaking technology that has revolutionized industries across the glo...
Accelerate Your Android App Testing with Appium and Java- A Beginner’s Guide (Part 1)
Manual testing is an essential part of Android application testing that involves a tester manually going through an application to ensure that it meets the desired specifications and quality standards. However, this process can become monotonous and repet...
Introduction to Kotlin Coroutines for Android
Asynchronous programming is a technique used to perform long-running tasks without blocking the main thread of an application. This is important in Android, where the main thread is responsible for rendering the user interface and handling user input. Tra...
Open Source The Future of Software Development
Are you looking to leverage the power of open source software for your business or project? Look no further! In this comprehensive guide, we dive into the world of open source, exploring the different types of open source software and the benefits they of...
Introduction to Kotlin Flows
A Kotlin flow is an asynchronous stream of data that you can subscribe to and receive objects one by one or all at once. It's like subscribing to a newspaper. You don't have to go to the newsstand every time and check if they have something new today. You...
Creating custom layouts with Compose -part 2-
In the previous article, we talked about creating custom layouts with Jetpack compose. This article will dive deeper and cover creating a custom modifier with a custom scope. We created a star layout in the previous article and it looked like this: You c...
Navigation parameters, and dynamic startDestination with Jetpack Compose
Our team was recently given the opportunity to work with Jetpack Compose on a brand new project in collaboration with a client who required two separate Android applications. It was successfully released and the client was very satisfied with the end prod...
Creating custom layouts with Jetpack Compose
Classic Android layouts are good for creating general purpose layouts, but when it comes to creating more complex layouts, you might find yourself creating custom views, and with Jetpack Compose it is now easier and more performant than ever to do so. In ...
Intro to AR Foundation - Cross-Platform AR Application Development
I am glad to participate in the first edition of the MonstarHacks hackathon organized by Monstarlab. In this event, I made an Augmented Reality Panda Demo, and I will take this opportunity to introduce ARFoundation to you and take you through a small AR D...
Safe Navigation With Jetpack Compose
Navigation is the key part of application development and Android is no exception. From Activities and Fragments transitions to Navigation Component and now, Navigation Component is available for Jetpack Compose! In this article, I would like to give a br...
Let it flow
I've been working with Flow on production for almost a year now. The light weight kotlin coroutines stream library has completely replaced RxJava for our new projects. RxJava is still a trend for Android Development even in 2020. But this article is not a...
Using MockWebServer On Android
At some point in your code development you'll want to test how the interaction with your app and the API server is being handled, but testing with a real connection with a server is expensive and unstable. Unit tests should be real quick and assert if you...
Android Unit Testing is Easy
The reason I am writing this article is because it was very hard for me to find some unit testing materials on Android Components. I hope I can fill the gap. Let’s talk about unit testing for a bit. I am not going to explain what unit testing is in this a...
Things iOS Developers should know before starting Flutter
Flutter is a cross-platform development framework that allows us to create iOS and Android apps using a single programming language called Dart, which was released by Google itself. I would like to share a few things I wish I would have known before start...
Android Image Framework Comparison
As an Android developer you have a lot of options when it comes to adding images to your app. In this blog we will give you a quick comparison between Glide (https://github.com/bumptech/glide), Picasso(https://square.github.io/picasso/), Fresco (https://f...
Avoiding tampering on Android
It's important to keep user data safe. Like any software, Android can be target of attacks to access valuable data and even though no software is perfectly safe, as developers we should always follow the security best practices and do what is in our reach...
Android Dark Theme
With the arrival of Android 10, the latest trend in Android development is giving the users the choice to select a dark version of the app. Some say it can help save battery life and some just prefer it because it is easier on the eyes when the user opens...
Nodes x Hacktober Fest 2019
Getting started with Open Source projects can be daunting some times, but we hope that our local Hacktober Fest events inspired people to get more involved in this community. We organised 5 events across 5 different locations, all with their own personal ...
Droidcon London 2019
Droidcon London 2019 We had the opportunity to attend the biggest Android conference in London. It was full of great talks and we will try to highlight here some of which we attended. Quick facts 2 entire days with talks Workshops available 5 tracks at s...
Droidcon Berlin 2019
Droidcon Berlin 2019 Back in July, Lucas and I took a trip to Berlin for the Droidcon 2019 conference. It was the second mobile development conference that I've been to and the first one entirely dedicated to Android, so I had high hopes. In this blog I'd...
Google Docs viewer with Flutter
Flutter is a powerful framework when it comes to rendering complex nested widgets with countless styles and customizations. This small project will explain the basics of using Google APIs and Services, in particular Google Drive, Google Docs and rendering...
Android navigation with MVVM and State made easy
Working on a large app with a large number of screens which we organized by feature (Messaging, Settings, Profile, etc.) made me test the single activity - multiple fragments approach by using the Navigation component. This technique has the advantage of ...
Automate Debugging and Testing Workflows using ADB
While developing and testing we usually come across repetitive tasks involving manual efforts. Navigating to a certain part of the app, filling out sign up forms or simply taking screenshots are all time-consuming tasks. In this blog post we look at how w...
Android WorkManager
WorkManager is a new API in Android Architecture Components introduced in the Google I/O 2018. It simplifies and makes it much easier to do work on background threads. The WorkManager schedules tasks as instances of the Worker class and can schedule these...
Droidcon Berlin and GDD Krakow
Being one of the biggest Android conferences in Europe, this was my first time in Berlin. The conference was taking part in partnership with IFA Berlin. As a perk Droidcon tickets also allowed access to it. The downside was the big amount of people commut...
Android Bottom Navigation
This blog post will give a quick introduction on the new Android Bottom Navigation component, how to setup your project to use it and a few tips on how to utilise it to get the best results. Despite being part of the Material Design recommendations for a ...
Droidcon London 2016
Last year we attended DroidCon London and it was my first Android conference ever. Before that I attended CocoaConf in Las Vegas, as I mostly did iOS back then. DroidCon London 2015 was exciting because at that point I had been doing Android exclusively f...