Saturday, December 19, 2009

Tooling around

I'm still working on getting the project in a format that Eclipse will read, and it's tedious enough that I'm starting to wonder if I ought to just forgo this exercise and live life outside the IDE.  Eclipse is a great tool for Java, but its scala plugin is nowhere near as useful in terms of features, and worse still it's constantly crashing.  I've managed to get decent syntax highlighting to work in a number of lightweight Windows editors, and sbt basically works in terms of compiling and deploying an .apk file; furthermore I enjoy it's Maven style directory layout.

The one thing I'm worried about missing by ditching Eclipse is the Android SDK tools (that is, the ADT).  Some of the visual tools for editing layout and so on look like they're pretty slick, and I'm certain they'll only get better with time.  I suppose for now I'll keep plugging away - hopefully by the end I will at least have a useful project setup that other people can use.

Thursday, December 17, 2009

axr update

Just as a quick update on axr, Jan Berkel has merged in my changes to make android-plugin workable on Windows, so downloading the forked version from from my github repository is not necessary. (Now that I'm thinking about it, though, I don't know whether he's published the changes to whatever Ivy main repository sbt looks at, so it still may be necessary to build from source based on his repository.)

Meanwhile I'm trying to get axr into a state where its directory layout is more like the one the Android tools use.

Tuesday, December 15, 2009

axr ho

In lieu of posting edifying thoughts about Android here, I've elected to develop a simple app and use this blog to talk about that process. (I reserve the right to pontificate in the future, however.)

I am calling the app "axr," short for "Android XBMC Remote control."  I'm hoping this project will ultimately result in a simple app which is able to act as a remote control for XBMC by hitting its web services (or however the heck you do that, I'm hoping I can start with very straightforward HTTP calls hooked up to simple buttons).

The purpose of this project is really not so much to develop an awesome remote so much as it is to learn how to code a Scala application for Android. I'm hoping to use simple-build-tool for building it, because sbt looks awesome and there's already a good Android plugin which builds apk files from it.

I am a big fan of XBMC, though, and I'll use the app myself, if only because the notion of all the complex layers of software and network transport that need to be traversed in order for a single command to reach the moving image on my TV from an android app rather tickles me, especially compared to the situation with an old TV and an IR remote.

The source for axr is available, of course, on bitbucket.  It currently consists of little besides a skeleton hello, world project which can be built and installed by sbt.  Note that in order to build this on Windows, you'll presently* need to download my forked copy of the sbt Android plugin (on github, sorry) and then run sbt publish-local in its top-level folder so you wind up with the changes in your local sbt's Ivy repository. (In fact, I haven't built it on anything else, so that might be the only way it works.)

Once that's done, and you've set up an emulator as described towards the bottom of this Google page, you should be able to install and run it by running sbt install-emulator (while there's an emulator running, obviously).

* UPDATE: these changes have been merged in jberkel's repository, so there's no need to use my fork.

Monday, November 2, 2009

About Travels with Marvin

So I just got a new phone, an HTC Hero, and I thought I would start an Android-related blog.  "Travels with Marvin" is, of course, a reference to Marvin, the Paranoid Android from Douglas Adam's Hitchhiker's Guide to the Galaxy series.  For some background on me, I'm a programmer who does mostly java-based web development at the moment, though I have an interest in Python and similar high-level dynamic languages.  

This phone is my first smartphone; I got it right when it came out and jumped into the thick of things by taking a week's vacation to New York, where it came in very handy for navigation and the like.  Still, it's taken some getting used to, and there are a bunch of rough edges in the Android world generally which I found somewhat surprising.  I enjoy reading this sort of thing on other people's blogs, so I thought I might as well record some impressions about the phone and the Android experience generally.

As a side note, I don't have an iPhone and am not likely to get one in the near future.  I'm not an Apple hater, in fact I first learned to program seriously on a Mac Classic, but I have a real love-hate relationship with them, and as a developer I can't endorse the sorts of shenanigans they have been pulling with their app store.  iPhones themselves seem like wonderful devices, but they aren't for me.  Enough said about that, but I probably won't spend a lot of time comparing Android and iPhone functionality.

Likewise, while the Pre looks pretty awesome and I was really close to buying one when I went with the Hero, I don't have one to compare.  It seems like the Pre has a very interesting development community (for a hacker), but I was a little put off by some of the reviews I read about the Pre hardware (especially the battery life), and while I really do hope Palm becomes a major player in the smartphone market when the time came I went with Android instead.

Well, I reckon that will do for an introduction.  Onwards.