android Styling Views on Android (Without Going Crazy) Styles are hard to get right on Android. There's a lot of potential for frustration. The hierarchy easily devolves into spaghetti code. How often have you wanted to change a style but feared you might break something unintentionally by doing so? After many years of working with Android,
android Grokking RxJava, Part 4: Reactive Android In parts 1 [https://blog.danlew.net/2014/09/15/grokking-rxjava-part-1/], 2 [https://blog.danlew.net/2014/09/22/grokking-rxjava-part-2/], and 3 [https://blog.danlew.net/2014/09/30/grokking-rxjava-part-3/] I covered how RxJava works (in a general sense). But as
android What Should You Localize? Localization is an important topic to me; there's no faster way to expand your audience than include the entire rest of the world! A few months ago I wrote about how to setup your strings [https://blog.danlew.net/2014/04/16/android-localization-tips/]. That's
android Upcoming Talk: Custom Views for Profit and Pleasure As is my wont, I'm going to be going to a few conferences in the upcoming months and giving some talks. My new talk this year will be all about my love of custom Views on Android. It's called "Custom Views for Profit and Pleasure&
android New App: Download Shortcut I've published another tiny tool app: Download Shortcut [https://play.google.com/store/apps/details?id=net.danlew.download]. It solves a problem which has vexed me on Android: what if an app lets me open a link to a file (say, an mp3) but doesn't
android Fast Android asset theming with ColorFilter One of the neat aspects of the material theme [https://developer.android.com/preview/material/theme.html] in the upcoming Android L release is being able to theme all of your app (icons and all) with just a handful of attributes: <style name="AppTheme" parent="android:
android Gfycat for Android I think Gfycat [http://www.gfycat.com/] is doing some amazing work with their service - I don't mind gifs as a visual medium but it has always bothered me how large/slow they are to load. Gfycat takes those gigantic gifs and compresses them to a more convenient
android The Hidden Pitfalls of AsyncTask Logc.at [logc.at] is a defunct blog I wrote a couple posts for a few years ago. I'm using the Wayback Machine [https://archive.org/web/] to recover and repost my articles here. I originally wrote this article when I was (foolishly) still using AsyncTasks. Nowadays I
android Android Tips Round-Up, Part 5 Here's the final round-up of Android tips I've been posting. I've officially run out of things to post. If I ever come across something new I'll post it but it won't be daily anymore. It's been fun
android Why I avoid android.util.Patterns I wanted to leave a quick note about android.util.Patterns [http://developer.android.com/reference/android/util/Patterns.html]: I think it's a dangerously misleading class. It's so tempting - who wouldn't want ready-made, AOSP-approved regexes? But there's some serious
android Android Tips Round-Up, Part 4 Here's the fourth round-up of Android tips I've been posting. More: Part 1 [https://blog.danlew.net/2014/03/30/android-tips-round-up-part-1/] | Part 2 [https://blog.danlew.net/2014/04/14/android-tips-round-up-part-2/] | Part 3 [https://blog.
android Android Tips Round-Up, Part 3 Here's the third round-up of Android tips I've been posting. More: Part 1 [https://blog.danlew.net/2014/03/30/android-tips-round-up-part-1/] | Part 2 [https://blog.danlew.net/2014/04/14/android-tips-round-up-part-2/] | Part 3 | Part 4
android Android Localization Tips I've been interested in localization on Android recently. There's a few neat things I've been experimenting with I thought I'd share. xliff:g One common problem when sending strings for translation is that some parts of a string should not be localized.
android Android Tips Round-Up, Part 2 Here's the second round-up of Android tips I've been posting. More: Part 1 [https://blog.danlew.net/2014/03/30/android-tips-round-up-part-1/] | Part 2 | Part 3 [https://blog.danlew.net/2014/04/28/android-tips-round-up-part-3/] | Part 4
android Android Tips Round-Up, Part 1 With my recent project [https://blog.danlew.net/2014/03/17/android-tip-of-the-day/] I've been posting one Android class/method a day. People have been asking for an archive of these links, so every couple weeks I'm going to round them up here.
android An Android View Measurement Case Study A coworker ran into an interesting problem the other day. Here's a (much simplified) version of the layout which led us to some interesting discoveries about the Android measurement system: <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <
android Testing on Android (Part 4): Testing Services The final part of my Android testing series will be about services one can use for testing. By services, I typically mean companies you pay to help you do your testing. I'm currently operating on a budget of zero, so I haven't actually tested any of
android New Library: joda-time-android I've just published a new Android library: joda-time-android [https://github.com/dlew/joda-time-android]. The readme explains why you might want it and how to use it. I wanted to go into detail on two topics I learned about while making it. While the library
android Testing on Android (Part 3): Other Testing Tools Part three of my Android testing series will be about odds-and-ends tools for testing that don't really fit into strict unit/functional testing frameworks, but are worth checking out. Part 1: Unit Tests [http://goo.gl/sO4M06] Part 2: Functional Tests [http://goo.gl/NDBvkX] Part
android Preserve Your Launchers: Use Activity Aliases When you deploy your Android app, the launcher Activity's manifest entry should be treated as a contract. While it is possible to change the launcher after install doing so will confuse apps that previously used the contract. The classic example is putting a launcher on your home screen
android Testing on Android (Part 2): Functional Tests Here's part two of my series on Android testing. This time, I'm going to wade into the huge number of functional testing frameworks that exist. The differentiation I made between unit testing and functional testing is that the functional tests operate the actual device (as in,
android Who Goes First App Continuing with my series of boardgame-related side projects [https://blog.danlew.net/2013/02/26/resistance_avalon_app/], I've written a small holo-themed app for determining who goes first called (unsurprisingly) Who Goes First [https://play.google.com/store/apps/details?id=com.idunnolol.whogoesfirst] . As
android Testing on Android (Part 1): Unit Tests I've recently been doing research on Android testing. I'm quite new to this business; automated testing has (for the longest time) felt unnecessary. But I've been slowly convinced that the benefits outweigh the time costs - as long as you do it in an efficient
android Thoughts on the Current State of Android IDEs I've repeatedly been getting the question "which IDE should I use for Android?" recently so I'm writing up a brief summary. Here's my current thoughts on the state of Android IDEs (circa December 2013): Eclipse + ADT The original Android IDE, officially supported
android Streaming JSON Parsing Performance Test: Jackson vs. GSON A few years ago, when speed and memory became a concern in one of my Android apps, I implemented some streaming JSON parsing using Jackson [http://wiki.fasterxml.com/JacksonHome]. At the time I chose Jackson over Gson [https://code.google.com/p/google-gson/] because the benchmarks seemed to