Droidcon Greece: Working with Dagger and Kotlin

Working with Dagger and Kotlin

Dagger has become one of the most widely used libraries in Android development, and is often one of the first to be thought of when bootstrapping a new project, but there are still many nuances and caveats that often get overlooked! Many questions arose after the adoption of Kotlin on how to continue following best practices from Java, so whether you’re using dagger-android or vanilla Dagger, I’ll go through some tips and tricks to make sure you’re using Dagger to its best capacity....

September 24, 2019 · Droidcon (Heraklion, Greece) · 1 min · Ash Davies
Droidcon Lisbon: Implementing the Paging Library

Implementing the Paging Library

The Android Paging Library makes it easy to integrate complex paging behaviour, gradually loading small chunks of data at a time to help reduce usage of network bandwidth and system resources. The library allows you to implement this behaviour using compositional components in a decoupled architecture making your code more reliable, scalable, and testable. Furthermore, you’ll be able to use familiar components such as LiveData or RxJava to interface with your existing architecture....

September 9, 2019 · Droidcon (Lisbon, Portugal) · 1 min · Ash Davies
Droidcon Lisbon: The Single Activity

Navigation and the Single Activity: Learnings from a Skeptic

Fragments have often been the controversial, and to some, the stuff of nightmares, with the inconsistency of lifecycle events, complex UI interaction, and unexpected behaviours making many Android developers suspicious of their usage. But with the development and recent stable publication of the navigation library, it may be the right time to give them a chance. Giving Fragments a second chance is not something I’d ever thought I’d be saying, but it’s a fantastic opportunity to find a solution to sharing data across a single screen....

September 9, 2019 · Droidcon (Lisbon, Portugal) · 1 min · Ash Davies
Droidcon Lisbon: RxJava and Coroutines

RxJava and Coroutines

Kotlin has taken the Android world by storm, and is quickly becoming the most popular language of choice. With Coroutines now stable, does it make sense to replace your RxJava implementations for Coroutines? Despite the hype, it may not make sense to jump on the bandwagon just yet. RxJava has already proven its stability and usefulness, and a comparison between the two frameworks shows that they are simply better suited for different purposes....

September 9, 2019 · Droidcon (Lisbon, Portugal) · 1 min · Ash Davies
Kotlin Everywhere Hamburg: Refactoring Legacy Code with Kotlin and Coroutines

Refactoring Legacy Code with Kotlin and Coroutines

Legacy code can be quite the challenge to manage, often resulting from untested scenarios, quick fixes, or less than successful initiatives. With few developers wanting to deal with it, it can end up with little remaining knowledge of it’s inner workings. We can take many learnings from Michael Feathers book on “Working Effectively with Legacy Code”, but we can also use Kotlin migration as an effective tool to leverage the management, reduction, and removal of legacy code in our applications....

Droidcon NYC: Implementing the Paging Library

Implementing the Paging Library

The Android Paging Library makes it easy to integrate complex paging behaviour, gradually loading small chunks of data at a time to help reduce usage of network bandwidth and system resources. The library allows you to implement this behaviour using compositional components in a decoupled architecture making your code more reliable, scalable, and testable. Furthermore, you’ll be able to use familiar components such as LiveData or RxJava to interface with your existing architecture....

August 26, 2019 · Droidcon (NYC, New York, USA) · 1 min · Ash Davies

Working with Dagger and Kotlin

Dagger has become one of the most widely used libraries in Android development, and is often one of the first to be thought of when bootstrapping a new project, but there are still many nuances and caveats that often get overlooked! Many questions arose after the adoption of Kotlin on how to continue following best practices from Java, so whether you’re using dagger-android or vanilla Dagger, I’ll go through some tips and tricks to make sure you’re using Dagger to its best capacity....

July 9, 2019 · Droidcon Beta (Berlin, Germany) · 1 min · Ash Davies, Sinan Kozak
Droidcon Berlin: Navigation and the Single Activity

Navigation and the Single Activity: Learnings from a Skeptic

Fragments have often been controversial, and to some, the stuff of nightmares, with the inconsistency of lifecycle events, complex UI interaction, and unexpected behaviours making many Android developers suspicious of their usage. But with the development and recent stable publication of the navigation library, it may be the right time to give them a chance. Giving Fragments a second chance is not something I’d ever thought I’d be saying, but it’s a fantastic opportunity to find a solution to sharing data across a single screen....

Photo by [William Daigneault](https://unsplash.com/@williamdaigneault) on [Unsplash](https://unsplash.com/photos/oWrZoAVOBS0)

A Short History of Android and Reactive Programming: Coroutines Edition

Preface Last year, there was a hot topic on Twitter about how relevant RxJava was with modern Android development, which garnered a pretty interesting debate with some convincing arguments from both sides. The claim was that given the popularity of modern frameworks, RxJava is too bloated and should be removed. The debate was even given a catchy title, which prompted a panel discussion at Droidcon Berlin last year, with Hasan, Ivan, x, and myself....

June 3, 2019 · 12 min · Ash Davies
mDevCamp: RxJava and Coroutines

RxJava and Coroutines

Kotlin has taken the Android world by storm, and is quickly becoming the most popular language, with coroutines approaching stability, does it make sense to replace your RxJava implementations for Coroutines? Despite the hype, it may not make sense to jump on the bandwagon just yet, with RxJava having already proven its stability and usefulness, and in many cases the comparison between the two frameworks showing that they simply fit different purposes....