CategoryAndroid

Exploring Jetpack Compose: Row & Column

E

Within Android Studio 4.0 Canary 1 we can start exploring Jetpack compose, a new way to build the UI for your android applications in a declarative manner. To get started with jetpack compose, there is a great tutorial on the official developer site. In this series of articles I want to dive into each of the components that are available, exploring how we can utilise each of them within our...

Exploring Jetpack Compose: Modifiers

E

Within Android Studio 4.0 Canary 1 we can start exploring Jetpack compose, a new way to build the UI for your android applications in a declarative manner. To get started with jetpack compose, there is a great tutorial on the official developer site. In this series of articles I want to dive into each of the components that are available, exploring how we can utilise each of them within our...

Exploring GraphQL with Coroutines on Android

E

In a recent article of mine we took a look at how we could implement OAuth flows in Android with the use of Custom Tabs . This was done using the Product Hunt API and now that we authenticated users within our client, we can go ahead and interact with the rest of the API. The authentication flow for Product Hunt is operated as a REST API – when it comes to the rest of the API though, this...

Exploring Jetpack Compose: Container

E

Within Android Studio 4.0 Canary 1 we can start exploring Jetpack compose, a new way to build the UI for your android applications in a declarative manner. To get started with jetpack compose, there is a great tutorial on the official developer site. In this series of articles I want to dive into each of the components that are available, exploring how we can utilise each of them within our...

Exploring Jetpack Compose: Text

E

Within Android Studio 4.0 Canary 1 we can start exploring Jetpack compose, a new way to build the UI for your android applications in a declarative manner. To get started with jetpack compose, there is a great tutorial on the official developer site. In this series of articles I want to dive into each of the components that are available, exploring how we can utilise each of them within our...

Exploring Jetpack Compose: Button

E

Within Android Studio 4.0 Canary 1 we can start exploring Jetpack compose, a new way to build the UI for your android applications in a declarative manner. To get started with jetpack compose, there is a great tutorial on the official developer site. In this series of articles I want to dive into each of the components that are available, exploring how we can utilise each of them within our...

Exploring Android Leanback: Browse Branding

E

When it comes to building apps for Android TV, things get pretty different when compared to building apps for phones. The experience completely changes for the user – in both the way that content is consumed and how the device is interacted with. Luckily for us we have the Leanback library from Android Jetpack which aims to make Android TV app development simpler for developers, providing...

Media Store access using openFile() on Android 10

M

As of Android 10, things have changed slightly with how we access files that are contained outside of our application. This change of behaviour has come from the concept of scoped storage – which aims to improve the privacy of user files, adding more control to how files are accessed within the android system. Even with these changes, our application still has read/write access by default...

Using Firebase on Android with Kotlin Coroutines

U

Whilst recently working on a side project I ran into a situation where I needed to make use of the Android Firebase SDKs. This project of mine uses Kotlin Coroutines for all of the asynchronous task handling, so ideally I wanted to keep any Firebase calls to use the same approach – not only so that the callbacks would be both consistant but also so that they would tie in with the current...

Exploring View Binding on Android

E

When it comes to manipulating our user interfaces within Android applications, there are a couple of approaches that we can take. In these cases, we need to obtain a reference these views in-order to manipulate them in some way. For this, we’ll either use findViewById(), followed by casting the view to the corresponding type. Or if we’re using kotlin, then we’ll use the kotlin...