<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Novoda &#187; Blog</title>
	<atom:link href="http://novoda.com/category/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://novoda.com</link>
	<description>Android mobile development and consultancy</description>
	<lastBuildDate>Wed, 05 Oct 2011 11:15:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Novoda at London Mobile Week</title>
		<link>http://novoda.com/2011/10/05/novoda-at-london-mobile-week/</link>
		<comments>http://novoda.com/2011/10/05/novoda-at-london-mobile-week/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 11:15:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Conference & Events]]></category>

		<guid isPermaLink="false">http://novoda.com/?p=563</guid>
		<description><![CDATA[Over the Air - 30th September &#038; 1st October
Jamie was speaking about ubiquitous Android at Over The Air on the Friday. The rest of the Novoda team were there for the hackathon too. We came armed with a whole bunch of ideas and a pack of NFC stickers! Hooray we won stuff! I ended up [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_572" class="wp-caption aligncenter" style="width: 510px"><a href="http://novoda.com/wp-content/uploads/2011/10/build_bot.jpg"><img src="http://novoda.com/wp-content/uploads/2011/10/build_bot.jpg" alt="" title="build_bot" width="500" height="281" class="size-full wp-image-572" /></a><p class="wp-caption-text">Some loved the wearable build bot more than others.</p></div>
<p><a href="http://overtheair.org/blog/">Over the Air </a>- 30th September &#038; 1st October<br />
Jamie was speaking about ubiquitous Android at Over The Air on the Friday. The rest of the Novoda team were there for the hackathon too. We came armed with a whole bunch of ideas and a pack of NFC stickers! <a href="http://overtheair.org/blog/2011/09/29/ota11-hackday-categories-prizes/">Hooray we won stuff!</a> I ended up making an app which won the Secure Communications Challenge with an NFC enabled encryptor for your secret messages and the guys won the most wearable hack for a wearable build status bot. </p>
<p>To I&#8217;m participating in <a href="http://www.terrapinn.com/2011/planet-of-the-apps/">Planet of the Apps</a> &#8211; 4th&#8211;7th October in a panel discussion on the first conference day: &#8216;Can the browser app be the killer app&#8217;</p>
<p>And then the biggie&#8230; we&#8217;re organising and Carl&#8217;s speaking at <a href="http://uk.droidcon.com/">Droidcon UK</a> &#8211; 6th &#038; 7th October. Carl will be presenting his talk about Android&#8217;s message-driven architecture. The whole Novoda team will be in attendance just kicking about. See you there!</p>
<p>A little further in the future, some of us will be at Droidcon Netherlands on the 22nd &#038; 23rd November.</p>



Share this post:


	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2011%2F10%2F05%2Fnovoda-at-london-mobile-week%2F&amp;partner=sociable" title="Print"><img src="http://novoda.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Novoda%20at%20London%20Mobile%20Week&amp;body=http%3A%2F%2Fnovoda.com%2F2011%2F10%2F05%2Fnovoda-at-london-mobile-week%2F" title="email"><img src="http://novoda.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnovoda.com%2F2011%2F10%2F05%2Fnovoda-at-london-mobile-week%2F&amp;title=Novoda%20at%20London%20Mobile%20Week&amp;bodytext=%0D%0A%0D%0AOver%20the%20Air%20-%2030th%20September%20%26%201st%20October%0D%0AJamie%20was%20speaking%20about%20ubiquitous%20Android%20at%20Over%20The%20Air%20on%20the%20Friday.%20The%20rest%20of%20the%20Novoda%20team%20were%20there%20for%20the%20hackathon%20too.%20We%20came%20armed%20with%20a%20whole%20bunch%20of%20ideas%20and%20a%20pack%20of%20NFC%20stic" title="Digg"><img src="http://novoda.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fnovoda.com%2F2011%2F10%2F05%2Fnovoda-at-london-mobile-week%2F&amp;title=Novoda%20at%20London%20Mobile%20Week&amp;notes=%0D%0A%0D%0AOver%20the%20Air%20-%2030th%20September%20%26%201st%20October%0D%0AJamie%20was%20speaking%20about%20ubiquitous%20Android%20at%20Over%20The%20Air%20on%20the%20Friday.%20The%20rest%20of%20the%20Novoda%20team%20were%20there%20for%20the%20hackathon%20too.%20We%20came%20armed%20with%20a%20whole%20bunch%20of%20ideas%20and%20a%20pack%20of%20NFC%20stic" title="del.icio.us"><img src="http://novoda.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fnovoda.com%2F2011%2F10%2F05%2Fnovoda-at-london-mobile-week%2F&amp;title=Novoda%20at%20London%20Mobile%20Week" title="Reddit"><img src="http://novoda.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Novoda%20at%20London%20Mobile%20Week%20-%20http%3A%2F%2Fnovoda.com%2F2011%2F10%2F05%2Fnovoda-at-london-mobile-week%2F" title="Twitter"><img src="http://novoda.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fnovoda.com%2F2011%2F10%2F05%2Fnovoda-at-london-mobile-week%2F&amp;title=Novoda%20at%20London%20Mobile%20Week&amp;annotation=%0D%0A%0D%0AOver%20the%20Air%20-%2030th%20September%20%26%201st%20October%0D%0AJamie%20was%20speaking%20about%20ubiquitous%20Android%20at%20Over%20The%20Air%20on%20the%20Friday.%20The%20rest%20of%20the%20Novoda%20team%20were%20there%20for%20the%20hackathon%20too.%20We%20came%20armed%20with%20a%20whole%20bunch%20of%20ideas%20and%20a%20pack%20of%20NFC%20stic" title="Google Bookmarks"><img src="http://novoda.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnovoda.com%2F2011%2F10%2F05%2Fnovoda-at-london-mobile-week%2F&amp;t=Novoda%20at%20London%20Mobile%20Week" title="Facebook"><img src="http://novoda.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fnovoda.com%2F2011%2F10%2F05%2Fnovoda-at-london-mobile-week%2F&amp;t=Novoda%20at%20London%20Mobile%20Week" title="HackerNews"><img src="http://novoda.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fnovoda.com%2F2011%2F10%2F05%2Fnovoda-at-london-mobile-week%2F" title="Technorati"><img src="http://novoda.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2011%2F10%2F05%2Fnovoda-at-london-mobile-week%2F&amp;partner=sociable" title="PDF"><img src="http://novoda.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://novoda.com/2011/10/05/novoda-at-london-mobile-week/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Novoda at Charity Hack 2011</title>
		<link>http://novoda.com/2011/09/27/novoda-at-charity-hack-2011/</link>
		<comments>http://novoda.com/2011/09/27/novoda-at-charity-hack-2011/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 15:28:00 +0000</pubDate>
		<dc:creator>jdamcd</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Conference & Events]]></category>

		<guid isPermaLink="false">http://novoda.com/?p=551</guid>
		<description><![CDATA[Myself, Carl and Kevin attended Charity Hack last weekend at the PayPal offices in Richmond. We&#8217;re pretty pleased with having created a fairly end-to-end solution in less than 24 hours.
Lovep.ie
We created a website and Android app for Lovep.ie! The concept is to allow the user to decide how much they can afford to donate, and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://twitter.com/jdamcd">Myself</a>, <a href="http://twitter.com/charroch">Carl</a> and <a href="http://twitter.com/kevinmcdonagh">Kevin</a> attended <a href="http://twitter.com/charityhack2011">Charity Hack</a> last weekend at the PayPal offices in Richmond. We&#8217;re pretty pleased with having created a fairly end-to-end solution in less than 24 hours.</p>
<p><strong>Lovep.ie</strong></p>
<p>We created a website and Android app for Lovep.ie! The concept is to allow the user to decide how much they can afford to donate, and then divide that amount between a selection of causes. We hope that this would make it easier for people to spread their generosity and include smaller charities and non-profit organisations.</p>
<p><img  title="Lovep.ie Website" src="http://novoda.com/wp-content/uploads/2011/09/lovepie.png" alt="" height="300" />  <img title="Lovep.ie Android app" src="http://novoda.com/wp-content/uploads/2011/09/device-2011-09-26-180132.png" alt="" height="300" /></p>
<p><strong>History</strong></p>
<p>Lovep.ie was a drastic simplification of an idea from a previous charity hack. We deleted the previous source and coded it from scratch. This time we made and Android app too, and that turned out to be a good opportunity to play with Roboguice for dependency injection.</p>
<p><strong>Our solution</strong></p>
<p>We used PayPal APIs and the PayPal mobile payments library to create a parallel payment, split evenly between the selected causes. MissionFish provided us some sample charity data and a method for making donations with PayPal through their service. It would, of course, also be possible to make PayPal payments directly to the causes from our app and website.</p>
<p><strong>Future</strong></p>
<p>We have ambitions to release Lovep.ie some time. Hopefully we can find some causes that would like to be involved.</p>



Share this post:


	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2011%2F09%2F27%2Fnovoda-at-charity-hack-2011%2F&amp;partner=sociable" title="Print"><img src="http://novoda.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Novoda%20at%20Charity%20Hack%202011&amp;body=http%3A%2F%2Fnovoda.com%2F2011%2F09%2F27%2Fnovoda-at-charity-hack-2011%2F" title="email"><img src="http://novoda.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnovoda.com%2F2011%2F09%2F27%2Fnovoda-at-charity-hack-2011%2F&amp;title=Novoda%20at%20Charity%20Hack%202011&amp;bodytext=Myself%2C%20Carl%20and%20Kevin%20attended%20Charity%20Hack%20last%20weekend%20at%20the%20PayPal%20offices%20in%20Richmond.%20We%27re%20pretty%20pleased%20with%20having%20created%20a%20fairly%20end-to-end%20solution%20in%20less%20than%2024%20hours.%0D%0A%0D%0ALovep.ie%0D%0A%0D%0AWe%20created%20a%20website%20and%20Android%20app%20for%20Lovep.ie" title="Digg"><img src="http://novoda.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fnovoda.com%2F2011%2F09%2F27%2Fnovoda-at-charity-hack-2011%2F&amp;title=Novoda%20at%20Charity%20Hack%202011&amp;notes=Myself%2C%20Carl%20and%20Kevin%20attended%20Charity%20Hack%20last%20weekend%20at%20the%20PayPal%20offices%20in%20Richmond.%20We%27re%20pretty%20pleased%20with%20having%20created%20a%20fairly%20end-to-end%20solution%20in%20less%20than%2024%20hours.%0D%0A%0D%0ALovep.ie%0D%0A%0D%0AWe%20created%20a%20website%20and%20Android%20app%20for%20Lovep.ie" title="del.icio.us"><img src="http://novoda.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fnovoda.com%2F2011%2F09%2F27%2Fnovoda-at-charity-hack-2011%2F&amp;title=Novoda%20at%20Charity%20Hack%202011" title="Reddit"><img src="http://novoda.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Novoda%20at%20Charity%20Hack%202011%20-%20http%3A%2F%2Fnovoda.com%2F2011%2F09%2F27%2Fnovoda-at-charity-hack-2011%2F" title="Twitter"><img src="http://novoda.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fnovoda.com%2F2011%2F09%2F27%2Fnovoda-at-charity-hack-2011%2F&amp;title=Novoda%20at%20Charity%20Hack%202011&amp;annotation=Myself%2C%20Carl%20and%20Kevin%20attended%20Charity%20Hack%20last%20weekend%20at%20the%20PayPal%20offices%20in%20Richmond.%20We%27re%20pretty%20pleased%20with%20having%20created%20a%20fairly%20end-to-end%20solution%20in%20less%20than%2024%20hours.%0D%0A%0D%0ALovep.ie%0D%0A%0D%0AWe%20created%20a%20website%20and%20Android%20app%20for%20Lovep.ie" title="Google Bookmarks"><img src="http://novoda.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnovoda.com%2F2011%2F09%2F27%2Fnovoda-at-charity-hack-2011%2F&amp;t=Novoda%20at%20Charity%20Hack%202011" title="Facebook"><img src="http://novoda.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fnovoda.com%2F2011%2F09%2F27%2Fnovoda-at-charity-hack-2011%2F&amp;t=Novoda%20at%20Charity%20Hack%202011" title="HackerNews"><img src="http://novoda.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fnovoda.com%2F2011%2F09%2F27%2Fnovoda-at-charity-hack-2011%2F" title="Technorati"><img src="http://novoda.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2011%2F09%2F27%2Fnovoda-at-charity-hack-2011%2F&amp;partner=sociable" title="PDF"><img src="http://novoda.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://novoda.com/2011/09/27/novoda-at-charity-hack-2011/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Android continuous integration &#8211; Android Maven plugin</title>
		<link>http://novoda.com/2010/08/13/android-continuous-integration-android-maven-plugin/</link>
		<comments>http://novoda.com/2010/08/13/android-continuous-integration-android-maven-plugin/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 11:02:07 +0000</pubDate>
		<dc:creator>Kamil Olesiejuk</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[ci]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[hudson]]></category>
		<category><![CDATA[maven]]></category>

		<guid isPermaLink="false">http://novoda.com/?p=414</guid>
		<description><![CDATA[Continuous feedback on how our changes affect the current code allow us to confidently add  functionality. Documentation around testing on the Android platform continuous or otherwise is scarce so here we explain how to continuously compile your Android project’s tests in a central area for the benefit of the whole team and it’s clients.
The [...]]]></description>
			<content:encoded><![CDATA[<p>Continuous feedback on how our changes affect the current code allow us to confidently add  functionality. Documentation around testing on the Android platform continuous or otherwise is scarce so here we explain how to continuously compile your Android project’s tests in a central area for the benefit of the whole team and it’s clients.</p>
<p>The main components of our continuous integration system are:</p>
<div>
<ul>
<li><a href="http://maven.apache.org/">Maven</a></li>
<li><a href="http://hudson-ci.org/">Hudson</a></li>
<li><a href="http://developer.android.com/sdk/index.html">Android SDK</a></li>
<li><a href="http://code.google.com/p/maven-android-plugin/">Android Maven plugin</a></li>
<li><a href="http://wiki.hudson-ci.org/display/HUDSON/Android+Emulator+Plugin">Android Hudson plugin</a></li>
<li><a href="http://www.github.com/novoda">Github</a></li>
</ul>
</div>
<p>Here we wish to share and  document our set up and explore some capabilities of the android maven plugin. If you are brand new to it you may wish to first check out <a href="http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html">Maven in 5 minutes</a> and maven-android-plugin’s useful <a href="http://code.google.com/p/maven-android-plugin/wiki/GettingStarted">Getting Started </a> guide.</p>
<p>Android maven plugin helps us with the following android deployment tasks:</p>
<div>
<ul>
<li>Building your App</li>
<li>Running Behaviour / Unit Tests</li>
<li>Running Instrumentations</li>
<li>Setting up your test environment</li>
<li>Signing your release</li>
<li>Optimization of .apk files via zipalign</li>
</ul>
</div>
<p>We want to show you a real example of an application built with the help of the maven-android-plugin. It&#8217;s an Avatar Creator app for <a href="http://www.weeworld.com/">WeeWorld</a>.</p>
<p><a href="http://www.weeworld.com/"><img src="http://novoda.com/wp-content/uploads/2010/08/splash_screen.png" alt="WeeMee"/></a><a href="http://novoda.com/wp-content/uploads/2010/08/weeworldQR.png"><img width="200" height="200" src="http://novoda.com/wp-content/uploads/2010/08/weeworldQR.png" alt="WeeWorld"/></a></p>
<p>The app is now on the market, so go ahead and check it out! (0.99$)</p>
<p>If you&#8217;re quite familiar with maven and the android plugin, you might want to jump straight to the Real Life Example at the end of this post and check out the full configuration.</p>
<h3 name="build">
<p>Building your App</p>
</h3>
<p>To buid an apk, your app first needs to cite a version of android platform as a build path dependency in your application&#8217;s pom file (as provided scope). More on <a href="http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html">dependency scope</a>.</p>
<pre class="sh_xml">
&lt;dependency&gt;
&nbsp;&nbsp;&lt;groupId&gt;com.google.android&lt;/groupId&gt;
&nbsp;&nbsp;&lt;artifactId&gt;android&lt;/artifactId&gt;
&nbsp;&nbsp;&lt;version&gt;2.2.1&lt;/version&gt;
&nbsp;&nbsp;&lt;scope&gt;provided&lt;/scope&gt;
&nbsp;&nbsp;&lt;type&gt;jar&lt;/type&gt; &lt;!-- optional --&gt;
&lt;/dependency&gt;
&lt;!--Currently valid values: 1.5_r3,1.6_r2,2.0_r1,2.0.1_r1,2.1_r1,2.2.1--&gt;
&lt;!--Those packages are on the maven central repository--&gt;
</pre>
<p></br></p>
<p>The project must then reference the maven android plugin within the project’s pom along with the android API level targeted, here we cite version 2.2 (api level 8 )</p>
<pre class="sh_xml">
&lt;plugin&gt;
&nbsp;&nbsp;&lt;groupId&gt;com.jayway.maven.plugins.android.generation2&lt;/groupId&gt;
&nbsp;&nbsp;&lt;artifactId&gt;maven-android-plugin&lt;/artifactId&gt;
&nbsp;&nbsp;&lt;configuration&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;sdk&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;platform&gt;8&lt;/platform&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/sdk&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;deleteConflictingFiles&gt;true&lt;/deleteConflictingFiles&gt;
&nbsp;&nbsp;&lt;/configuration&gt;
&nbsp;&nbsp;&lt;extensions&gt;true&lt;/extensions&gt;
&lt;/plugin&gt;
</pre>
<p></br></p>
<p>Reference a java compiler version, since the default source and target values are 1.3 and 1.1 respectively, and android uses annotations conforming to java 5</p>
<pre class="sh_xml">
&lt;plugin&gt;
&nbsp;&nbsp;&lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;
&nbsp;&nbsp;&lt;configuration&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;source&gt;1.5&lt;/source&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;target&gt;1.5&lt;/target&gt;
&nbsp;&nbsp;&lt;/configuration&gt;
&lt;/plugin&gt;
</pre>
<p></br></p>
<p>If your project uses Any android platform plugins for instance Google maps, additional dependencies will also require referencing in the project’s pom:</p>
<pre class="sh_xml">
&lt;dependency&gt;
&nbsp;&nbsp;&lt;groupId&gt;com.google.android.maps&lt;/groupId&gt;
&nbsp;&nbsp;&lt;artifactId&gt;maps&lt;/artifactId&gt;
&nbsp;&nbsp;&lt;version&gt;8_r1&lt;/version&gt;
&nbsp;&nbsp;&lt;type&gt;jar&lt;/type&gt;
&lt;/dependency&gt;
&lt;!-- Current versions:  3, 4_r2, 7_r1, 8_r1 --&gt;
&lt;!-- NOTE: those are the ones defined by goole and are  NOT in the maven
central repository and need to be installed manually with:
mvn install:install-file wih proper parepeters as decribed here:

http://maven.apache.org/plugins/maven-install-plugin/usage.html

e.g. mvn install:install-file
-Dfile=$ANDROID_HOME/add-ons/addon_google_apis_google_inc_8/libs/maps.jar
-DgroupId=com.google.android.maps -DartifactId=maps -Dversion=8_r1
-Dpackaging=jar --&gt;
</pre>
<p></br></p>
<p>Additionally one should remember to specify the source directory if the folder structure does not follow the default maven structure:</p>
<pre class="sh_xml">
&lt;sourceDirectory&gt;${project.basedir}/src&lt;/sourceDirectory&gt;
</pre>
<p></br></p>
<p>At the same time remember NOT to specify the resource directory, as maven-android-plugin handles Android-specific resources on its own, and we don&#8217;t wnt duplicates.</p>
<p>This will already get your project building, but there’s much more that maven can do for You. Let’s look at some of that now.</p>
<h3 name="instrument1">
<p>Testing your App with an Instrumentation</p>
</h3>
<p>You most hopefully have an accompanying instrumentation test instrumentation project for your Android application and maven can build and run these against your previously compiled project. Maven can build the test project, deploy both the app and the test, and run the instrumentation on an attached device or an emulator.</p>
<p>Within the instrumentation test project it will need the following dependency:</p>
<pre class="sh_xml">
&lt;dependency&gt;
&nbsp;&nbsp; &lt;groupId&gt;com.google.android&lt;/groupId&gt;
&nbsp;&nbsp;&lt;artifactId&gt;android-test&lt;/artifactId&gt;
&nbsp;&nbsp;&lt;version&gt;2.2.1&lt;/version&gt;
&lt;/dependency&gt;
&lt;!-- Allowed values same as for android package --&gt;
 </pre>
<p> </br></p>
<p>If it depends upon the source code of the application which it tests:</p>
<pre class="sh_xml">
&lt;dependency&gt;
&nbsp;&nbsp;&lt;!-- optional: compile time dependency, in this case so that we can --&gt;
&nbsp;&nbsp;&lt;!-- read from the R.java for example. --&gt;
&nbsp;&nbsp;&lt;groupId&gt;my.app.group&lt;/groupId&gt;
&nbsp;&nbsp;&lt;artifactId&gt;myapp&lt;/artifactId&gt;
&nbsp;&nbsp;&lt;version&gt;${project.version}&lt;/version&gt;
&nbsp;&nbsp;&lt;scope&gt;compile&lt;/scope&gt;
&nbsp;&nbsp;&lt;type&gt;jar&lt;/type&gt;
&lt;/dependency&gt;
</pre>
<p></br></p>
<p>Instrumentations are run through a series of interactions within a pseudo environment so you will need to specify the Device/AVD(Android virtual Device) upon which you wish to run tests:</p>
<pre class="sh_xml">&lt;groupId&gt;com.jayway.maven.plugins.android.generation2&lt;/groupId&gt;
&lt;artifactId&gt;maven-android-plugin&lt;/artifactId&gt;
&nbsp;&nbsp;&lt;configuration&gt;
&nbsp;&nbsp;&lt;emulator&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;avd&gt;22&lt;/avd&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- name of the avd to deploy to and run the instrumentation on --&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;wait&gt;150000&lt;/wait&gt; &lt;!-- wait time for the emulator to start --&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;options&gt;-partition-size 128 -wipe-data&lt;/options&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- additional options to run the emulator with--&gt;
&nbsp;&nbsp;&lt;/emulator&gt;
&nbsp;&nbsp;&lt;undeployBeforeDeploy&gt;true&lt;/undeployBeforeDeploy&gt;
&lt;/configuration&gt;
</pre>
<p></br></p>
<p>Devices to deploy to can be specified by a serial number but generic “usb” and “emulator” values are also valid. More detailed documentation can be found <a href="http://maven-android-plugin-m2site.googlecode.com/svn/emulator-start-mojo.html">here</a>.</p>
<h3>
<p>Instrumentation environment</p>
</h3>
<p>Instrumentations can interact at various hook in points during the a devices connected lifecycle. Execution and binding it to a maven lifecycle phase is specified like:</p>
<pre class="sh_xml">
&lt;executions&gt;
&nbsp;&nbsp;&lt;!-- android plugin execution that starts the emulator. --&gt;
&nbsp;&nbsp;&lt;execution&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;id&gt;startemulator&lt;/id&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- bound to the 'initialize' phase --&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;phase&gt;initialize&lt;/phase&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;goals&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;goal&gt;emulator-start&lt;/goal&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/goals&gt;
&nbsp;&nbsp;&lt;/execution&gt;
&lt;/executions&gt;
</pre>
<p></br></p>
<p>The configuration above binds the android plugin’s ‘emulator-start’ goal to the ‘initialize’ phase of the maven lifecycle. This is the equivalent of  manually executing mvn android:emulator-start, from a directory with a pom containing valid configuration for it. Stopping the emulator does not require this and can be run anywhere and anytime with mvn android:emulator-stop.</p>
<p>If we would like to stop the emulator after running the instrumentation tests, we would add the following execution:</p>
<pre class="sh_xml">
&lt;execution&gt;
&nbsp;&nbsp;&lt;!-- android plugin execution that starts the emulator. --&gt;
&nbsp;&nbsp;&lt;id&gt;stopemulator&lt;/id&gt;
&nbsp;&nbsp;&lt;!-- bound to the 'install' phase --&gt;
&nbsp;&nbsp;&lt;phase&gt;install&lt;/phase&gt;
&nbsp;&nbsp;&lt;goals&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;goal&gt;emulator-stop&lt;/goal&gt;
&nbsp;&nbsp;&lt;/goals&gt;
&lt;execution&gt;
</pre>
<p></br></br></p>
<h3>
<p>Signing your release</p>
</h3>
<p>By default, the plugin will sign the apk with the debug key. This can be disabled, producing an unsigned apk.</p>
<pre class="sh_xml">
&lt;configuration&gt;
&nbsp;&nbsp;&lt;sign&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;debug&gt;false&lt;/debug&gt;
&nbsp;&nbsp;&lt;/sign&gt;
&lt;configuration&gt;
</pre>
<p></br></p>
<p>To sign and apk with your key, we will need to use the maven-jarsigner-plugin. Although it’s a different plugin, since it’s very relevant here’s how we did it:</p>
<pre class="sh_xml">
&lt;plugin&gt;
&nbsp;&nbsp;&lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
&nbsp;&nbsp;&lt;artifactId&gt;maven-jarsigner-plugin&lt;/artifactId&gt;
&nbsp;&nbsp;&lt;version&gt;1.2&lt;/version&gt;
&nbsp;&nbsp;&lt;executions&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;execution&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;id&gt;signing&lt;/id&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;goals&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;goal&gt;sign&lt;/goal&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/goals&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;phase&gt;package&lt;/phase&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;inherited&gt;true&lt;/inherited&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;configuration&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;includes&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&gt;
${project.build.directory}/target/${project.artifactId}-${project.version}.apk
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/include&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/includes&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;keystore&gt;${keystore.location}&lt;/keystore&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;storepass&gt;${keystore.password}&lt;/storepass&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;keypass&gt;${keystore.keypass}&lt;/keypass&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;alias&gt;${keystore.alias}&lt;/alias&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;verbose&gt;true&lt;/verbose&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/configuration&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/execution&gt;
&nbsp;&nbsp;&lt;/executions&gt;
&lt;/plugin&gt;
</pre>
<p></br></p>
<p>Configures the jarsigner plugin with the files (input, output), and the keystore details. Binds the plugin’s ‘sign’ goal to the ‘package’ phase of the maven lifecycle.</p>
<p>The ${kestore.*} variables above come from the settings.xml file, and look:</p>
<pre class="sh_xml">
&lt;properties&gt;
&nbsp;&nbsp;&lt;keystore.location&gt;path/to/test.keystore&lt;/keystore.location&gt;
&nbsp;&nbsp;&lt;keystore.password&gt;teststorepass&lt;/keystore.password&gt;
&nbsp;&nbsp;&lt;keystore.keypass&gt;testpass&lt;/keystore.keypass&gt;
&nbsp;&nbsp;&lt;keystore.alias&gt;testkey&lt;/keystore.alias&gt;
&lt;/properties&gt;
</pre>
<p></br></br></p>
<h3>Optimization .apk files via zipalign.</h3>
<p>The last stage of a deployment, but also very important is zipaligning the apk after it’s been signed. This aligns archived data in such a way that upon runtime memory can more efficiently store the related data. After this your apk is ready to go to the market. our configuration:</p>
<pre class="sh_xml">&lt;plugin&gt;
&nbsp;&nbsp;&lt;groupId&gt;com.jayway.maven.plugins.android.generation2&lt;/groupId&gt;
&nbsp;&nbsp;&lt;artifactId&gt;maven-android-plugin&lt;/artifactId&gt;
&nbsp;&nbsp;&lt;configuration&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;zipalign&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;verbose&gt;true&lt;/verbose&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;skip&gt;false&lt;/skip&gt;&lt;!-- defaults to true --&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;inputApk&gt;
&nbsp;&nbsp;&nbsp;&nbsp;${project.build.directory}/${project.artifactId}-${project.version}.apk
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/inputApk&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;outputApk&gt;
&nbsp;&nbsp;&nbsp;&nbsp;${project.build.directory}/${project.artifactId}_v${project.version}.apk
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/outputApk&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/zipalign&gt;
&nbsp;&nbsp;&lt;/configuration&gt;
&nbsp;&nbsp;&lt;executions&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;execution&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;id&gt;zipalign&lt;/id&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;phase&gt;verify&lt;/phase&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;goals&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;goal&gt;zipalign&lt;/goal&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/goals&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/execution&gt;
&nbsp;&nbsp;&lt;/executions&gt;
&lt;/plugin&gt;
</pre>
<p></br></p>
<p>Configures the plugin for the zipalign goal and binds that goal the the ‘verify’ phase of the maven lifecycle.</p>
<h3>
<p>Real Life Example</p>
</h3>
<p>The above describes taking full control over how maven-android-plugin builds and tests your android application. In reality though, one wouldn’t really use all of the above settings in one pom. Here&#8217;s an example of a fully-configured real-life project using ALL of the above:</p>
<div>
weeworld<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&#8212; WeeWorld<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&#8212; <a href="http://gist.github.com/521029#file_pom_app.xml">pom.xml</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&#8212; WeeWorldTest<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&#8212; <a href="http://gist.github.com/521029#file_pom_test.xml">pom.xml</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&#8212; <a href="http://gist.github.com/521029#file_pom_parent.xml">pom.xml</a>
</div>
<p></br></br></p>
<p>The project makes use of a parent-child structure and maven profiles to manage both App and Instrumentation projects and handle different cases of builds. Feel free to have a look and se how we&#8217;ve done it. For more guides and tips about android development and continuous integrations check back to our blog &#8211; we&#8217;ll have something here soon!</p>
<p>Topics to expect:</p>
<div>
<ul>
<li>Project relashionships and inheritance</li>
<li>Maven profiles</li>
<li>Hudson configuration</li>
<li>Automatic instrumentation testing on many different AVD&#8217;s using Hudson Android Plugin</li>
</ul>
</div>
<p></br></br></p>
<p><H5>
<p>References:</p>
</h5>
<p><a href="http://maven-android-plugin-m2site.googlecode.com/svn/plugin-info.html">maven-android-plugin site</a>, the <a href="http://code.google.com/p/maven-android-plugin/">Getting Started</a> guide and their <a href="http://code.google.com/p/maven-android-plugin/w/list">wiki page</a>.<br />
<a href="http://maven.apache.org/plugins/maven-install-plugin/usage.html">Installing a specific file into a local maven repository</a><br />
<a href="http://code.google.com/p/maven-android-plugin/wiki/SigningAPKWithMavenJarsigner">Signing apk files with maven</a><br />
<a href="http://www.simpligility.com/2010/06/maven-android-plugin-with-zipalign-and-improved-verification/">Zipalign apk files with maven-android-plugin</a></p>
<h5>
<p>Other relevant and important resources:</p>
</h5>
<p><a href="http://www.sonatype.com/books/mvnref-book/reference/public-book.html">Maven: The complete reference book</a> and it&#8217;s <a href="http://www.sonatype.com/books/mvnref-book/reference/android-dev.html">Android Chapter</a></p>
<script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_xml.js"></script><script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_xml.js"></script><script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_xml.js"></script><script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_xml.js"></script><script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_xml.js"></script><script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_xml.js"></script><script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_xml.js"></script><script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_xml.js"></script><script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_xml.js"></script><script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_xml.js"></script><script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_xml.js"></script><script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_xml.js"></script><script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_xml.js"></script><script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_xml.js"></script>


Share this post:


	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2010%2F08%2F13%2Fandroid-continuous-integration-android-maven-plugin%2F&amp;partner=sociable" title="Print"><img src="http://novoda.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Android%20continuous%20integration%20-%20Android%20Maven%20plugin&amp;body=http%3A%2F%2Fnovoda.com%2F2010%2F08%2F13%2Fandroid-continuous-integration-android-maven-plugin%2F" title="email"><img src="http://novoda.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnovoda.com%2F2010%2F08%2F13%2Fandroid-continuous-integration-android-maven-plugin%2F&amp;title=Android%20continuous%20integration%20-%20Android%20Maven%20plugin&amp;bodytext=Continuous%20feedback%20on%20how%20our%20changes%20affect%20the%20current%20code%20allow%20us%20to%20confidently%20add%20%20functionality.%20Documentation%20around%20testing%20on%20the%20Android%20platform%20continuous%20or%20otherwise%20is%20scarce%20so%20here%20we%20explain%20how%20to%20continuously%20compile%20your%20Andr" title="Digg"><img src="http://novoda.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fnovoda.com%2F2010%2F08%2F13%2Fandroid-continuous-integration-android-maven-plugin%2F&amp;title=Android%20continuous%20integration%20-%20Android%20Maven%20plugin&amp;notes=Continuous%20feedback%20on%20how%20our%20changes%20affect%20the%20current%20code%20allow%20us%20to%20confidently%20add%20%20functionality.%20Documentation%20around%20testing%20on%20the%20Android%20platform%20continuous%20or%20otherwise%20is%20scarce%20so%20here%20we%20explain%20how%20to%20continuously%20compile%20your%20Andr" title="del.icio.us"><img src="http://novoda.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fnovoda.com%2F2010%2F08%2F13%2Fandroid-continuous-integration-android-maven-plugin%2F&amp;title=Android%20continuous%20integration%20-%20Android%20Maven%20plugin" title="Reddit"><img src="http://novoda.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Android%20continuous%20integration%20-%20Android%20Maven%20plugin%20-%20http%3A%2F%2Fnovoda.com%2F2010%2F08%2F13%2Fandroid-continuous-integration-android-maven-plugin%2F" title="Twitter"><img src="http://novoda.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fnovoda.com%2F2010%2F08%2F13%2Fandroid-continuous-integration-android-maven-plugin%2F&amp;title=Android%20continuous%20integration%20-%20Android%20Maven%20plugin&amp;annotation=Continuous%20feedback%20on%20how%20our%20changes%20affect%20the%20current%20code%20allow%20us%20to%20confidently%20add%20%20functionality.%20Documentation%20around%20testing%20on%20the%20Android%20platform%20continuous%20or%20otherwise%20is%20scarce%20so%20here%20we%20explain%20how%20to%20continuously%20compile%20your%20Andr" title="Google Bookmarks"><img src="http://novoda.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnovoda.com%2F2010%2F08%2F13%2Fandroid-continuous-integration-android-maven-plugin%2F&amp;t=Android%20continuous%20integration%20-%20Android%20Maven%20plugin" title="Facebook"><img src="http://novoda.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fnovoda.com%2F2010%2F08%2F13%2Fandroid-continuous-integration-android-maven-plugin%2F&amp;t=Android%20continuous%20integration%20-%20Android%20Maven%20plugin" title="HackerNews"><img src="http://novoda.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fnovoda.com%2F2010%2F08%2F13%2Fandroid-continuous-integration-android-maven-plugin%2F" title="Technorati"><img src="http://novoda.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2010%2F08%2F13%2Fandroid-continuous-integration-android-maven-plugin%2F&amp;partner=sociable" title="PDF"><img src="http://novoda.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://novoda.com/2010/08/13/android-continuous-integration-android-maven-plugin/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Live Wallpapers part 1 &#8211; Animated Live Wallpaper</title>
		<link>http://novoda.com/2010/03/03/live-wallpapers-part-1-animated-live-wallpaper/</link>
		<comments>http://novoda.com/2010/03/03/live-wallpapers-part-1-animated-live-wallpaper/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 12:09:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Themes]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[livewallpaper]]></category>
		<category><![CDATA[nexusone]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[wallpaper]]></category>

		<guid isPermaLink="false">http://novoda.com/?p=364</guid>
		<description><![CDATA[Live wallpapers serve up an impressive introduction to Nexus Ones. Introduced in Android 2.1, these dashboard backgrounds have the advantage of being able to interact with a device programatically.  To celebrate receiving our Nexus Ones at a Londroid / Google Android developer lab have excitedly created some quick LiveWallpapers demos we&#8217;d like to share.
Animated LiveWallpaper
Live [...]]]></description>
			<content:encoded><![CDATA[<p>Live wallpapers serve up an impressive introduction to Nexus Ones. Introduced in Android 2.1, these dashboard backgrounds have the advantage of being able to interact with a device programatically.  To celebrate receiving our Nexus Ones at a Londroid / Google Android developer lab have excitedly created some quick LiveWallpapers demos we&#8217;d like to share.</p>
<h2>Animated LiveWallpaper</h2>
<p>Live Wallpapers offer unique screen real estate over widgets and a chance to show off some dashboard visuals. Childhood memories have instilled a message of freedom into the image of a Testerrossa speeding down an open road with a pretty girl ala &#8220;Ferris Buellers day off&#8221; and Sega&#8217;s classic &#8220;Outrun&#8221;. So What better to express the open platform than an OutRun inspired Live Wallpaper?</p>
<p>A sexy implementation using the openly available <a href="http://github.com/novoda/android/tree/master/Livewallpaper">github source code</a>:<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/ZjzAqJL-gNc&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/ZjzAqJL-gNc&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://andappstore.com/AndroidApplications/apps/OutRun_LiveWallpaper">Download the outrun livewallpaper for the Nexus One</a><br />
Scenery changes every time the phone is sleeping as you can see <a title="outrunlivewallpaper-day" href="http://qik.com/video/5226711">here</a>, <a title="outrunlivewallpaper-sunset" href="http://qik.com/video/5226632">here</a> and <a title="outrunlivewallpaper-night" href="http://qik.com/video/5226436">here</a>, in awful quality.</p>
<p>Admittedly my graphics aren&#8217;t quite as inspiring.</p>
<p><a href="http://novoda.com/wp-content/uploads/2010/02/demo_graphics.png"><img class="aligncenter size-full wp-image-368" title="demo_graphics" src="http://novoda.com/wp-content/uploads/2010/02/demo_graphics.png" alt="Demo graphics" width="589" height="292" /></a></p>
<p><a href="http://cloud.github.com/downloads/novoda/android/nexus_livewallpaper_anim.apk">Download Demo apk compiled for a Nexus One</a></p>
<h3>Animated LiveWallpaper Notes</h3>
<p>Src code for Demos projects on Github:<br />
<a href="http://github.com/novoda/android/tree/master/Livewallpaper/switch_leftright/">Switch Image on left/right</a><br />
<a href="http://github.com/novoda/android/tree/master/Livewallpaper/switch_animation/">Switch Animation on left/right</a></p>
<p>A Live Wallpaper consists of an &#8216;Engine&#8217; and a &#8216;Service&#8217;. The engine specifies how your wallpaper is rendered while it&#8217;s service creates instances for the home screen. A wallpaper service differs from a normal service in addition of  OnEngineCreate(). This has been the first time I&#8217;ve used the canvas extensively and I learned you first must lock the canvas and choose which region you wish to redraw. onVisibilityChanged() or onSurfaceChanged() will read much like the instructions of how to draw your canvas from empty. Onvisibility() will first change to true in rendering your wallpaper  preview and this will return false when your wallpaper falls out of view and you transition to your dashboard. This is a handy function as every time your wallpaper falls out of view you can stop everything you are doing and free up the associated resources.</p>
<p>To update the drawn canvas state you need to tell the UI to refresh via a handler. In my case I needed to request an indexed image from within an collection upon each draw, Each time the handler returns back I update my drawn bitmap with a frame from the animation. It should be noted here that you should only be keeping the image Resource IDs in memory rather than the actual binary contents of the images. I was at first doing this, following a demo I downloaded but I soon ran into this error at runtime:</p>
<pre class="sh_java">ERROR/AndroidRuntime(1067):
Uncaught handler: thread main exiting due to uncaught exception
java.lang.OutOfMemoryError: bitmap size exceeds VM budget</pre>
<p>This is because all of the png images although starting out quite small, when transformed to bitmaps upon interpreation they become a lot larger and quickly fill up the allotted memory allocation. Instead I just kept an array of resIds using res.getIdentifier(). This seems pretty good in the performance stakes.</p>
<p>I chose to play an animation for left and right steering when a user flicks between panels. I kept track of this via the onTouchEvent()&#8217;s <a href="http://developer.android.com/reference/android/view/MotionEvent.html#ACTION_DOWN">ACTION_DOWN</a> and then checking which side of the screen their<a href="http://developer.android.com/reference/android/view/MotionEvent.html#ACTION_UP"> ACTION_UP</a> was upon. The reason I added a timer in there was to add a little delay for the animation so you can appreciate the perfect driving line of the Testerossa.An area that I would like to return to is recognising when the user&#8217;s finger has dragged the screen a certain distance. My original approach to recognising significant drag was to monitor the start and end points and see if they lay at different sides of the screen, I have since learned measuring the distance within onOffSetsChanged would probably be a more reliable approach.</p>
<p>The last thing of note with Live Wallpapers is that they have a convenience listener for dropping icons and tapping on the dashboard screen via sendWallpaperCommand() and then acting on the input via onCommand(), these could also be very useful and are used to good effect in the demos with water droplets and colours.</p>
<p>At the moment it seems like the wallpaper is a bit of a memory hog and I&#8217;d like to find out why. Any suggestions are appreciated.<br />
We think that the problem is in the BitmapFactory.decodeResources() function recreating the Bitmap every time. In order to get around this I think the best way would be to create a &#8217;spriteSheet&#8217; then move around the area of this big sheet masking it to only the area I need like one of those revolving wheels that show the horse running. Live and learn, I always wondered why people used sprite sheets in games programming I guess this must be one of the reasons.</p>
<p>As a side note, if anyone has any information on how The Nexus One splash screen is able to read in it&#8217;s splash screen consisting of 97pngs (/system/media/bootanimation.zip)  I&#8217;d love to hear how they achieved this. When developing ideas for your Live Wallpapers consider trying to include the interaction of forces particular to the context of a mobile device such as time, movement and position.</p>
<blockquote><p>Android SDK at time of writing was: <strong>android-sdk-mac_x86-2.1 ( SDK version 7 )</strong></p></blockquote>
<h3>Citations &amp; Research</h3>
<ul>
<li><cite><a href="http://code.google.com/p/android-apps-by-minghai/">Really cute anime live wallpaper on google code</a></cite></li>
<li><cite><a href="http://github.com/novoda/android/tree/master/Livewallpaper/switch_leftright/">Github: Demo of switching left and right</a></cite></li>
<li><cite><a href="http://github.com/novoda/android/tree/master/Livewallpaper/switch_animation/">Github: Demo of switching Animation on left/right</a></cite></li>
<li><cite><a href="http://cloud.github.com/downloads/novoda/android/nexus_livewallpaper_anim.apk">Live Wallpaper anim demo APK for Nexus One</a></cite></li>
</ul>
<script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_java.js"></script>


Share this post:


	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2010%2F03%2F03%2Flive-wallpapers-part-1-animated-live-wallpaper%2F&amp;partner=sociable" title="Print"><img src="http://novoda.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Live%20Wallpapers%20part%201%20-%20Animated%20Live%20Wallpaper&amp;body=http%3A%2F%2Fnovoda.com%2F2010%2F03%2F03%2Flive-wallpapers-part-1-animated-live-wallpaper%2F" title="email"><img src="http://novoda.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnovoda.com%2F2010%2F03%2F03%2Flive-wallpapers-part-1-animated-live-wallpaper%2F&amp;title=Live%20Wallpapers%20part%201%20-%20Animated%20Live%20Wallpaper&amp;bodytext=Live%20wallpapers%20serve%20up%20an%20impressive%20introduction%20to%20Nexus%20Ones.%20Introduced%20in%20Android%202.1%2C%20these%20dashboard%20backgrounds%20have%20the%20advantage%20of%20being%20able%20to%20interact%20with%20a%20device%20programatically.%C2%A0%20To%20celebrate%20receiving%20our%20Nexus%20Ones%20at%20a%20Londroi" title="Digg"><img src="http://novoda.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fnovoda.com%2F2010%2F03%2F03%2Flive-wallpapers-part-1-animated-live-wallpaper%2F&amp;title=Live%20Wallpapers%20part%201%20-%20Animated%20Live%20Wallpaper&amp;notes=Live%20wallpapers%20serve%20up%20an%20impressive%20introduction%20to%20Nexus%20Ones.%20Introduced%20in%20Android%202.1%2C%20these%20dashboard%20backgrounds%20have%20the%20advantage%20of%20being%20able%20to%20interact%20with%20a%20device%20programatically.%C2%A0%20To%20celebrate%20receiving%20our%20Nexus%20Ones%20at%20a%20Londroi" title="del.icio.us"><img src="http://novoda.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fnovoda.com%2F2010%2F03%2F03%2Flive-wallpapers-part-1-animated-live-wallpaper%2F&amp;title=Live%20Wallpapers%20part%201%20-%20Animated%20Live%20Wallpaper" title="Reddit"><img src="http://novoda.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Live%20Wallpapers%20part%201%20-%20Animated%20Live%20Wallpaper%20-%20http%3A%2F%2Fnovoda.com%2F2010%2F03%2F03%2Flive-wallpapers-part-1-animated-live-wallpaper%2F" title="Twitter"><img src="http://novoda.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fnovoda.com%2F2010%2F03%2F03%2Flive-wallpapers-part-1-animated-live-wallpaper%2F&amp;title=Live%20Wallpapers%20part%201%20-%20Animated%20Live%20Wallpaper&amp;annotation=Live%20wallpapers%20serve%20up%20an%20impressive%20introduction%20to%20Nexus%20Ones.%20Introduced%20in%20Android%202.1%2C%20these%20dashboard%20backgrounds%20have%20the%20advantage%20of%20being%20able%20to%20interact%20with%20a%20device%20programatically.%C2%A0%20To%20celebrate%20receiving%20our%20Nexus%20Ones%20at%20a%20Londroi" title="Google Bookmarks"><img src="http://novoda.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnovoda.com%2F2010%2F03%2F03%2Flive-wallpapers-part-1-animated-live-wallpaper%2F&amp;t=Live%20Wallpapers%20part%201%20-%20Animated%20Live%20Wallpaper" title="Facebook"><img src="http://novoda.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fnovoda.com%2F2010%2F03%2F03%2Flive-wallpapers-part-1-animated-live-wallpaper%2F&amp;t=Live%20Wallpapers%20part%201%20-%20Animated%20Live%20Wallpaper" title="HackerNews"><img src="http://novoda.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fnovoda.com%2F2010%2F03%2F03%2Flive-wallpapers-part-1-animated-live-wallpaper%2F" title="Technorati"><img src="http://novoda.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2010%2F03%2F03%2Flive-wallpapers-part-1-animated-live-wallpaper%2F&amp;partner=sociable" title="PDF"><img src="http://novoda.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://novoda.com/2010/03/03/live-wallpapers-part-1-animated-live-wallpaper/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mobile World Congress Schedule 2010</title>
		<link>http://novoda.com/2010/02/08/mobile-world-congress-schedule-2010/</link>
		<comments>http://novoda.com/2010/02/08/mobile-world-congress-schedule-2010/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 18:13:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Conference & Events]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[mobile world congress]]></category>
		<category><![CDATA[mwc]]></category>
		<category><![CDATA[wip]]></category>

		<guid isPermaLink="false">http://novoda.com/?p=316</guid>
		<description><![CDATA[
Annual since 1987, Mobile world congress is the world&#8217;s largest exhibition for the mobile industry and with 47,000 in attendance last year, it&#8217;s safe to say that it&#8217;s worth mobile companies showing face. Since there is so much happening that week it makes sense to plan well ahead of schedule. Everyone has been sharing lists [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://novoda.com/wp-content/uploads/2010/02/mwc_logo.jpg"><img class="aligncenter size-full wp-image-317" title="mwc_logo" src="http://novoda.com/wp-content/uploads/2010/02/mwc_logo.jpg" alt="" width="430" height="307" /></a></p>
<p>Annual since 1987, Mobile world congress is the world&#8217;s largest exhibition for the mobile industry and with 47,000 in attendance last year, it&#8217;s safe to say that it&#8217;s worth mobile companies showing face. Since there is so much happening that week it makes sense to plan well ahead of schedule. Everyone has been sharing lists of events and excited talk but no maps. So I thought it might be worth me throwing in my plans in the hope that someone may benefit from my timings, maps and event lists. These timings are in no way guaranteed as a good judge of how you should spend your time but could help make sure you&#8217;ve not missed anything really beneficial. Most of my time is going to be spent in App planet but I really want to try and get around as many exhibition stands as I can in my rare few minutes in between. Feel free to say hello to me if you are in attendance. You can catch me on MotoDev&#8217;s panel of Android developers on Monday at 11:30am Hall 7.</p>
<p><a href="http://wipjam.com/">WIP</a> have very kindly developed an <a href="http://r20.rs6.net/tn.jsp?et=1103002598593&#038;s=11158&#038;e=001s_GrA-xMGSFFVEzIQrGun9OLcg0zdEB7tng3VxhuubxwSdKiVTn-D2cJIZGZ0-htpL90F1sGtXtmiXd2lxluJc6zN8j1cCmfmqJz-op21w8u492pWKtmdqkV-GxQEwDPgNtXTdJm70xKFFSyhNJlnXrsL6vYC830W58tbMYUKz3Fm2m7Ad3zElbXKGqc-O12jU8e2gltFM0=">MWC attendance survival guide</a> which I very much recommend if not just for the Exhibition floor plan.</p>
<p><strong>Mobile World Congress 2010 address</strong><br />
Event Details &#8211; <a href="http://www.mobileworldcongress.com">http://www.mobileworldcongress.com</a><br />
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.uk/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=Fira+de+Barcelona+Montju%C3%AFc&amp;sll=37.767004,-122.414366&amp;sspn=0.018557,0.038581&amp;ie=UTF8&amp;hq=Fira+de+Barcelona+Montju%C3%AFc&amp;hnear=&amp;radius=15000&amp;ll=41.383056,2.154608&amp;spn=0.017615,0.038581&amp;t=h&amp;z=14&amp;iwloc=A&amp;cid=17974055343114840695&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.uk/maps?f=q&amp;source=embed&amp;hl=en&amp;geocode=&amp;q=Fira+de+Barcelona+Montju%C3%AFc&amp;sll=37.767004,-122.414366&amp;sspn=0.018557,0.038581&amp;ie=UTF8&amp;hq=Fira+de+Barcelona+Montju%C3%AFc&amp;hnear=&amp;radius=15000&amp;ll=41.383056,2.154608&amp;spn=0.017615,0.038581&amp;t=h&amp;z=14&amp;iwloc=A&amp;cid=17974055343114840695" style="color:#0000FF;text-align:left">View Larger Map</a></small></p>
<h2>Sim Cards</h2>
<p>To obtain a prepaid Spanish sim with 3G Internet I&#8217;ve been recommended Yoigo. You need photo ID and the address of your hotel to sign up. Remember to get itit on any day other than Sunday and shops close around 2pm to 4pm:<br />
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.uk/maps?f=d&amp;source=s_d&amp;saddr=Avinguda+de+la+Reina+Maria+Cristina+08004+Barcelona,+Spain&amp;daddr=Gran+V%C3%ADa+Corts+Catalanes+407-409,+08015+Barcelona,+Spain+(Opencor)&amp;hl=en&amp;geocode=FQ5OdwId788gAClJE9AweqKkEjGR0mtRgMU8uA%3BFb1ddwIdCNUgACHBugntSB49OimDXuVefKKkEjHETAWPXEdAUw&amp;mra=ls&amp;dirflg=w&amp;sll=41.386804,2.133528&amp;sspn=0.035224,0.077162&amp;ie=UTF8&amp;t=h&amp;ll=41.3752,2.150555&amp;spn=0.004,0.00229&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.uk/maps?f=d&amp;source=embed&amp;saddr=Avinguda+de+la+Reina+Maria+Cristina+08004+Barcelona,+Spain&amp;daddr=Gran+V%C3%ADa+Corts+Catalanes+407-409,+08015+Barcelona,+Spain+(Opencor)&amp;hl=en&amp;geocode=FQ5OdwId788gAClJE9AweqKkEjGR0mtRgMU8uA%3BFb1ddwIdCNUgACHBugntSB49OimDXuVefKKkEjHETAWPXEdAUw&amp;mra=ls&amp;dirflg=w&amp;sll=41.386804,2.133528&amp;sspn=0.035224,0.077162&amp;ie=UTF8&amp;t=h&amp;ll=41.3752,2.150555&amp;spn=0.004,0.00229" style="color:#0000FF;text-align:left">View Larger Map</a></small></p>
<h2>Monday</h2>
<p>09:00 – MotoDev &#8211; Breakfast at Motodev in AppPlanet &#8211; Hall 7<br />
11:30 – MotoDev &#8211; Android Developer Panel &#8211; Hall 7<br />
11:30 &#8211; MotoDev &#8211; Maximise your Android Market Opportunity &#8211; App Planet &#8211; Hall 7<br />
12:15 – MotoDev &#8211; Lunch with the experts &#8211; App Planet &#8211; Hall 7<br />
14:00 – Mobile premier awards &#8211; Palau De La Música 4 08003 Barcelona, Spain 932 957 200<br />
21:00> – Mobile premier awards dinner &#8211; Bel-Luna Jazz Club &amp; Restaurant</p>
<h3>MotoDev</h3>
<p><a href="http://community.developer.motorola.com/t5/MOTODEV-Blog/MOTODEV-will-be-at-App-Planet-Mobile-World-Congress-mdap10-mwc10/ba-p/4134">More MotoDev event details&#8230;</a><br />
Not much has been mentioned in the Android pres about the motodev sessions but I for one am interested in the opinions of anyone developing plugins for my IDE. They have a bunch of sessions planned at MWC a few of which I&#8217;ll be attending.</p>
<h3>Mobile Premier awards</h3>
<p><a href="http://www.mobilepremierawards.com/">View event details</a><br />
To get to the mobile premier awards take the Espanya tube to Urquinaona then walk straight down the road: Carrer de les Jon que res<br />
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.uk/maps?f=d&amp;source=s_d&amp;saddr=Avinguda+de+la+Reina+Maria+Cristina+08004+Barcelona,+Spain&amp;daddr=Palau+De+La+M%C3%BAsica+4+08003+Barcelona,+Spain+932+957+200&amp;geocode=FQ5OdwId788gAClJE9AweqKkEjGR0mtRgMU8uA%3BFQ6GdwIdmi8hACklHTNx-qKkEjEYHbAi5BrBGg&amp;hl=en&amp;mra=ls&amp;dirflg=w&amp;sll=41.39353,2.138849&amp;sspn=0.070441,0.154324&amp;ie=UTF8&amp;t=h&amp;ll=41.381,2.16214&amp;spn=0.0156,0.02546&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.uk/maps?f=d&amp;source=embed&amp;saddr=Avinguda+de+la+Reina+Maria+Cristina+08004+Barcelona,+Spain&amp;daddr=Palau+De+La+M%C3%BAsica+4+08003+Barcelona,+Spain+932+957+200&amp;geocode=FQ5OdwId788gAClJE9AweqKkEjGR0mtRgMU8uA%3BFQ6GdwIdmi8hACklHTNx-qKkEjEYHbAi5BrBGg&amp;hl=en&amp;mra=ls&amp;dirflg=w&amp;sll=41.39353,2.138849&amp;sspn=0.070441,0.154324&amp;ie=UTF8&amp;t=h&amp;ll=41.381,2.16214&amp;spn=0.0156,0.02546" style="color:#0000FF;text-align:left">View Larger Map</a></small></p>
<h3>Mobile premier awards dinner</h3>
<p><a href="http://www.amiando.com/mpadinner.html">RSVP for the dinner here</a><br />
A swanky affair after the award ceremony which promises to be both an interesting and beautiful meal.<br />
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.uk/maps?f=d&amp;source=s_d&amp;saddr=Palau+De+La+M%C3%BAsica+4+08003+Barcelona,+Spain+932+957+200&amp;daddr=Rambla+Catalunya+5,+08007+Barcelona,+Spain+(Bel+Luna)&amp;hl=en&amp;geocode=FQ6GdwIdmi8hACklHTNx-qKkEjEYHbAi5BrBGg%3BFYyGdwIdKRUhACFPKF1YEDrj5inlPc6x86KkEjHhsXVDxoWf3w&amp;mra=pe&amp;mrcr=0&amp;dirflg=w&amp;sll=41.442158,2.091765&amp;sspn=0.460165,1.056747&amp;ie=UTF8&amp;t=h&amp;ll=41.388038,2.171495&amp;spn=0.002817,0.00456&amp;z=17&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.uk/maps?f=d&amp;source=embed&amp;saddr=Palau+De+La+M%C3%BAsica+4+08003+Barcelona,+Spain+932+957+200&amp;daddr=Rambla+Catalunya+5,+08007+Barcelona,+Spain+(Bel+Luna)&amp;hl=en&amp;geocode=FQ6GdwIdmi8hACklHTNx-qKkEjEYHbAi5BrBGg%3BFYyGdwIdKRUhACFPKF1YEDrj5inlPc6x86KkEjHhsXVDxoWf3w&amp;mra=pe&amp;mrcr=0&amp;dirflg=w&amp;sll=41.442158,2.091765&amp;sspn=0.460165,1.056747&amp;ie=UTF8&amp;t=h&amp;ll=41.388038,2.171495&amp;spn=0.002817,0.00456&amp;z=17" style="color:#0000FF;text-align:left">View Larger Map</a></small></p>
<h2>Tuesday</h2>
<p>08:30 &#8211; Opportunities with on-device payments and preloaded content &#8211; Tanla MWC Seminar<br />
08:00 &#8211; UKTI &#8211; Challenges in Japan &#8211; Location Sala D<br />
11:30 &#8211; UKTI &#8211; Turkish / UK Partnering Event &#8211; UKTI stand?<br />
17:00 &#8211; Scottish Development International &#8211; Whisky Reception &#8211; Stand, 1E66<br />
18:00 – GoMo &#8211; Incognito BAR, calle Fusina 6, 08003 Barcelona, Spain<br />
18:00 –	Androiders Dinner at MWC</p>
<p>The Tuesday looks like it will be quite businessy  until the evening where a bunch of Androiders will be getting together informally to chat and get dinner. So there is no official page or anything like that, just turn up or message someone who you know will be there(I&#8217;m @kevinmcdonagh) and we&#8217;ll be glad to have you in acquaintance.  The plan is to prey on the hospitality of GoMo and turn up for their free bar and food. This plan should work win/win since a bunch of Android experts will be going to meet with mobile businessy people.</p>
<p><strong>GoMo</strong><br />
Event details &#8211; <a href="http://www.facebook.com/#!/event.php?eid=180379714149&#038;ref=ts">http://www.facebook.com/#!/event.php?eid=180379714149&#038;ref=ts</a><br />
 Here are some directions to get from Mobile World Congress to the GoMo event. I&#8217;ll be taking the Espanya Tube to Jamuel:<br />
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.uk/maps?f=d&amp;source=s_d&amp;saddr=Avinguda+de+la+Reina+Maria+Cristina,+08004+Barcelona,+Spain&amp;daddr=calle+Fusina+6,+08003+Barcelona,+Spain+(Incognito+Cocktail+Bar)&amp;hl=en&amp;geocode=FQ5OdwId788gAClJE9AweqKkEjGR0mtRgMU8uA%3BFZiCdwIdiVEhACFCoqx_-kWP7ymhZUPt_aKkEjEnu4ZVpFZJ3w&amp;mra=ls&amp;dirflg=w&amp;sll=41.380115,2.16648&amp;sspn=0.035228,0.077162&amp;ie=UTF8&amp;t=h&amp;ll=41.380115,2.16648&amp;spn=0.01383,0.03414&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.uk/maps?f=d&amp;source=embed&amp;saddr=Avinguda+de+la+Reina+Maria+Cristina,+08004+Barcelona,+Spain&amp;daddr=calle+Fusina+6,+08003+Barcelona,+Spain+(Incognito+Cocktail+Bar)&amp;hl=en&amp;geocode=FQ5OdwId788gAClJE9AweqKkEjGR0mtRgMU8uA%3BFZiCdwIdiVEhACFCoqx_-kWP7ymhZUPt_aKkEjEnu4ZVpFZJ3w&amp;mra=ls&amp;dirflg=w&amp;sll=41.380115,2.16648&amp;sspn=0.035228,0.077162&amp;ie=UTF8&amp;t=h&amp;ll=41.380115,2.16648&amp;spn=0.01383,0.03414" style="color:#0000FF;text-align:left">View Larger Map</a></small></p>
<h2>Wednesday</h2>
<p>08:30 -	UKTI &#8211; UK / US Panel discussion &#8211; UKTI?<br />
09:00 -	Android dev lab (Games Dev) &#8211; Hall7 App world, MWC<br />
12:30 -	Sony Ericsson talk &#8211; App world Hall 7<br />
14:00 -	Tech crunch Mobile 2010<br />
18:00&gt; -	Android cocktails &#8211; B Hotel in Gran Vía 389-391, Barcelona (next to MWC congress grounds)<br />
18:30&gt; -	Swedish beers &#8211; Dostrece, carme 40, 08001, barcelona, Spain , 933017306<br />
19:00&gt; -	Carnival of nations party &#8211; 7 Sins Bar, Muntaner 7, Barcelona, Spain</p>
<p>There is so much happening on the Wednesday sacrifices will have to be made. I&#8217;m really excited to get close to the participants of the Android developer session and get some basic questions out the way from the best in class. I do not currently plan to attend the Tech crunch event as I will instead be using the time to take part in Sony Ericsson&#8217;s training sessions. I&#8217;m also really looking forward to meeting the Barcelona user group at the Android Cocktails, I&#8217;ll have to split my time between this and  Swedish beers which will inevitably be more businessy but essential.</p>
<p><strong>Android Cocktails</strong><br />
<strong>Event details</strong> &#8211; <a href="http://eventuo.com/event/HN9foG5u6NI">http://eventuo.com/event/HN9foG5u6NI</a><br />
An informal get together with the Barcelona Androids located beside MWC  in the Nuñez i Navarro B Hotel<br />
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.uk/maps?f=d&amp;source=s_d&amp;saddr=Avinguda+de+la+Reina+Maria+Cristina+08004+Barcelona,+Spain&amp;daddr=Gran+Via+de+les+Corts+Catalanes+389-391+08015+Barcelona,+Spain&amp;geocode=FQ5OdwId788gAClJE9AweqKkEjGR0mtRgMU8uA%3B&amp;hl=en&amp;mra=ls&amp;dirflg=w&amp;sll=41.367826,2.141579&amp;sspn=0.070469,0.154324&amp;ie=UTF8&amp;t=h&amp;ll=41.374845,2.149895&amp;spn=0.00329,0.00097&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.uk/maps?f=d&amp;source=embed&amp;saddr=Avinguda+de+la+Reina+Maria+Cristina+08004+Barcelona,+Spain&amp;daddr=Gran+Via+de+les+Corts+Catalanes+389-391+08015+Barcelona,+Spain&amp;geocode=FQ5OdwId788gAClJE9AweqKkEjGR0mtRgMU8uA%3B&amp;hl=en&amp;mra=ls&amp;dirflg=w&amp;sll=41.367826,2.141579&amp;sspn=0.070469,0.154324&amp;ie=UTF8&amp;t=h&amp;ll=41.374845,2.149895&amp;spn=0.00329,0.00097" style="color:#0000FF;text-align:left">View Larger Map</a></small></p>
<p><strong>Swedish Beers</strong><br />
<strong>Event Details</strong> &#8211; <a href="http://swedishbeers.blogspot.com/">http://swedishbeers.blogspot.com/</a><br />
A small scale yet still international event for businesses interested in mobile.<br />
To Swedish Beers from the Android Cocktails event take the Espanya metro to Liceu:<br />
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.uk/maps?f=d&amp;source=s_d&amp;saddr=Avda.+Reina+Maria+Cristina+s%2Fn+08004+Barcelona&amp;daddr=calle+Fusina+6,+08003+Barcelona,+Spain+(Incognito+Cocktail+Bar)&amp;hl=en&amp;geocode=FQ5OdwId788gAClJE9AweqKkEjGR0mtRgMU8uA%3BFZiCdwIdiVEhACFCoqx_-kWP7ymhZUPt_aKkEjEnu4ZVpFZJ3w&amp;mra=ls&amp;dirflg=w&amp;sll=41.453574,2.14727&amp;sspn=0.230042,0.528374&amp;ie=UTF8&amp;t=h&amp;ll=41.380115,2.16648&amp;spn=0.01383,0.03414&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.uk/maps?f=d&amp;source=embed&amp;saddr=Avda.+Reina+Maria+Cristina+s%2Fn+08004+Barcelona&amp;daddr=calle+Fusina+6,+08003+Barcelona,+Spain+(Incognito+Cocktail+Bar)&amp;hl=en&amp;geocode=FQ5OdwId788gAClJE9AweqKkEjGR0mtRgMU8uA%3BFZiCdwIdiVEhACFCoqx_-kWP7ymhZUPt_aKkEjEnu4ZVpFZJ3w&amp;mra=ls&amp;dirflg=w&amp;sll=41.453574,2.14727&amp;sspn=0.230042,0.528374&amp;ie=UTF8&amp;t=h&amp;ll=41.380115,2.16648&amp;spn=0.01383,0.03414" style="color:#0000FF;text-align:left">View Larger Map</a></small></p>
<p><strong>WIP Carnival of Nations party</strong><br />
<strong>Event Details</strong> &#8211; <a href="http://wipjam.com/party-carnival-of-nations/">http://wipjam.com/party-carnival-of-nations/</a><br />
In the unlikely event that I&#8217;ll have time to get to the Carnival of Nations event it is only 10mins walking distance away: Walking round the corner 10min away:</p>
<p><iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.uk/maps?f=d&amp;source=s_d&amp;saddr=Carrer+del+Carme,+40,+08001+Barcelona,+Spain+(Dostrece+Restaurant)&amp;daddr=Carrer+de+Muntaner+7,+08011+Barcelona,+Spain+(7Sins+Lounge+%26amp%3B+Music+Bar)&amp;hl=en&amp;geocode=FUBwdwIdLxshACkVVo0K9qKkEjEiJ3yv-6DgiA%3BFfR3dwIddAAhACHAqk3Mzdk4OCnZBgoPi6KkEjGbvRgJkJBVMQ&amp;mra=pe&amp;mrcr=0&amp;dirflg=w&amp;sll=41.393323,2.154708&amp;sspn=0.057564,0.132093&amp;ie=UTF8&amp;t=h&amp;ll=41.382456,2.166688&amp;spn=0.003598,0.008256&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.uk/maps?f=d&amp;source=embed&amp;saddr=Carrer+del+Carme,+40,+08001+Barcelona,+Spain+(Dostrece+Restaurant)&amp;daddr=Carrer+de+Muntaner+7,+08011+Barcelona,+Spain+(7Sins+Lounge+%26amp%3B+Music+Bar)&amp;hl=en&amp;geocode=FUBwdwIdLxshACkVVo0K9qKkEjEiJ3yv-6DgiA%3BFfR3dwIddAAhACHAqk3Mzdk4OCnZBgoPi6KkEjGbvRgJkJBVMQ&amp;mra=pe&amp;mrcr=0&amp;dirflg=w&amp;sll=41.393323,2.154708&amp;sspn=0.057564,0.132093&amp;ie=UTF8&amp;t=h&amp;ll=41.382456,2.166688&amp;spn=0.003598,0.008256" style="color:#0000FF;text-align:left">View Larger Map</a></small></p>
<h2>Thursday</h2>
<p>08:00 -	GetJar Demo &#8211; App Planet Auditorium, Hall 7, FIRA, Barcelona, Spain<br />
9ish - 	WIP Jam &#8211; App Planet Auditorium, Hall 7, FIRA, Barcelona, Spain<br />
11:45 – Join people Luncheoning form WIP &#8211; Hall 7<br />
15:30 &#8211; More	WIP Networking type interaction &#8211; Hall 7<br />
18:00&gt; <a href="http://www.meetup.com/android">Londroid &#8211; London Android Meetup</a></p>
<p>I&#8217;m obviously going to give the London Android Meeting a miss this time and instead I&#8217;ll be trying to make new WIP friends. Thankfully I can spend the whole day in the same place so no need for running to different locations.</p>



Share this post:


	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2010%2F02%2F08%2Fmobile-world-congress-schedule-2010%2F&amp;partner=sociable" title="Print"><img src="http://novoda.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Mobile%20World%20Congress%20Schedule%202010&amp;body=http%3A%2F%2Fnovoda.com%2F2010%2F02%2F08%2Fmobile-world-congress-schedule-2010%2F" title="email"><img src="http://novoda.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnovoda.com%2F2010%2F02%2F08%2Fmobile-world-congress-schedule-2010%2F&amp;title=Mobile%20World%20Congress%20Schedule%202010&amp;bodytext=%0D%0A%0D%0AAnnual%20since%201987%2C%20Mobile%20world%20congress%20is%20the%20world%27s%20largest%20exhibition%20for%20the%20mobile%20industry%20and%20with%2047%2C000%20in%20attendance%20last%20year%2C%20it%27s%20safe%20to%20say%20that%20it%27s%20worth%20mobile%20companies%20showing%20face.%20Since%20there%20is%20so%20much%20happening%20that%20week" title="Digg"><img src="http://novoda.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fnovoda.com%2F2010%2F02%2F08%2Fmobile-world-congress-schedule-2010%2F&amp;title=Mobile%20World%20Congress%20Schedule%202010&amp;notes=%0D%0A%0D%0AAnnual%20since%201987%2C%20Mobile%20world%20congress%20is%20the%20world%27s%20largest%20exhibition%20for%20the%20mobile%20industry%20and%20with%2047%2C000%20in%20attendance%20last%20year%2C%20it%27s%20safe%20to%20say%20that%20it%27s%20worth%20mobile%20companies%20showing%20face.%20Since%20there%20is%20so%20much%20happening%20that%20week" title="del.icio.us"><img src="http://novoda.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fnovoda.com%2F2010%2F02%2F08%2Fmobile-world-congress-schedule-2010%2F&amp;title=Mobile%20World%20Congress%20Schedule%202010" title="Reddit"><img src="http://novoda.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Mobile%20World%20Congress%20Schedule%202010%20-%20http%3A%2F%2Fnovoda.com%2F2010%2F02%2F08%2Fmobile-world-congress-schedule-2010%2F" title="Twitter"><img src="http://novoda.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fnovoda.com%2F2010%2F02%2F08%2Fmobile-world-congress-schedule-2010%2F&amp;title=Mobile%20World%20Congress%20Schedule%202010&amp;annotation=%0D%0A%0D%0AAnnual%20since%201987%2C%20Mobile%20world%20congress%20is%20the%20world%27s%20largest%20exhibition%20for%20the%20mobile%20industry%20and%20with%2047%2C000%20in%20attendance%20last%20year%2C%20it%27s%20safe%20to%20say%20that%20it%27s%20worth%20mobile%20companies%20showing%20face.%20Since%20there%20is%20so%20much%20happening%20that%20week" title="Google Bookmarks"><img src="http://novoda.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnovoda.com%2F2010%2F02%2F08%2Fmobile-world-congress-schedule-2010%2F&amp;t=Mobile%20World%20Congress%20Schedule%202010" title="Facebook"><img src="http://novoda.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fnovoda.com%2F2010%2F02%2F08%2Fmobile-world-congress-schedule-2010%2F&amp;t=Mobile%20World%20Congress%20Schedule%202010" title="HackerNews"><img src="http://novoda.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fnovoda.com%2F2010%2F02%2F08%2Fmobile-world-congress-schedule-2010%2F" title="Technorati"><img src="http://novoda.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2010%2F02%2F08%2Fmobile-world-congress-schedule-2010%2F&amp;partner=sociable" title="PDF"><img src="http://novoda.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://novoda.com/2010/02/08/mobile-world-congress-schedule-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Key Dates and projects beginning 2010</title>
		<link>http://novoda.com/2010/01/20/key-dates-and-projects-beginning-2010/</link>
		<comments>http://novoda.com/2010/01/20/key-dates-and-projects-beginning-2010/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 14:46:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Conference & Events]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[londroid]]></category>

		<guid isPermaLink="false">http://www.novoda.com/blog/?p=160</guid>
		<description><![CDATA[2010 promises to be an interesting year for Android. Starting off on the right foot I'd like to share some key dates and projects of general interest with everyone.
If there are any other events on the horizon we'd love to know about them so please get in touch and share.]]></description>
			<content:encoded><![CDATA[<p>2010 promises to be an interesting year for Android. Starting off on the right foot I&#8217;d like to share some key dates and projects of general interest with everyone.<br />
If there are any other events on the horizon we&#8217;d love to know about them so please get in touch and share.</p>
<h3>Community Calendar</h3>
<p>The closest thing a a community calendar in the Android world is the one started by a bunch of blogger sites including <a title="Android guys" href="http://androidguys.com">androidguys</a> and <a title="ANdroid and me" href="http://anddroidandme.com">anddroidandme</a><br />
To subscribe to the community maintained Android global events calendar see here:<br />
<a title="The Android global events calendar" href="http://www.google.com/calendar/embed?src=g72pef2iiuu28hmedcnce5h0u4%40group.calendar.google.com&amp;ctz=Europe%2FLondon&amp;gsessionid=ycdhn2eV3gvznWmB8IIIlQ">http://www.google.com/calendar/embed?src=g72pef2iiuu28hmedcnce5h0u4%40group.calendar.google.com&amp;ctz=Europe%2FLondon&amp;gsessionid=ycdhn2eV3gvznWmB8IIIlQ</a></p>
<h3>Upcoming Android Related Events</h3>
<p><strong>Mobile World Congress (MWC), Barcelona</strong><br />
15 &#8211; 18th Feb<br />
€599 &#8211; €4,999<br />
<a title="Mobile world congress" href="http://www.mobileworldcongress.com">http://www.mobileworldcongress.com</a><br />
The world&#8217;s largest mobile event</p>
<p><strong>Google IO</strong>, San francisco<br />
May 19th &amp; 20th<br />
$400/$500/ student $100<br />
<a title="Google IO" href="http://code.google.com/events/io/2010/">http://code.google.com/events/io/2010/</a><br />
Google&#8217;s annual global get together.</p>
<p><strong><br />
Londroid &#8211; The London Android meetup<br />
</strong>Monthly, free<br />
<a title="Londroid" href="http://www.meetup.com/android">http://www.meetup.com/android</a><br />
<a title="Londroid" href="http://www.londroid.co.uk">http://www.londroid.co.uk</a><br />
Skillsmatter London<br />
- Jan21, Feb18, Mar18, Apr22, May20, Jun17<br />
Our fave monthy meeting. Very much recommended.</p>
<p><strong>GeoMob</strong><br />
Monthly meetings, London 21Jan<br />
<a href="http://www.ctiawireless.com/">http://gmdlondon.ning.com/</a></p>
<p><strong>Droidcon Berlin</strong>, Nov? TBD £100<br />
<strong>Droidcon London</strong>, Dec? TBD £100<br />
Last year&#8217;s explicitly Android themed conference events. Dates will likely be announced within a few months.<br />
<a title="Droidcon" href="http://www.droidcon.de/">http://www.droidcon.de/</a></p>
<p><strong>Android Meetup Barcelona</strong><br />
16Feb (while MWC)<br />
<a title="Android meetup Barcelona" href="http://eventuo.com/of/barcelona-androides">http://eventuo.com/of/barcelona-androides</a><br />
A month;y get together in Barcelona. We&#8217;ll be attending the one held during MWC.</p>
<p><strong>Android Stammtisch</strong> Berlin, C-base<br />
<a title="Android Stammtisch" href="http://www.android-in-berlin.de/">http://www.android-in-berlin.de/</a><br />
Jan 27, Feb 24<br />
The monthly meetup held in Berlin&#8217;s excellent C-base hackspace.</p>
<p><strong>JavaUserGroup</strong><br />
Monthly<br />
<a title="Java meet" href="http://jroller.com/javawug/">http://jroller.com/javawug/</a></p>
<p><strong>Chigago Android eco-challenge hacakthon </strong><br />
Feb 6th, $1<br />
<a href="http://chigtug6.eventbrite.com/">http://chigtug6.eventbrite.com/</a></p>
<p><strong>Mobile Monday London</strong><br />
Monthly meetings<br />
<a href="http://www.m2-d2.de/">http://momolo.org/</a></p>
<p><strong>FosDem</strong>, Brussels Belgium<br />
6-7th Feb<br />
<a href="http://fosdem.org/2010/">http://fosdem.org/2010/</a></p>
<p><strong>AppJam<br />
</strong><a href="http://www.meetup.com/App-Jam/">http://www.meetup.com/App-Jam/</a></p>
<p><strong>Mobile Geeks of London</strong><br />
Monthly meetup<br />
facebook group</p>
<p><strong>CTIA Wireless</strong>, Las vegas<br />
March 23-25<br />
<a href="http://www.ctiawireless.com/">http://www.ctiawireless.com/</a></p>
<p><strong>WhereCampEU</strong><br />
March 12,13th<br />
London<br />
<a title="Where Camp" href="http://wherecamp.eu/">http://wherecamp.eu/</a></p>
<h3>Podcasts</h3>
<p>Androidguys &#8211; <a href="http://www.blogtalkradio.com/androidguys">http://www.blogtalkradio.com/androidguys</a><br />
Motodev &#8211; <a href="http://www.blogtalkradio.com/motodev">http://www.blogtalkradio.com/motodev</a><br />
The Java Posse &#8211; <a href="http://javaposse.com/">http://javaposse.com/</a></p>
<h3>Community hotspots</h3>
<p>IRC &#8211; irc.freenode.net  &#8211; #android, #android-dev<br />
The most active community channel for developers just generally getting together and chatting has been the IRC chat room from Android&#8217;s conception. A regular haunt for the members of Google&#8217;s Android team this chatroom is a the closest thing to a point of contact with the Android team.</p>
<h3>Sites</h3>
<p>Android neighbourhood &#8211; <a href="http://okmijnt.appspot.com/">http://okmijnt.appspot.com/</a> &#8211; The AndroidNeighbourhood was started as an extension to the official android site listing all of the upcoming worldwide Android events.<br />
<a title="Android and Me" href="http://androidandme.com/">Android and Me</a> &#8211; Popular Android enthusiast website with good periodicals and reporting<br />
<a title="Planet Android" href="http://planetandroid.com">planetandroid.com</a> &#8211; The big daddy Android aggregator. If you watch one site for Android news, watch this one.<br />
<a title="And dev" href="http://anddev.org">anddev.org</a> &#8211; This forum has remained one of the most active communities in enthusiast Android development since the early betas<br />
<a title="Android devices" href="http://android-devices.net ">android-devices.net </a>- nice source for upcoming Android devices.<br />
<a title="Android bloke" href="http://androidbloke.co.uk">androidbloke.co.uk</a> &#8211; UK based news source<br />
<a title="Android Guys" href="http://androidguys.com">androidguys.com</a> &#8211; A popular community for android developers and enthusiasts alike<br />
<a title="Open intents Group" href="http://groups.google.com/group/openintents">Open intents Group</a> &#8211; The chat group for Open intents</p>
<h3>Projects</h3>
<p>The most important open source projects are undoubtedly:<br />
<a href="http://www.openintents.org/en/">Open intents</a> -  Open intents is a project to publically declare agreed standards for intents outside Google. The source repo for open intent projects is here: <a id="pk2c" title="http://code.google.com/p/openintents/" href="http://code.google.com/p/openintents/">http://code.google.com/p/openintents/</a><br />
and the open intents registry &#8211; <a href="http://www.openintents.org/en/intentstable" target="_blank">http://www.openintents.org/en/intentstable</a> ,<br />
Open Android Alliance &#8211; <a href="http://code.google.com/p/open-android-alliance/" target="_blank">http://code.google.com/p/open-android-alliance/</a></p>
<p>Although there has been very little movement from the open android alliance, open intents are very active.<br />
Some notable other libraries that which we believe are useful:</p>
<p>Android &#8211; <strong>source</strong>.<strong>android</strong>.com<br />
<a id="trky" title="Commonsware" href="http://github.com/commonsguy">Commonsware</a> &#8211; Lot of very interesting and useful Android projects including code for caching, tutorials and helpful Adapters.<br />
<a href="http://github.com/kaeppler/droid-fu" target="_blank">Droid-fu</a> &#8211; <span>A utility library for your daily Android needs<br />
</span><a id="ftt1" title="Calculon" href="http://github.com/kaeppler/calculon/">Calculon</a> &#8211; Story based functional tests<br />
<a href="http://code.google.com/p/angle/" target="_blank">Angle</a> &#8211; an open GL game engine<br />
<a id="o_vm" title="Live Android" href="http://code.google.com/p/live-android/">Live Android</a> &#8211; An Android Live OS CD for x86<br />
Android x86 project &#8211; x86 ports<br />
<a id="ez-r" title="Android on Github" href="http://github.com/android/">Android on Github</a> &#8211; Mirror of Android repo<br />
<a id="o5fu" title="Phone Gap" href="http://github.com/sintaxi/phonegap/">Phone Gap</a> &#8211; Take advantage of platform specific features through a generic Javascript API</p>
<p><a href="http://github.com/kaeppler/signpost" target="_blank">Signpost</a> &#8211; <span>A light-weight client-side OAuth library for Java</span><br />
<a href="http://github.com/novoda/RESTProvider%20" target="_blank">RESTProvider </a>- <span title="Click to edit!">Automatically parses RESTful API responses into a Provider in Android</span><br />
<a href="http://code.google.com/p/maven-android-plugin/%20" target="_blank">Maven-android-plugin </a> <a name="1255518e62813378_Easy_to_use_Maven_plugin_for_Android!"> maven build plugin for android, useful for continuous integration.<br />
</a><a href="http://github.com/novoda/oauth_for_android" target="_blank">OAuth dashboard / providers</a> &#8211; An OAuth Library/application for Android. Acts as a dashboard for users permissions that they have allowed/dissalowed to applications and for developers gives them an easy way to securely authenticate using a thirdparty android OAuth implementation.</p>
<p><a id="t5uk" title="Busybox" href="http://www.busybox.net/">Busybox</a> &#8211; See here for how to install on Android. Adds <strong>chown, chgrp</strong>, <strong>awk, sed</strong>, <strong>grep</strong>,  <strong>du</strong>,  <strong>vi,</strong> <strong>pidof</strong>, <strong>less</strong>,  <strong>tail, </strong> <strong>gunzip, gzip, tar, bzip2, </strong> <strong>clear</strong>,  <strong>crontab, crond</strong>,  <strong>diff</strong>,  <strong>httpd</strong>,  <strong>telnet, </strong> <strong>xargs</strong>,  <strong>su</strong>,  <strong>wget, </strong> <strong>which</strong><br />
DoomForAndroid &#8211; http://code.google.com/p/doom-for-android/ &#8211; Doom<br />
<a style="text-decoration: none; color: #000000;" href="http://code.google.com/p/androidscreencast/">androidscreencast</a> &#8211; http://code.google.com/p/androidscreencast/ &#8211; Control an android device remotely</p>
<h3>Twitter</h3>
<p>Most popular twits: <a title="Popularly followed android related people" href="http://wefollow.com/twitter/android">http://wefollow.com/twitter/android</a><br />
A list of Android related people I think are worth following on twitter here: <a title="Kevinmcdonagh's Android related people list " href="http://twitter.com/kevinmcdonagh/droids/members">http://twitter.com/kevinmcdonagh/droids/members</a></p>



Share this post:


	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2010%2F01%2F20%2Fkey-dates-and-projects-beginning-2010%2F&amp;partner=sociable" title="Print"><img src="http://novoda.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Key%20Dates%20and%20projects%20beginning%202010&amp;body=http%3A%2F%2Fnovoda.com%2F2010%2F01%2F20%2Fkey-dates-and-projects-beginning-2010%2F" title="email"><img src="http://novoda.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnovoda.com%2F2010%2F01%2F20%2Fkey-dates-and-projects-beginning-2010%2F&amp;title=Key%20Dates%20and%20projects%20beginning%202010&amp;bodytext=2010%20promises%20to%20be%20an%20interesting%20year%20for%20Android.%20Starting%20off%20on%20the%20right%20foot%20I%27d%20like%20to%20share%20some%20key%20dates%20and%20projects%20of%20general%20interest%20with%20everyone.%0D%0AIf%20there%20are%20any%20other%20events%20on%20the%20horizon%20we%27d%20love%20to%20know%20about%20them%20so%20please%20get%20in%20touch%20and%20share." title="Digg"><img src="http://novoda.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fnovoda.com%2F2010%2F01%2F20%2Fkey-dates-and-projects-beginning-2010%2F&amp;title=Key%20Dates%20and%20projects%20beginning%202010&amp;notes=2010%20promises%20to%20be%20an%20interesting%20year%20for%20Android.%20Starting%20off%20on%20the%20right%20foot%20I%27d%20like%20to%20share%20some%20key%20dates%20and%20projects%20of%20general%20interest%20with%20everyone.%0D%0AIf%20there%20are%20any%20other%20events%20on%20the%20horizon%20we%27d%20love%20to%20know%20about%20them%20so%20please%20get%20in%20touch%20and%20share." title="del.icio.us"><img src="http://novoda.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fnovoda.com%2F2010%2F01%2F20%2Fkey-dates-and-projects-beginning-2010%2F&amp;title=Key%20Dates%20and%20projects%20beginning%202010" title="Reddit"><img src="http://novoda.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Key%20Dates%20and%20projects%20beginning%202010%20-%20http%3A%2F%2Fnovoda.com%2F2010%2F01%2F20%2Fkey-dates-and-projects-beginning-2010%2F" title="Twitter"><img src="http://novoda.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fnovoda.com%2F2010%2F01%2F20%2Fkey-dates-and-projects-beginning-2010%2F&amp;title=Key%20Dates%20and%20projects%20beginning%202010&amp;annotation=2010%20promises%20to%20be%20an%20interesting%20year%20for%20Android.%20Starting%20off%20on%20the%20right%20foot%20I%27d%20like%20to%20share%20some%20key%20dates%20and%20projects%20of%20general%20interest%20with%20everyone.%0D%0AIf%20there%20are%20any%20other%20events%20on%20the%20horizon%20we%27d%20love%20to%20know%20about%20them%20so%20please%20get%20in%20touch%20and%20share." title="Google Bookmarks"><img src="http://novoda.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnovoda.com%2F2010%2F01%2F20%2Fkey-dates-and-projects-beginning-2010%2F&amp;t=Key%20Dates%20and%20projects%20beginning%202010" title="Facebook"><img src="http://novoda.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fnovoda.com%2F2010%2F01%2F20%2Fkey-dates-and-projects-beginning-2010%2F&amp;t=Key%20Dates%20and%20projects%20beginning%202010" title="HackerNews"><img src="http://novoda.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fnovoda.com%2F2010%2F01%2F20%2Fkey-dates-and-projects-beginning-2010%2F" title="Technorati"><img src="http://novoda.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2010%2F01%2F20%2Fkey-dates-and-projects-beginning-2010%2F&amp;partner=sociable" title="PDF"><img src="http://novoda.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://novoda.com/2010/01/20/key-dates-and-projects-beginning-2010/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Scala on Android</title>
		<link>http://novoda.com/2009/10/17/scala-on-android/</link>
		<comments>http://novoda.com/2009/10/17/scala-on-android/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 19:31:43 +0000</pubDate>
		<dc:creator>Akshay Dashrath</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Languages & syntax]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[scala]]></category>

		<guid isPermaLink="false">http://www.novoda.com/blog/?p=154</guid>
		<description><![CDATA[
The Scala Programming Language:
The Scala programming Language is an object oriented functional programming language designed to run on the JVM. It is ideal for programming on the Dalvik Platform as code written with the Scala language is more compact, readable and could possibly have performance benefits (which will be analysed at a later date) and [...]]]></description>
			<content:encoded><![CDATA[<div class="style2">
<p><strong>The Scala<span> </span>Programming Language:</strong></p>
<p>The Scala programming Language is an object oriented functional programming language designed to run on the JVM. It is ideal for programming on the Dalvik Platform as code written with the Scala language is more compact, readable and could possibly have performance benefits (which will be analysed at a later date) and it also supports Java and Android APIs.</p>
<p><span>You can easily build DSL with Scala and the trait (e.g. mixin) aspect of Scala is very attractive in order to build intricate activities which mixes different logic.</span></p>
<p><strong></strong></p>
<p><strong> </strong><strong>Requirements:</strong></div>
<ul type="disc">
<li class="style2">Eclipse IDE<span> </span>– Galileo Classic v3.6</li>
<li class="style2">Android ADT<span> </span>plugin v0.93</li>
<li class="style2">Android SDK v1.6r1</li>
<li class="style2">Scala<span> </span>eclipse plug-in latest</li>
<li class="style2">Scala-android library      latest</li>
</ul>
<div>
<p><strong><span><br />
Step 1: Setting up the environment</span></strong></p>
<p>The Scala project is rather heavy on resources therefore we would need to increase the heap size of the eclipse VM and of the dx tool which is present in the SDK.</p>
<p><strong></strong></p>
<p><strong> </strong><strong>Editing the eclipse memory size:</strong></p>
<p><span>In order to increase the maximum permissible memory of the IDE we need to edit the <em>exlipse.ini</em> file that resides in the root folder of the IDE (in my case C:/Program Files/eclipse or /opt/eclipse). Open the file with your favourite text editor and edit the files as shown in the figure below and add the following lines to the file:</span></p>
<p><code><span> 256m<br />
-vmargs<br />
-Xms256m<br />
-Xmx1024m<br />
-XX:PermSize=64m</span></code></p>
<p><code> </code></p>
<p><img src="http://docs.google.com/File?id=dc2cgzjn_175g325cwdg_b" alt="" /></p>
<p><strong></strong></p>
<p><strong> </strong></p>
<p><strong> </strong><strong></strong></p>
<p><strong> </strong><strong>Editing dx.bat/dx.sh:</strong></p>
<p><span>The file <em>dx.bat</em>/dx.sh is located in the &lt;ANDROID_HOME&gt;\platforms\android-1.6\tools. Open dx.bat/dx.sh with your favourite text editor and uncomment the javaOpts line while changing the value to 512M:</span><br />
<strong><span><img src="http://docs.google.com/File?id=dc2cgzjn_176cjr7rbg7_b" alt="" /></span></strong></p>
<p><strong> </strong><strong>Step 2: Install Scala</strong></p>
<p>I installed both the stand alone Scala installer as well as the Eclipse IDE plugin, which I recommend to get the system working stable.</p>
<p><strong></strong></p>
<p><strong> </strong><strong>The Scala Installer:</strong></p>
<p><span>On writing this post the latest version of Scala available for download was the 2.7.6 version, which can be downloaded from: <a href="http://www.scala-lang.org/downloads/distrib/files/scala-2.7.6.final-installer.jar">http://www.scala-lang.org/downloads/distrib/files/scala-2.7.6.final-installer.jar</a> . The installation procedure is quite trivial and further information can be found on the Scala website. The installer consists of a sequence of simple steps which on completion result in the installation of Scala on your system.</span></p>
<p><strong></strong></p>
<p><strong> </strong><strong>Eclipse Plugin:</strong></p>
<p><span>In order to install the eclipse plugin we have to goto the <em>Help-&gt;Install New Software-&gt;Add</em> and then enter the following:</span></p>
<p><span>Name: Scala<br />
Location: http://www.scala-lang.org/scala-eclipse-plugin</span></p>
<p><span>You should then see <em>&#8220;Scala Eclipse Plugin&#8221;</em> offered for installation. Click on the <em>&#8220;Install&#8221;</em> button and follow the instructions from there.</span></p>
<p><strong></strong></p>
<p><strong>Step 3: Download scala-android.jar</strong></p>
<p><strong> </strong></p>
<p><span>Open a new shell prompt window in administrator mode. Navigage to the &lt;SCALA_HOME&gt;/bin directory defined in the previous Scala installation step. Then enter the following commands</span></p>
<p><span>sbaz install scala-android</span></p>
<p><span>The scala-android library will be installed in &lt;SCALA_HOME&gt;/lib directory.</span></p>
<p><strong></strong></p>
<p><strong> </strong><strong>Step 4: Creating a Scala Project</strong></div>
<p class="style2"><span>In order to create our first Scala project we go about creating first an Android Project in the Eclipse IDE (<em>File-&gt;New-&gt;Android Project</em>).</span></p>
<p class="style2"><span><img class="aligncenter" src="http://docs.google.com/File?id=dc2cgzjn_177d9d5msgd_b" alt="" /></span></p>
<div class="style2">
<p><span>Then right mouse click on the project in the package workspace and navigate down to the <em>Scala</em> menu, then click on <em>Add Scala Nature, </em>once this is completed the project would look like:</span></div>
<p class="style2"><span><!--[if gte vml 1]&gt;--><br />
<img class="aligncenter" src="http://docs.google.com/File?id=dc2cgzjn_178f8n8fsc8_b" alt="" /></span></p>
<p align="center">
<div class="style2">
<p><span>Once this is complete, right mouse click on the project again and click on the <em>Properties-&gt;Builders</em> tab, and make sure the Scala Builder is in the position as shown in the figure (you will have to move it down two places)</span></div>
<p class="style2"><span><img class="aligncenter" src="http://docs.google.com/File?id=dc2cgzjn_179dnmn3hcc_b" alt="" /></span></p>
<div class="style2">
<p><span>Then open the <em>Java Build Path-&gt;Libraries</em> tab and remove the <em>Scala Library Version 2.6 final</em> , then add the scala-android.jar file by click on <em>Add External Jar. </em>You will then have the menu resembling:</span></div>
<p class="style2"><span><img class="aligncenter" src="http://docs.google.com/File?id=dc2cgzjn_1806f42mrcz_b" alt="" /></span></p>
<div class="style2">
<p><span>Note: The build process needs to compile the scala files into classes which then compiles them into dex files. If you receive errors upon compilation or classpath, try to clean and rebuild the project.</span></p>
<p><strong></strong></p>
<p><strong> </strong><strong>Step 5: Creating ScalaTest.scala</strong></p>
<p>Now goto the <em>ScalaTest-&gt;src-&gt;com.scala</em> package and delete the the file ScalaTest.java. Right mouse click on the package and then click on <em>New-&gt;Other-Scala</em> <em><span>Class</span></em><span> , call this class ScalaTest.</span></p>
<div class="style2"><span></p>
<p>Open the file <em>ScalaTest.scala</em> and enter the following code and save it:</p>
<p><code><span>package test.scala<br />
import android.app.Activity<br />
import android.os.Bundle<br />
import android.widget.TextView<br />
class ScalaTest extends Activity {<br />
override def onCreate(savedInstanceState: Bundle) {<br />
super.onCreate(savedInstanceState)<br />
val tv = new TextView(this)<br />
tv.setText("Hello Android, it's me, Scala!")<br />
setContentView(tv)<br />
}}</span></code></p>
<p><strong></strong></p>
<p><strong></strong></p>
<p><strong> </strong><strong>Step 6: Running the application</strong></p>
<p>In order to run the application goto <em><span>Run-&gt;Run Configuration-&gt;Android Application </span></em><span>and run set it up as shown in the figure below, and then click on Run.</span></p>
<p><span><!--[if gte vml 1]&gt;--></span></p>
<p><img src="http://docs.google.com/File?id=dc2cgzjn_182d26wm9c4_b" alt="" /></p>
<p><span>If everything was set up right you’d then see the emulator load up and run your application</span></p>
<p>:</p>
<p><span><img src="http://docs.google.com/File?id=dc2cgzjn_183dqtpg6ft_b" alt="" /></span></p>
<p><em>References:</em></p>
<p></span></div>
<ul type="disc">
<li class="style2">http://www.scala-lang.org/node/160</li>
<li class="style2">http://www.ibm.com/developerworks/opensource/library/os-eclipse-scala/index.html?ca=dgr-jw64Android-Scaladth-o&amp;S_TACT=105AGY46&amp;S_CMP=grjw64#</li>
<li class="style2"><span>http://www.scala-lang.org/node/1403</span></li>
</ul>
</div>



Share this post:


	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2009%2F10%2F17%2Fscala-on-android%2F&amp;partner=sociable" title="Print"><img src="http://novoda.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Scala%20on%20Android&amp;body=http%3A%2F%2Fnovoda.com%2F2009%2F10%2F17%2Fscala-on-android%2F" title="email"><img src="http://novoda.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnovoda.com%2F2009%2F10%2F17%2Fscala-on-android%2F&amp;title=Scala%20on%20Android&amp;bodytext=%0D%0A%0D%0AThe%20Scala%20Programming%20Language%3A%0D%0A%0D%0AThe%20Scala%20programming%20Language%20is%20an%20object%20oriented%20functional%20programming%20language%20designed%20to%20run%20on%20the%20JVM.%20It%20is%20ideal%20for%20programming%20on%20the%20Dalvik%20Platform%20as%20code%20written%20with%20the%20Scala%20language%20is%20more" title="Digg"><img src="http://novoda.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fnovoda.com%2F2009%2F10%2F17%2Fscala-on-android%2F&amp;title=Scala%20on%20Android&amp;notes=%0D%0A%0D%0AThe%20Scala%20Programming%20Language%3A%0D%0A%0D%0AThe%20Scala%20programming%20Language%20is%20an%20object%20oriented%20functional%20programming%20language%20designed%20to%20run%20on%20the%20JVM.%20It%20is%20ideal%20for%20programming%20on%20the%20Dalvik%20Platform%20as%20code%20written%20with%20the%20Scala%20language%20is%20more" title="del.icio.us"><img src="http://novoda.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fnovoda.com%2F2009%2F10%2F17%2Fscala-on-android%2F&amp;title=Scala%20on%20Android" title="Reddit"><img src="http://novoda.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Scala%20on%20Android%20-%20http%3A%2F%2Fnovoda.com%2F2009%2F10%2F17%2Fscala-on-android%2F" title="Twitter"><img src="http://novoda.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fnovoda.com%2F2009%2F10%2F17%2Fscala-on-android%2F&amp;title=Scala%20on%20Android&amp;annotation=%0D%0A%0D%0AThe%20Scala%20Programming%20Language%3A%0D%0A%0D%0AThe%20Scala%20programming%20Language%20is%20an%20object%20oriented%20functional%20programming%20language%20designed%20to%20run%20on%20the%20JVM.%20It%20is%20ideal%20for%20programming%20on%20the%20Dalvik%20Platform%20as%20code%20written%20with%20the%20Scala%20language%20is%20more" title="Google Bookmarks"><img src="http://novoda.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnovoda.com%2F2009%2F10%2F17%2Fscala-on-android%2F&amp;t=Scala%20on%20Android" title="Facebook"><img src="http://novoda.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fnovoda.com%2F2009%2F10%2F17%2Fscala-on-android%2F&amp;t=Scala%20on%20Android" title="HackerNews"><img src="http://novoda.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fnovoda.com%2F2009%2F10%2F17%2Fscala-on-android%2F" title="Technorati"><img src="http://novoda.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2009%2F10%2F17%2Fscala-on-android%2F&amp;partner=sociable" title="PDF"><img src="http://novoda.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://novoda.com/2009/10/17/scala-on-android/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Observations from Google IO 2009</title>
		<link>http://novoda.com/2009/06/09/observations-from-google-io-2009/</link>
		<comments>http://novoda.com/2009/06/09/observations-from-google-io-2009/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 10:05:21 +0000</pubDate>
		<dc:creator>Kevin McDonagh</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Conference & Events]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[JISC]]></category>

		<guid isPermaLink="false">http://www.novoda.com/blog/?p=115</guid>
		<description><![CDATA[Google IO 2009 was held in sunny San Francisco and Novoda&#8217;s presence acted as a technical bridge for the Royal Veterinary College, London Knowledge Lab and the wider Bloomsbury Colleges as they further explored Google&#8217;s Android platform as a potential tool for the collection of medical &#38; veterinary data. As I was acting on behalf [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_122" class="wp-caption aligncenter" style="width: 460px"><img class="size-full wp-image-122" title="googleio" src="http://novoda.co.uk/wp-content/uploads/2009/06/googleio.jpg" alt="" width="450" height="359" /><p class="wp-caption-text"> </p></div>
<p style="margin-top: 15px;">Google IO 2009 was held in sunny San Francisco and Novoda&#8217;s presence acted as a technical bridge for the <a title="Royal vetinary college" href="http://www.rvc.ac.uk/" target="_blank">Royal Veterinary College</a>, <a title="London Knowledge Lab" href="http://www.lkl.ac.uk/cms/" target="_blank">London Knowledge Lab</a> and the wider <a title="Bloomsbury Colleges" href="http://www.bloomsbury.ac.uk/" target="_blank">Bloomsbury Colleges</a> as they further explored Google&#8217;s Android platform as a potential tool for the collection of medical &amp; veterinary data. As I was acting on behalf of Academia the trip was very kindly funded by <a title="JISC" href="http://www.jisc.ac.uk/">JISC</a>, so a big thank you to them.</p>
<p>Google event&#8217;s are renowned for merging developers&#8217; unique personalities with the approachable yet cutting edge image of Google technology. There were <a title="Bean bags" href="http://www.flickr.com/photos/stephaniefalla/3573899725/">brightly coloured bean bags</a>, <a title="QRcode scavenger hunt" href="http://www.flickr.com/photos/phpprincess/3574868263/">qr-code scavenger hunts</a>, make shift Google street view <a title="Holodeck" href="http://www.flickr.com/photos/niallkennedy/3571464961/" target="_blank">holo-chambers</a>, <a title="arcade cabinets" href="http://www.flickr.com/photos/16447282@N00/3572456520/" target="_blank">arcade cabinets</a> and <a title="robot wars" href="http://www.flickr.com/photos/mtantow/3574415005/">robot wars</a> but they were all in aid of furthering the interaction of developers and getting them conversing on areas of tech. As if the fact that all the attendees received free <a href="http://shop.vodafone.co.uk/shop/mobile-phone/htc-magic?WT.srch=1">G2 HTC magic phones</a> was not reason enough for conversation.</p>
<h2 style="margin: 0 0 20px 0;">Talks</h2>
<div id="attachment_135" class="wp-caption aligncenter" style="width: 460px"><img class="size-full wp-image-135" title="chris" src="http://novoda.co.uk/wp-content/uploads/2009/06/chris.jpg" alt="" width="450" height="337" /><p class="wp-caption-text"> </p></div>
<p style="margin-top: 15px;">The talks were generally of a very high standard with a whole section dedicated to each Google interest  including mobile (Android). Outside of each speaking area was an alcove where Google advocates were freely available for questioning on the intricacies of each specific technology. Each recorded session lasts about an hour so specifically, I recommend watching the following:</p>
<p><a title="Writing Real-Time Games for Android" href="http://code.google.com/events/io/sessions/WritingRealTimeGamesAndroid.html" target="_self">Writing Real-Time Games for Android w/ Chris Pruett</a> is well delivered with captivating game development content. Chris considers the resource usage on Android from the perspective of a developer used to a similarly constrained C++ mobile environment.</p>
<p><a title="Android Media Framework" href="http://code.google.com/events/io/sessions/MasteringAndroidMediaFramework.html">Android media framework w/ David Sparks</a> contains good graphical representations of media call life cycles from the native system upwards and addresses the techniques while dealing with all forms of media.</p>
<p><a title="Coding for Life -- Battery Life, That Is" href="http://code.google.com/events/io/sessions/CodingLifeBatteryLife.html">Coding for Life &#8212; battery life, that is w/ Jeffrey Sharkey </a> offers a primer on how to be mindful of your applications specific actions how they are affecting a device&#8217;s power consumption.</p>
<p><a title="Supporting Multiple=" href="http://code.google.com/events/io/sessions/SupportingMultipleDevicesBinary.html">Supporting Multiple Devices with One Binary w/ Joe Onorato &amp; Romain guy</a> addresses the problem of standarising the presentation of a UI of multiple &#8216;densities&#8217; on different devices.</p>
<p>Although not based on Android, another talk which is well worth mentioning was the second day&#8217;s big topic of conversation <a title="Google Wave" href="http://www.youtube.com/watch?v=v_UyVmITiYQ">&#8216;Google wave&#8217;</a> which it has to be said is an exciting convergence in persisted communications.</p>
<h2>Attendees &amp; Exhibitors</h2>
<p>It was difficult choosing to not attend talks and venturing away from the Android alcove but there were some worthwhile exhibitors.</p>
<ul class="wp-caption alignleft" style="list-style-type: none; list-style-image: none; list-style-position: outside; width: 125px;">
<li><img class="size-full wp-image-123" title="spotify_logo" src="http://novoda.co.uk/wp-content/uploads/2009/06/spotify_logo.png" alt=" " width="115" height="115" /></li>
<li><img class="alignnone size-full wp-image-124" title="ea" src="http://novoda.co.uk/wp-content/uploads/2009/06/ea.png" alt="" width="115" height="115" /></li>
<li><img class="alignnone size-medium wp-image-125" title="catalista" src="http://novoda.co.uk/wp-content/uploads/2009/06/catalista.png" alt="" width="115" height="58" /></li>
<li><img class="alignnone size-medium wp-image-126" title="illusion" src="http://novoda.co.uk/wp-content/uploads/2009/06/illusion.png" alt="" width="115" height="37" /></li>
<li><a href="http://www.tubaloo.com"><img class="alignnone size-medium wp-image-128" title="tubaloo" src="http://novoda.co.uk/wp-content/uploads/2009/06/tubaloo.png" alt="" width="115" height="66" /></a></li>
</ul>
<p>EA consistently sets a high technical standard on all platforms and the same can be said about their android offerings, <em>Sim city, The Sims, Tetris</em> and <em>Monopoly</em>. Close by them was the extremely nice <a title="Spotiy android application" href="http://www.youtube.com/watch?v=7ALGPknOsiU" target="_blank">Spotify (premium content) app</a> which sports intuitive &amp; innovative UI design. Each of the bottom tabs can be slid upwards to reveal a more detailed selection of options within that tab&#8217;s context which is a nice touch on an already very usable app.</p>
<p>Mobile media company <span style="background-color: #ffffff;"><a title="1Cast" href="http://www.1cast.com/" target="_blank">1Cast</a> were showing off thier app&#8217;s streaming capabilities </span>and the fact that it can search through a huge catalogue of their partners premium content. The very snappy responsiveness signals a mobile media viewing experience which is slowly entering the big leagues.</p>
<p>Swedish Game development company <span style="background-color: #ffffff;"><a title="Illusion labs" href="http://www.illusionlabs.com/" target="_blank">Illusion Labs</a> </span><span style="background-color: #ffffff;">had their games on show including my personal fave &#8216;</span>Labyrinth&#8217;<span style="background-color: #ffffff;">. Labyrinth works the same as the traditional wooden games but the real charm of this particular port is that it provides such pleasant tactile feedback whenever your metal ball hits against the sides of the wooden box. The subtle feedback makes this an exemplar experience for tactile interaction within mobile games.</span></p>
<p><a title="Catalista" href="http://www.mommiworks.com/main.html" target="_blank">Catalista</a> also had a very nice location aware application which allows user to find nearby volunteering opportunities.</p>
<p>Some guys from <a title="Tubaloo" href="www.tubaloo.com" target="_blank">Tubaloo</a> demonstrated a personalised VoIP build of android which they are planning to soon offer the Latin American market. The threat of VoIP to traditional phone services has been looming on the horizon and we&#8217;ve recently seen some movement from Skype onto cellphones but could this signal the start of competition in this market?</p>
<p>Also worth a notable mention even though they weren&#8217;t technically exhibiting was the Czech Republic based company <a title="Inmite" href="http://www.inmite.eu/web/en/projects" target="_blank">Inmite</a> who impressed me with both their development knowledge and their popular <a title="Lokola" href="http://www.lokola.cz/" target="_blank">&#8216;Lokola&#8217;</a> application which finds searches through the online portal&#8217;s directory of resources relative to the device&#8217;s global positioning.</p>
<h2 style="margin: 0 0 20px 0;">Post Google IO</h2>
<div id="attachment_127" class="wp-caption aligncenter" style="width: 460px"><img class="size-full wp-image-127" title="lounge" src="http://novoda.co.uk/wp-content/uploads/2009/06/lounge.jpg" alt="" width="450" height="268" /><p class="wp-caption-text"> </p></div>
<p style="margin-top: 15px;">Eager to network with universities, I was surprised to speak with very few groups doing exploratory research on Google Android especially since I encountered such wide acknowledgment of it&#8217;s potential in this area. There were the notable exception of <a href="http://www.sfsu.edu/">San Francisco State University</a> who are just beginning to look into the possibilities of mobile applications within their current work in blood &amp; disease analysis. Hopefully we can soon establish some talks between them and RVC to exchange experiences. If you yourself know of universities working on with the Android platform then <a title="Contact us" href="http://www.novoda.com/blog/?page_id=20" target="_self">please do contact us</a>!</p>
<p>I was lucky enough to spend some time with the developers from the well intentioned <a title="ODK project" href="http://code.google.com/p/open-data-kit/" target="_blank">ODK project</a> who are developing free tools to aid the collection of standard data by providing an easy click through forms interface. They wished to emphasize their eagerness to receive participation and feedback which I hopefully helped them with by suggesting some commercial and academic use cases.</p>
<p>Some of  the world&#8217;s largest media networks for games, music and television were at Google IO to show off their polished offerings to a standard which has until recently has been reserved for the IPhone. This is encouraging because as industry draws attention to the platform, media companies will invest in the relevant training and as a by product we should hopefully see an explosion of free and organisational offerings. <a title="ADC2" href="http://code.google.com/android/adc/">ADC2</a> itself would usually have had entrepreneurial developers inquiring into Google&#8217;s offered cash prize but team this with the fact they have given free devices to their most loyal developer audience ensures that there will soon be fresh activity hitting the Android market.</p>
<blockquote><p>Android SDK at time of writing was: <strong>1.5_r2</strong></p></blockquote>
<h3>Citations &amp; Research</h3>
<ul>
<li><cite><a href="http://www.flickr.com/photos/cvander/3572630723/">Google IO logo sourced from cvander&#8217;s Flickr account</a></cite></li>
</ul>



Share this post:


	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2009%2F06%2F09%2Fobservations-from-google-io-2009%2F&amp;partner=sociable" title="Print"><img src="http://novoda.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Observations%20from%20Google%20IO%202009&amp;body=http%3A%2F%2Fnovoda.com%2F2009%2F06%2F09%2Fobservations-from-google-io-2009%2F" title="email"><img src="http://novoda.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnovoda.com%2F2009%2F06%2F09%2Fobservations-from-google-io-2009%2F&amp;title=Observations%20from%20Google%20IO%202009&amp;bodytext=%0D%0AGoogle%20IO%202009%20was%20held%20in%20sunny%20San%20Francisco%20and%20Novoda%27s%20presence%20acted%20as%20a%20technical%20bridge%20for%20the%20Royal%20Veterinary%20College%2C%20London%20Knowledge%20Lab%20and%20the%20wider%20Bloomsbury%20Colleges%20as%20they%20further%20explored%20Google%27s%20Android%20platform%20as%20a%20potent" title="Digg"><img src="http://novoda.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fnovoda.com%2F2009%2F06%2F09%2Fobservations-from-google-io-2009%2F&amp;title=Observations%20from%20Google%20IO%202009&amp;notes=%0D%0AGoogle%20IO%202009%20was%20held%20in%20sunny%20San%20Francisco%20and%20Novoda%27s%20presence%20acted%20as%20a%20technical%20bridge%20for%20the%20Royal%20Veterinary%20College%2C%20London%20Knowledge%20Lab%20and%20the%20wider%20Bloomsbury%20Colleges%20as%20they%20further%20explored%20Google%27s%20Android%20platform%20as%20a%20potent" title="del.icio.us"><img src="http://novoda.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fnovoda.com%2F2009%2F06%2F09%2Fobservations-from-google-io-2009%2F&amp;title=Observations%20from%20Google%20IO%202009" title="Reddit"><img src="http://novoda.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Observations%20from%20Google%20IO%202009%20-%20http%3A%2F%2Fnovoda.com%2F2009%2F06%2F09%2Fobservations-from-google-io-2009%2F" title="Twitter"><img src="http://novoda.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fnovoda.com%2F2009%2F06%2F09%2Fobservations-from-google-io-2009%2F&amp;title=Observations%20from%20Google%20IO%202009&amp;annotation=%0D%0AGoogle%20IO%202009%20was%20held%20in%20sunny%20San%20Francisco%20and%20Novoda%27s%20presence%20acted%20as%20a%20technical%20bridge%20for%20the%20Royal%20Veterinary%20College%2C%20London%20Knowledge%20Lab%20and%20the%20wider%20Bloomsbury%20Colleges%20as%20they%20further%20explored%20Google%27s%20Android%20platform%20as%20a%20potent" title="Google Bookmarks"><img src="http://novoda.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnovoda.com%2F2009%2F06%2F09%2Fobservations-from-google-io-2009%2F&amp;t=Observations%20from%20Google%20IO%202009" title="Facebook"><img src="http://novoda.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fnovoda.com%2F2009%2F06%2F09%2Fobservations-from-google-io-2009%2F&amp;t=Observations%20from%20Google%20IO%202009" title="HackerNews"><img src="http://novoda.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fnovoda.com%2F2009%2F06%2F09%2Fobservations-from-google-io-2009%2F" title="Technorati"><img src="http://novoda.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2009%2F06%2F09%2Fobservations-from-google-io-2009%2F&amp;partner=sociable" title="PDF"><img src="http://novoda.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://novoda.com/2009/06/09/observations-from-google-io-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Motion Sensors and Orientation in Android</title>
		<link>http://novoda.com/2009/05/02/motion-sensors-and-orientation-in-android/</link>
		<comments>http://novoda.com/2009/05/02/motion-sensors-and-orientation-in-android/#comments</comments>
		<pubDate>Sat, 02 May 2009 01:15:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Sensors]]></category>
		<category><![CDATA[azimuth]]></category>
		<category><![CDATA[motion]]></category>
		<category><![CDATA[OrientationEventListener]]></category>
		<category><![CDATA[pitch]]></category>
		<category><![CDATA[roll]]></category>
		<category><![CDATA[SensorEventListener]]></category>

		<guid isPermaLink="false">http://www.novoda.com/blog/?p=77</guid>
		<description><![CDATA[How to Interpret the values returned from OrientationEventListener and SensorEventListener in relation to orientation.]]></description>
			<content:encoded><![CDATA[<p>An Activity can listen for changes in a device&#8217;s motion sensors by implementing the OrientationEventListener or SensorEventListener. The Listener&#8217;s onSensorChanged function will return units of measure differently depending on the axis of rotation. Each of the axes returned from the SensorEventListener are best interpretted by considering their roots in flight dynamics and how they would relate to a plane&#8217;s joystick in flight, where the android device would be the joystick.<br />
<a title="Sensor Event Listener Cheat Sheet" href="http://novoda.co.uk/wp-content/uploads/2009/05/sensoreventcheatsheet_v1.pdf">Download the SensorEventListener Cheatsheet &gt;&gt;</a></p>
<p><a href="http://novoda.co.uk/wp-content/uploads/2009/05/x_azimuth1.png"><img class="alignnone size-full wp-image-105" title="x_azimuth1" src="http://novoda.co.uk/wp-content/uploads/2009/05/x_azimuth1.png" alt="" width="500" height="321" /></a></p>
<p>X represents the &#8216;Azimuth&#8217; which is the angle in current reference to Magnetic North. The units of  measure are within 0-360 degrees imagining a complete rotation divided by 360 equal divisions. This is easiest interpretted by considering the device from a birds eye view and considering that this is the same response as you would expect from a compass.</p>
<p><a href="http://novoda.co.uk/wp-content/uploads/2009/05/y_pitch.png"><img class="alignnone size-full wp-image-106" title="y_pitch" src="http://novoda.co.uk/wp-content/uploads/2009/05/y_pitch.png" alt="" width="500" height="321" /></a></p>
<p>Y or &#8216;Pitch&#8217; is the degree to which the device is tilted forwards or backwards. The measure of pitch is zero when the device is lying flat, -90 when standing upright and 180 when lying flat on the device face. Realising that -90 is the value of the device upstanding and 90 being the value when it is upside down is initially confusing until you think about the aviation analogy. If a plane&#8217;s nose is dipping and the plane is losing height a pilot would pull upwards. The upwards values represent the increase in height as the pilot pulled back on the joystick. Using this analogy, holding the device and pulling backwards would increase the height and pushing forwards would decrease the height.</p>
<p><a href="http://novoda.co.uk/wp-content/uploads/2009/05/z_roll.png"><img class="alignnone size-full wp-image-107" title="z_roll" src="http://novoda.co.uk/wp-content/uploads/2009/05/z_roll.png" alt="" width="500" height="321" /></a></p>
<p>Z or &#8216;Roll&#8217; is the rotation of the device in relation to the bottom left hand corner of the screen. The units returned represent the degree of change in degrees from 0 &#8211; +/-90. Zero is when the device is upright standing and forward facing. Any movement left or right will then increase or decrease to 90 or -90 and on to 0 when going past these values. Each quadrant within the clock face of rotation will progress 0 &#8211; 90. During flight a plane&#8217;s wings would ideally be aligned with the horizon and the cockpit would be upright at 90 degrees.</p>
<p>Initially dealing with data in this format can be a bit dis-orientating so if you only want to get the angle of the phone moving from an initial upright standing position use the OrientationEventListener. Otherwise the values returned form the SensorEventListener are the Y &amp; Z representing the 0 &#8211; 90 degrees of rotation while the angle is passing through a certain quadrant within a full clock face of rotation while X units are returned in relation to Magnetic North.</p>
<h2>The OrientationEventListener</h2>
<p>The OrientationEventListener provides a much easier solution to detecting the phone&#8217;s current angle when you only need the angle of change from upright standing to left/right and around a clock face of rotation. Implementing this interface will enable you to access orientation as a simple int representing the rotation in degrees.</p>
<p>Rather than have you feel the pain of trying to make sense of Android Sensor data from scratch we&#8217;ve made a quick printable cheat sheet, so puzzle no more!</p>
<p><a style="font-size:2em" title="Sensor Event Listener Cheat Sheet" href="http://novoda.co.uk/wp-content/uploads/2009/05/sensoreventcheatsheet_v1.pdf">SensorEventListener cheatsheet</a></p>
<blockquote><p>Android SDK at time of writing was: <strong>android-sdk-mac_x86-1.5</strong></p></blockquote>
<h3>Citations &amp; Research</h3>
<ul>
<li><cite><a href="http://en.wikipedia.org/wiki/Flight_dynamics">Flight Dynamics on Wikipedia</a></cite></li>
<li><cite><a href="http://www.amazon.co.uk/Trigonometry-Teach-Yourself-P-Abbott/dp/0340549130/ref=sr_11_1?ie=UTF8&amp;qid=1241226183&amp;sr=11-1">Teach yourself Trigonometry</a><cite></cite></cite></li>
<li><cite><a href="http://developer.android.com/reference/android/hardware/SensorEventListener.html">Android API: Sensor Event Listener</a><cite></cite></cite></li>
</ul>



Share this post:


	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2009%2F05%2F02%2Fmotion-sensors-and-orientation-in-android%2F&amp;partner=sociable" title="Print"><img src="http://novoda.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Motion%20Sensors%20and%20Orientation%20in%20Android&amp;body=http%3A%2F%2Fnovoda.com%2F2009%2F05%2F02%2Fmotion-sensors-and-orientation-in-android%2F" title="email"><img src="http://novoda.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnovoda.com%2F2009%2F05%2F02%2Fmotion-sensors-and-orientation-in-android%2F&amp;title=Motion%20Sensors%20and%20Orientation%20in%20Android&amp;bodytext=How%20to%20Interpret%20the%20values%20returned%20from%20OrientationEventListener%20and%20SensorEventListener%20in%20relation%20to%20orientation." title="Digg"><img src="http://novoda.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fnovoda.com%2F2009%2F05%2F02%2Fmotion-sensors-and-orientation-in-android%2F&amp;title=Motion%20Sensors%20and%20Orientation%20in%20Android&amp;notes=How%20to%20Interpret%20the%20values%20returned%20from%20OrientationEventListener%20and%20SensorEventListener%20in%20relation%20to%20orientation." title="del.icio.us"><img src="http://novoda.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fnovoda.com%2F2009%2F05%2F02%2Fmotion-sensors-and-orientation-in-android%2F&amp;title=Motion%20Sensors%20and%20Orientation%20in%20Android" title="Reddit"><img src="http://novoda.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Motion%20Sensors%20and%20Orientation%20in%20Android%20-%20http%3A%2F%2Fnovoda.com%2F2009%2F05%2F02%2Fmotion-sensors-and-orientation-in-android%2F" title="Twitter"><img src="http://novoda.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fnovoda.com%2F2009%2F05%2F02%2Fmotion-sensors-and-orientation-in-android%2F&amp;title=Motion%20Sensors%20and%20Orientation%20in%20Android&amp;annotation=How%20to%20Interpret%20the%20values%20returned%20from%20OrientationEventListener%20and%20SensorEventListener%20in%20relation%20to%20orientation." title="Google Bookmarks"><img src="http://novoda.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnovoda.com%2F2009%2F05%2F02%2Fmotion-sensors-and-orientation-in-android%2F&amp;t=Motion%20Sensors%20and%20Orientation%20in%20Android" title="Facebook"><img src="http://novoda.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fnovoda.com%2F2009%2F05%2F02%2Fmotion-sensors-and-orientation-in-android%2F&amp;t=Motion%20Sensors%20and%20Orientation%20in%20Android" title="HackerNews"><img src="http://novoda.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fnovoda.com%2F2009%2F05%2F02%2Fmotion-sensors-and-orientation-in-android%2F" title="Technorati"><img src="http://novoda.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2009%2F05%2F02%2Fmotion-sensors-and-orientation-in-android%2F&amp;partner=sociable" title="PDF"><img src="http://novoda.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://novoda.com/2009/05/02/motion-sensors-and-orientation-in-android/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Building Android: CupCake</title>
		<link>http://novoda.com/2009/01/17/building-android-cupcake/</link>
		<comments>http://novoda.com/2009/01/17/building-android-cupcake/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 11:19:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[cupcake]]></category>
		<category><![CDATA[htc]]></category>
		<category><![CDATA[installation]]></category>

		<guid isPermaLink="false">http://www.novoda.com/blog/?p=56</guid>
		<description><![CDATA[&#8216;Cupcake&#8217; is the name of the new Android OS which will shortly hit the consumer market.  Future Android based phones &#8211; such as Lenovo or Kogan agora &#8211; will by default probably have the CupCake milestone of the OS installed. This new version carries with it, bug fixes and a couple of enhancements such as [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_60" class="wp-caption alignleft" style="width: 210px"><a href="http://novoda.co.uk/wp-content/uploads/2009/01/screenshot-android-emulator-5554.png"><img class="size-medium wp-image-60" title="screenshot-android-emulator-5554" src="http://www.novoda.com/blog/wp-content/uploads/2009/01/screenshot-android-emulator-5554-200x300.png" alt="" width="200" height="300" /></a><p class="wp-caption-text">Latest emulator with on-screen keyboard</p></div>
<p><em>&#8216;Cupcake&#8217;</em> is the name of the new Android OS which will shortly hit the consumer market.  Future Android based phones &#8211; such as Lenovo or Kogan agora &#8211; will by default probably have the CupCake milestone of the OS installed. This new version carries with it, bug fixes and a couple of enhancements such as video recorder and on-screen keyboard.</p>
<p>There are times when your application&#8217;s future compatibility testing cannot wait for an official milestone release and you require the very latest  development image of the Android OS to run under the latest Android emulator. There are of course other Android enthusiasts like myself who will find it very exciting to download and play with the source and I&#8217;d recommend it, as it is not difficult.  In this article I will detail my experience of following the official android documentation to obtain the latest source from the main Android development branch, in this case the contents of CupCake; compiling it and then finally running the images under the latest emulator.<br />
Development Environment</p>
<p>Manually building the source code is system intensive so you should have a good machine in order to compile the project, enough disk space (around 6GB) and a good connection as you will download around 2GB. Currently, I am running Ubuntu intrepid 8.10 with kernel 2.6.27-11-generic and Sun&#8217;s jvm 1.6 on a quad core with 4GB of RAM.<br />
Thus the below assumes you are running similar setup. The official Android installation page lists the procedure for Max OS and Windows.</p>
<h3>1. Obtaining the code</h3>
<p>I followed the Google documentation wiki page without any problems. I had a previous version of the source code checked out on to my machine which I had to update, thus I had to remove the recovery directory as discussed <a href="http://groups.google.com/group/android-platform/browse_thread/thread/3774d038e5382764/8bb8349e951ec9b6?lnk=gst&amp;q=rm#8bb8349e951ec9b6" target="_blank">here</a> and <a href="http://source.android.com/known-issues" target="_blank">here</a> with the following command: <code>rm -rf recovery bootloader</code></p>
<p>If you do a fresh init you will not need to remove the 2 directories. As I am on amd64, I also had to install the X11 dev packages and followed the workaround suggested for X11.</p>
<p>Note that I did not need to update the java alternative to ia32-sun-java6-bin and used the sun-java6-jdk instead. Furthermore, I did not need to point ANDROID_JAVA_HOME to my JAVA_HOME variable.</p>
<h3>2. Compilation</h3>
<p>WIth the source code checked out I now made a compilation with &#8216;make&#8217;. The compilation took some time &#8211; around an hour on my quad core &#8211; enough time to drink a couple of espressos and poke around the source structure. A successful compilation produced a new directory at the root of the source called &#8216;out&#8217;. This directory contained the newly created build which can then be used to start the emulator.</p>
<h3>3. Layering on proprietary libs from the G1 &#8211; optional</h3>
<p>Specific phone manufacturers commonly bundle their own libraries for specific phones. Usually those libraries are proprietary thus need to be downloaded from the phone itself. For now, this is possible only for the G1  as <a href="http://source.android.com/documentation/building-for-dream" target="_blank">this wiki page</a> indicates. Note that I used my T-mobile phone, not the dev one.</p>
<p>Running &#8216;make&#8217; will create a specific build for the phone located under &#8216;&lt;android_source&gt;/out/target/product/dream&#8217;. You can run that build within the emulator which would be specific to the HTC dream. I would not anticipate much difference except that you would not have access to specific proprietary hardware powered devices such as the camera phone.</p>
<h3>4. Starting the emulator with the new build</h3>
<p>Now with a fresh build, I could start the emulator with the new images.<br />
Issued from the root of source, the following command started the emulator with the dream&#8217;s image:</p>
<pre class="sh_sh">
./out/host/linux-x86/bin/emulator
 -system out/target/product/dream
-kernel prebuilt/android-arm/kernel/kernel-qemu
-data out/target/product/dream/userdata.img
</pre>
<p>If you have followed me this far but did not compile the dream target, you can run the default images as follow:</p>
<pre class="sh_sh">
./out/host/linux-x86/bin/emulator
-system out/target/product/default
-kernel prebuilt/android-arm/kernel/kernel-qemu
-data out/target/product/default/userdata.img</pre>
<p>Voila! I had the latest emulator running! I accessed it using &#8216;adb shell&#8217; and installed my test applications using: <code>adb install &lt;app&gt;.apk</code><br />
Stumbling a little is to be expected with any new undertaking but I found the solution to the majority of your average source compilation problems can be found within the or on the <a href="http://source.android.com/download" target="_blank">well tended official source code  documention</a>. Otherwise Google Groups hosts&#8217; an active <a href="http://groups.google.com/group/android-platform/" target="_blank">android mailing list</a> who will try their best to answer questions.</p>
<p>Next I will look into setting up eclipse and maybe playing around with the code if my caffeine level stays high enough.</p>
<h3>Citations &amp; Research</h3>
<ul>
<li><cite><a href="http://source.android.com/documentation/building-for-dream">Instructions on how to build for the HTC Dream</a></cite></li>
<li><cite><a href="http://groups.google.com/group/android-platform/">Google android news group</a></cite></li>
<li><cite><a href="http://source.android.com/download">Source Docs</a></cite></li>
<li><cite><a href="http://groups.google.com/group/android-platform/browse_thread/thread/3774d038e5382764/8bb8349e951ec9b6?lnk=gst&amp;q=rm#8bb8349e951ec9b6">bootloader folder removal problems upon checkout</a></cite></li>
<li><cite><a href="http://source.android.com/known-issues">Known Google Android Issues</a></cite></li>
</ul>
<script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_sh.js"></script><script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_sh.js"></script>


Share this post:


	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2009%2F01%2F17%2Fbuilding-android-cupcake%2F&amp;partner=sociable" title="Print"><img src="http://novoda.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Building%20Android%3A%20CupCake&amp;body=http%3A%2F%2Fnovoda.com%2F2009%2F01%2F17%2Fbuilding-android-cupcake%2F" title="email"><img src="http://novoda.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnovoda.com%2F2009%2F01%2F17%2Fbuilding-android-cupcake%2F&amp;title=Building%20Android%3A%20CupCake&amp;bodytext=%0D%0A%0D%0A%27Cupcake%27%20is%20the%20name%20of%20the%20new%20Android%20OS%20which%20will%20shortly%20hit%20the%20consumer%20market.%C2%A0%20Future%20Android%20based%20phones%20-%20such%20as%20Lenovo%20or%20Kogan%20agora%20-%20will%20by%20default%20probably%20have%20the%20CupCake%20milestone%20of%20the%20OS%20installed.%20This%20new%20version%20carr" title="Digg"><img src="http://novoda.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fnovoda.com%2F2009%2F01%2F17%2Fbuilding-android-cupcake%2F&amp;title=Building%20Android%3A%20CupCake&amp;notes=%0D%0A%0D%0A%27Cupcake%27%20is%20the%20name%20of%20the%20new%20Android%20OS%20which%20will%20shortly%20hit%20the%20consumer%20market.%C2%A0%20Future%20Android%20based%20phones%20-%20such%20as%20Lenovo%20or%20Kogan%20agora%20-%20will%20by%20default%20probably%20have%20the%20CupCake%20milestone%20of%20the%20OS%20installed.%20This%20new%20version%20carr" title="del.icio.us"><img src="http://novoda.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fnovoda.com%2F2009%2F01%2F17%2Fbuilding-android-cupcake%2F&amp;title=Building%20Android%3A%20CupCake" title="Reddit"><img src="http://novoda.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Building%20Android%3A%20CupCake%20-%20http%3A%2F%2Fnovoda.com%2F2009%2F01%2F17%2Fbuilding-android-cupcake%2F" title="Twitter"><img src="http://novoda.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fnovoda.com%2F2009%2F01%2F17%2Fbuilding-android-cupcake%2F&amp;title=Building%20Android%3A%20CupCake&amp;annotation=%0D%0A%0D%0A%27Cupcake%27%20is%20the%20name%20of%20the%20new%20Android%20OS%20which%20will%20shortly%20hit%20the%20consumer%20market.%C2%A0%20Future%20Android%20based%20phones%20-%20such%20as%20Lenovo%20or%20Kogan%20agora%20-%20will%20by%20default%20probably%20have%20the%20CupCake%20milestone%20of%20the%20OS%20installed.%20This%20new%20version%20carr" title="Google Bookmarks"><img src="http://novoda.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnovoda.com%2F2009%2F01%2F17%2Fbuilding-android-cupcake%2F&amp;t=Building%20Android%3A%20CupCake" title="Facebook"><img src="http://novoda.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fnovoda.com%2F2009%2F01%2F17%2Fbuilding-android-cupcake%2F&amp;t=Building%20Android%3A%20CupCake" title="HackerNews"><img src="http://novoda.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fnovoda.com%2F2009%2F01%2F17%2Fbuilding-android-cupcake%2F" title="Technorati"><img src="http://novoda.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2009%2F01%2F17%2Fbuilding-android-cupcake%2F&amp;partner=sociable" title="PDF"><img src="http://novoda.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://novoda.com/2009/01/17/building-android-cupcake/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

