A Quick Android Snackbar Tutorial: Setup, Action Handling, and UI Customization

Android Snackbars are, unfortunately, not as tasty as they sound. But they are extremely useful for showing errors or other lightweight feedback to a user–with minimal setup required. This is a brief tutorial for setting up a basic Snackbar, adding actions, and customizing its appearance.
Read more on A Quick Android Snackbar Tutorial: Setup, Action Handling, and UI Customization…

Sending Data Between Activities in Android

Android Intents are objects used to trigger actions from other Android Activities. One of the most common uses of Intents is to open a new Activity in your app. Often, you will want to pass information to the new Activity. In this post, I’ll discuss a few ways to pass data between Activities using Intents, including passing primitives, Strings, and object types.
Read more on Sending Data Between Activities in Android…

IDE Knows the Trouble I’ve Seen

If you have ever found yourself working on iOS and Android projects, you’ve probably had to decide which IDE or text editor to use. Unfortunately, there are not a lot of options to choose from when it comes to native projects; however, this means that choosing an IDE is significantly easier. Android Studio is a great choice for Android development, and if you want to keep your environment consistent, AppCode is an excellent product.
Read more on IDE Knows the Trouble I’ve Seen…

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 contents of items at certain positions. In this post, I’ll show you an Espresso matcher that can be used to aid in testing RecyclerViews.
Read more on Espresso – Testing RecyclerViews at Specific Positions…

Free Cloud Git and CI for Private Mobile Projects

Update: since this post was written, Ship.io has announced that they are shutting down at the end of October, and they are no longer accepting new signups. Greenhouse’s service remains available.

On my last project, we used GitHub private repositories and CircleCI continuous integration. Both services were fantastic. So when I recently started a personal Android project, I wanted to try using these or similar tools. My project needs to live in a private repository, and I’m not yet willing to spend any money on it. What are my options?

Read more on Free Cloud Git and CI for Private Mobile Projects…

Developing a Mobile App? Some Numbers You’ll Need to Know

Are you thinking about developing the next great mobile app? When creating your business strategy you’ll want to know:

  • How many potential app users there are?
  • What platform you should develop for?
  • What apps have the greatest reach?
  • What apps generate the most revenue?

The mobile app market is evolving quickly, so the answers to the above questions change frequently. In this blog post, I will report the most recent numbers, and also provide links to resources that you can use to stay up to date with the information you need. Read more on Developing a Mobile App? Some Numbers You’ll Need to Know…

RubyFlux – Statically Compile Ruby to Java

Charles Nutter, creator of JRuby, has a new offering for the Ruby/Java community: RubyFlux (formerly called fastruby). RubyFlux is a static Ruby to Java compiler. It uses JRuby to analyze the AST of the Ruby files and generate Java source files. The generated code has no run-time dependencies and ends up being pure Java.

RubyFlux could be an amazing tool if/when it gets built into a usable state. It provides massive speedups over MRI or even JRuby.

Here’s a preliminary benchmark. It generates a Mandelbrot Set ten times to compare the native Ruby to the much faster RubyFlux. Here are my results:

Read more on RubyFlux – Statically Compile Ruby to Java…

Where Is the Offline View Pattern?

In mobile application development, many interfaces that are ultimately displaying remote data need to provide an offline mode. This usually implies said data is cached locally on the device at some point, and a protocol is in place to update that data and refresh the view.

I think there’s a pattern here, though I can’t find much evidence on the internets of people discussing it. This leaves me thinking that one of the following is true:

  1. I’m not searching for the “Right Thing™.”
  2. The concept is too obvious to warrant discussion.
  3. Everyone working on mobile apps is too busy to give a shit.

Read more on Where Is the Offline View Pattern?…

Android 4.0 Feature Review at October GR Java Users Group

I had the luxury of building an Android application in mid-late 2010. It was a fun project to work on here at Atomic — building a mobile application for Spectrum Health — but there were certain aspects of the Android API that were not particularly exciting. That experience is why I enjoyed this month’s Grand Rapids Java Users Group meeting, where we briefly covered some new features in Android 4.0.

Read more on Android 4.0 Feature Review at October GR Java Users Group…