Recently I developed with Alexander Zeh an interface for an Android tablet app for the agents in an African mobile payment network. It was a pitch for the company, and while we weren’t selected we’re quite happy with our work and decided to share it with you. You can find our designs and analysis at http://bubblefoundry.com/tabletinterface/.
Posts tagged with Android
From what I understand:
- Native JSON methods don’t exist.
- Web SQL Database and Web Storage (things like localStorage, etc) aren’t supported.
More as I find them.
What do this all mean? In short, good luck making an advanced HTML5 web app for Android versions below 2.0, which unfortunately is still many devices.
I’m very happy with avd and plan to continue improving it, but I though it would be worth pointing out the many of the device manufacturers actually have SDK add-ons that provide skins and device profiles like
avd does. Of course, theirs tend to be locked behind screenfulls of legalese, but hey, what can you do?
In no particular order:
- Sony Ericsson Xperia X10
- Google APIs – Ok, this is actually available from the SDK Manager by default but it’s worth pointing out that it’s technically an add-on.
- Most Motorola devices – Among others there are profiles for the Milestone, Droid X, and Droid 2 but not for the original Droid.
- Samsung Galaxy Tab – Props to Samsung for supporting the actual add-on site functionality: there’s no need to manually download zips and such. By Samsung, why is it impossible to find any mention of Android on your developer site? What about your nice Galaxy S phone?
I had some trouble installing an Android app I was testing today over the internet so I used the SDK. I’m working with a tester with a Windows machine who didn’t have the SDK, so I wrote up the steps so they could do the same. It’s essentially the same on OS X or Linux. Here is how to install the Android SDK so that you can install APKs over USB:
1. Go to http://developer.android.com/sdk/index.html and download the Windows version.
2. Unzip the android-sdk_r07-windows.zip and move the android-sdk-windows folder to somewhere easy to find.
3. Double click on SDK Manager to launch the application.
3a. If you get a message like “Warning: Java not found in your PATH,” go to http://www.oracle.com/technetwork/java/javase/downloads/index.html.
3b. Click on the left-most big Java button (the plain one). Select your platform (either Windows or Windows x64… probably the former). Click continue.
3c. The download should start. Once the installer is downloaded run it, choose all the default options.
3d. Now try SDK Manager again.
4. Now that you know you can open the SDK Manager, you don’t need to use it. ;-p Copy the APK file into the tools directory.
5. Click on Start, then Search for “Command Prompt” and open it.
6. type “cd Desktop” to move to the Desktop folder, assuming you unziped the Android SDK there.
7. Do the same for android-sdk-windows: “cd android-sdk-windows”
8. And now tools: “cd tools”
9. Finally, with the Android device connected via USB, install the APK with the adb tool: ‘adb -d install “My App.apk”‘ Here’s how I did it:
Microsoft Windows [Version 6.1.7600] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\Users\Peter Robinett>cd Desktop C:\Users\Peter Robinett\Desktop>cd android-sdk-windows C:\Users\Peter Robinett\Desktop\android-sdk-windows>cd tools C:\Users\Peter Robinett\Desktop\android-sdk-windows\tools>adb -d install "My App.apk" * daemon not running. starting it now on port 5037 * * daemon started successfully * 753 KB/s (3701434 bytes in 4.797s) pkg: /data/local/tmp/My App.apk Failure [INSTALL_FAILED_ALREADY_EXISTS]
Ignore the INSTALL_FAILED message, I already have the app on my phone. ;-) If you ever want to reinstall an app, add the -r option:
apk -d install -r "My App.apk".
The Android Emulator supports different virtual devices, including with interface skins, so you can test your apps on different ‘devices’ before actually transferring it to an Android device. These definitions are created with the command
android create avd but unfortunately there’s no shared repository of device information and only a few walkthroughs. I stayed up late last night and whipped up avd, a Python script that can take definitions stored in JSON files and call
android create avd. Right now there’s only one device definition and one skin, the Xperia X10 by Tea Vui Huang, but I’m hoping that people will fork the project and then push me new definitions, just like Homebrew.
Google says it very succinctly: “HTML5 and WebKit pave the way for mobile web applications.” HTML5 is coming and it has a lot of interesting features, from audio and video support to local storage. Combine this with the fact that web apps are a particularly attractive way to reach many mobile platforms and the WebKit browser found on the iPhone and Android platforms already implements many of the HTML5 standard, and you can see why HTML5 is so attractive for mobile apps.
With the ability of HTML5 web apps to store data locally and have the browser pass along the device’s hardware states, I believe that HTML5 wbe apps can do almost anything you could want an internet-using application to do. The only exception I can think of is high performance 3D graphics, as even great 2D graphics are possible with CSS3 and HTML5′s canvas tag. Already there are nice libraries like RaphaëlJS that work in the iPhone’s Mobile Safari.
With my friends Katie, Paul and Travis I’ve started Appostles. We’re awesome iPhone, Android and Blackberry developers and we want to build your apps. Sound interesting? Then hire us!
Also, if you were the person who emailed me in Dutch about building an app (that’s all I remember), I’m sorry but I seem to have completely lost your email. Can you please email me again?
I’m very excited to announce that we are putting on an Android Dev Camp on January 8, 2009 in Amsterdam. It should be a lot of fun, so you should definitely come.
Hopefully this will make up for not posting at all about Mobile Dev Camp, an awesome event I organized in Amsterdam at the end of November. There’s a huge amount of interest in mobile development, so I hope to do more Mobile Dev Camps, both in Amsterdam and in other cities, such as Helsinki. If you’re interested in helping organize them, please drop me a line at firstname.lastname@example.org.