Setting Up Amazon’s Dash Replenishment Services and Login with Amazon on Android

On my current project, we’re integrating Amazon’s Dash Replenishment Services (DRS) into an Android app. DRS allows “smart” devices to automatically reorder supplies from Amazon if users of the device (and accompanying apps) opt in. For example, a washing machine might order more detergent, or an electronic device might order more batteries. The order is triggered once […]

Espresso – Testing RecyclerViews at Specific Positions

My team recently added a RecyclerView to a screen in an Android app we’re working on. It’s a horizontal view that allows a user to scroll left and right to see content that’s offscreen. One of the challenges we’ve faced while working on this view has been testing it in our Espresso tests—specifically, testing the […]

Evil Android Styling

I love writing applications for the Android platform, partly because I find that there are a lot of very nice abstractions in the Android APIs. One of my favorite features is how easy it is to style the platform widgets. If you haven’t worked with Android styling before, I’d like to introduce you to some of the […]

Building Android Application Bundles (APKs) by Hand

If you’ve ever tried to build an Android application package by hand, you might have gotten frustrated by the ‘comprehensive’ documentation, which states: The other platform tools, such as aidl, aapt, dexdump, and dx, are typically called by the Android build tools or Android Development Tools (ADT), so you rarely need to invoke these tools […]

More Additions to kSOAP2

We have been using the kSOAP2 library for SOAP communications on Android. Previously, we discussed using Manfred Moser’s fork which fixed the a bug with SoapObject#getAttribute, and adding methods to check whether a particular property or attribute exists. Last week, we ran into another limitation: kSOAP2 doesn’t attach attributes to primitives. For example, when parsing […]