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. ...

Google IO Extended: Android Jetpack

Android Jetpack: Navigation Component

A brief overview of the Navigation Component presented at Google IO Extended at the Google office in Berlin.

Android Dev Podcast: Activity Lifecycle Under the Hood

Activity Lifecycle Under the Hood

So many candidates nowadays are using live data on interview but less than half of them know how it works and what exact a problems with activity destroy during rotation and keeping activity in the backstack. We have GDE from Berlin Ash Davies to solve that puzzle and show clear picture what to do to deal with the state.

Photo by [Goh Rhy Yan](https://unsplash.com/@gohrhyyan) on [Unsplash](https://unsplash.com/photos/FFgcWvplwsc)

The Dangers of Language Abuse

Much of our responsibility as software engineers is based upon problem-solving, we are required to use our knowledge of available tools, and our experience, to find the most appropriate solution to a given problem. That’s what I’d like to focus on here, on finding the most appropriate solution. More often than not, the solution to a problem can be quite simple and doesn’t require over-engineering, which is perhaps where the age-old KISS and YAGNI principles come from. ...

March 9, 2019 · 4 min · Ash Davies
Berlindroid: 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. ...

Diving into Flutter: An Android Perspective

Earlier this year I demonstrated the strengths of Flutter by developing a showcase application, in this presentation I talk about my experience with the platform, and how you can use the strengths of Flutter to build fast prototypes and beautiful UI’s with a blazingly fast development cycle.