Saturday, September 11, 2010

Historical Revision — v1.4

Well, fun, now I have a better understanding of backwards compatibility and Android versions.

I had asked my friend at work to download my app to show him "all the features," but he couldn't find it in the marketplace. Hmmm. I immediately suspected a firmware version difference. Turns out, he had 2.1, whereas the minSDKVersion tag in my application's manifest file was set to "8" (2.2). "Aha!"—I thought—"I'll simply change the minimum SDK level to 7!" It was a brilliant solution, requiring no programming whatsoever.

It was too good to be true, apparently. I found out later that the app crashed before even opening on 2.1 phones. This, upon further investigation, was caused by one simple new addition: Display.getRotation. In former Android versions, the method was Display.getOrientation. With a bit more research and fiddling, I figured out how to make it work for everyone—even all the way back to Android 1.6! This feat required a few more changes than just the orientation one, but overall nothing too complex. After all, my app is just a pillow, right? How complex could it be?

Tuesday, September 7, 2010

Versions 1.2 and 1.3

After a small hiatus from development, I returned with renewed vigor and verve to reapply myself with gusto.

*cough*

Or, at least I returned. I dabbled in a few bug fixes, only to be continually frustrated by my vastly incomplete knowledge of Java and Android programming. Every leak I covered, it seemed, sprung two new ones, plus a mole. As many Moles I A-Whacked and leaks I plugged, new problem seemed to just pop up somewhere else. Thus, my on-and-off dabbling didn't accomplish much.

Finally, I realized I and my application would have to hunker down and duke out our differences in a wee hour death match. I stayed up until 5:30 AM, but I finally worked in the following changes:

  • Sound playback is now accomplished through a background service (before it played through the main activity; now it is freed up to handle things in a more ongoing way)
  • A settings panel is now in place, with an option for auto shutoff based on an alarm
  • A notification appears in the status bar while sound is playing in the background
  • Two new sounds: Waterfall and Lapping Waves
I've come a long way; there is still a long way to go. I drew up a list of plans, and it grew much larger than I expected it would. The ultimate goal is to have enough features and sounds to warrant a paid version, accompanied by a Lite version with limitations and sound samples to try out before purchasing the full one.