Interviewing tips for software engineers applying to Zalando. Before Amazon, I worked for Zalando for over 2 years. During that time I interviewed countless developers, from junior to tech leads, mostly in the Android space. In this post, I share what I was looking for and how to best prepare for the software engineer interviews. Continue reading
Category: Android
Pro Tip: Android Studio shortcuts for unit tests
Testing is an important part of the development process. Today we will leverage Android Studio shortcuts to create and run unit tests faster and without using the mouse. Continue reading
A library that draws transparent text in a TextView
Today we will make TextView render its text as transparent so that we can see underneath the TextView, for example the activity background. This technique uses the Porter’s and Duff’s transfer modes. A ready-to-use library along with its source code can be found here. Continue reading
Loading DEX code over the network
Today we are going to see how code can be downloaded and executed over the network. This technique is useful if you want to update parts of an app without rolling out a complete update. In the code sample, we will fetch two dex files, load them dynamically, and then execute their code. Along the way, we will explain how class loading works under the hood. Continue reading
Retrofit 2: Code walkthrough
Retrofit is an open source library by Square that turns annotated java interfaces into REST clients. The library is currently in its second beta and changed quite a bit from its first version to better support the Ok stack. In this post we will go through its code, explaining its main techniques and inner workings. This post assumes some knowledge of the library as a user of it. Continue reading
Hidden activities are not destroyed under memory pressure
Many developers after reading the official documentation believe that the system will reap the hidden activities of a task when running out of memory. In this post we will see this is not the case and how to solve the problem. Continue reading
The retained fragment trick
The first tough problem a new Android developer faces is how to manage work in the background. Spawning a new Thread is easy, but once UI objects need to be notified with the result, the situation becomes tricky: the UI objects might have been replaced by the system because of a configuration change. In this post we explore how to bind and rebind to the new UI objects with a retained Fragment. Continue reading
Espresso: Click on last item in AdapterView
In Espresso is quite easy to tap on the first element of an `AdapterView`, such as a `ListView`. This can be easily done calling `DataIteraction.atPosition(0)`. Clicking on the last item though, is much more complicated. The last position is unknown to Espresso and extracting it stringing together a `findViewById()` and `AdapterView.getCount()` seems to defeat the purpose of using Espresso altogether. Continue reading
ADB over wifi
The adb command is well known to Android developers, it provides utility commands such as shelling into a device, manipulating basic services like the activity manager, and pushing or pulling files from a device. What is not widely known is that you don’t actually need an usb cable to talk to your device. Continue reading