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

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.

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.

Kotlin Night Berlin: 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. ...

November 22, 2018 · Kotlin Night (Berlin, Germany) · 1 min · Ash Davies
Droidcon London: Preparing Your App for Google Play Instant

Preparing Your App for Google Play Instant

Android Instant applications are becoming increasingly available, and thanks to the work from the Android platform team can already be installed on devices running Android Lollipop or later. As an application developer for a large application, or one with plenty of untested legacy code, preparing an application that might be tightly coupled into a single module requires us to carefully de-tangle and move concerns to independent modules. This talk covers how we managed to prepare our application for instant apps by breaking off base elements and isolating essential key features into self-contained, independent modules, with all the difficulties that this entails and how you can avoid the common pain points and pitfalls. ...

October 26, 2018 · Droidcon (London, United Kingdom) · 1 min · Ash Davies
Droidcon Berlin: Leveraging Android Data Binding with Kotlin

Leveraging Android Data Binding with Kotlin

Android Databinding is considered as both a powerful toolchain, empowering your views with access to view data without the necessity to build cumbersome presenters, and conversely as an overly complex, convoluted mess of binding statements opening the door to unnecessary, irresponsible domain logic in your view layouts. Whilst the latter of these statements can be true, Databinding offers a very powerful code generation syntax, allowing you to utilise the power of the compiler to ensure that your binding statements are runtime safe. Combining this with the concise syntax afforded by Kotlin allows us to dramatically cut down on boilerplate and build complex user interfaces with relative ease. ...

July 27, 2018 · Droidcon (Berlin, Germany) · 1 min · Ash Davies
Droidcon Berlin: Rx Must Die

Rx Must Die

Is the learning curve of Rx too steep? Do we overuse Rx Java? Is LiveData an alternative? Do Coroutines and Kotlin build-in features make it obsolete? The Context: Episode 21: Rx Must Die

July 27, 2018 · Droidcon (Berlin, Germany) · 1 min · Ivan Morgillo, Joannes Orgis, Hasan Hosgel, Ash Davies