<?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>MSINO &#124; Mobile Sino</title>
	<atom:link href="http://www.msino.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.msino.com</link>
	<description>Professional mobile service</description>
	<lastBuildDate>Sat, 02 Jan 2010 13:14:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Nexus One Rooted Already</title>
		<link>http://www.msino.com/nexus-one-rooted-already/</link>
		<comments>http://www.msino.com/nexus-one-rooted-already/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 13:14:25 +0000</pubDate>
		<dc:creator>msino</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[nexus one]]></category>
		<category><![CDATA[root]]></category>

		<guid isPermaLink="false">http://www.msino.com/?p=86</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<div class="wp-caption aligncenter" style="width: 347px"><img title="rooted nexus one" src="http://www.androidguys.com/wp-content/uploads/2009/12/rootednexusone.jpg" alt="google nexus one root" width="337" height="600" /><p class="wp-caption-text">google nexus one root</p></div>
<p><span id="more-86"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.msino.com/nexus-one-rooted-already/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Top five Android apps to download</title>
		<link>http://www.msino.com/top-five-android-apps-to-download/</link>
		<comments>http://www.msino.com/top-five-android-apps-to-download/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 12:48:05 +0000</pubDate>
		<dc:creator>msino</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[top apps]]></category>

		<guid isPermaLink="false">http://www.msino.com/?p=84</guid>
		<description><![CDATA[So, you&#8217;ve just got yourself a shiny new Android-powered handset. Perhaps you picked up the Motorola Milestone. Maybe you opted for Samsung&#8217;s Galaxy i7500. Or did you hold out for an HTC Hero? Whatever you picked, you&#8217;ve granted yourself access to one of the most promising mobile platforms around.
But entering the cavernous Android App Market [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">So, you&#8217;ve just got yourself a shiny new Android-powered handset. Perhaps you picked up the Motorola Milestone. Maybe you opted for Samsung&#8217;s Galaxy i7500. Or did you hold out for an HTC Hero? Whatever you picked, you&#8217;ve granted yourself access to one of the most promising mobile platforms around.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">But entering the cavernous Android App Market for the first time can be daunting. Where do you start? Well, Pocket-lint&#8217;s here to hold your hand, give you a biscuit and tell you everything will be all right. Here&#8217;s the first five apps you should immediately download for your handset:</p>
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.2em; margin-left: 0px; font-weight: bold; font-style: inherit; font-size: 1.5em; font-family: inherit; vertical-align: baseline; color: #555555; padding: 0px; border: 0px initial initial;">Taskiller</h3>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">One of the biggest benefits of the Android platform over the iPhone is that you can run applications in the background. However, that benefit is double-edged because it can be quite easy to choke your phone up with a million background processes you don&#8217;t actually want or need.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">So kill them. Kill them dead. Taskiller offers a fully-featured task manager, complete with a homescreen widget that lets you clear the board with a single tap. There&#8217;s a free and a paid version, but the only difference between them is ads in the free option, so plump for that. Oh, and top tip &#8211; be sure to add apps you need to keep running to the ignore list, so you don&#8217;t accidentally stop the touchscreen working.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;"><strong style="font-weight: bold; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; margin: 0px; border: 0px initial initial;">Price: </strong>Free</p>
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.2em; margin-left: 0px; font-weight: bold; font-style: inherit; font-size: 1.5em; font-family: inherit; vertical-align: baseline; color: #555555; padding: 0px; border: 0px initial initial;">Bonsai Blast</h3>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">Unfortunately, one of the areas of the Android Market that&#8217;s most lacking is the games section. The majority of Android games aren&#8217;t worth the time to download them, and the preloaded game, Teeter, will only last you so long. But thankfully, there&#8217;s one or two standouts in the market that&#8217;ll help you pass those long train journeys.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">The best is called Bonsai Blast. It&#8217;s a variant on classic puzzle game Bust-a-move set in a Japanese Zen Garden that sees you frantically trying to match up coloured balls to eliminate them before they reach a hole in the ground. At which point the world ends, obviously. Download this, and you&#8217;ll spend half of next year completely oblivious of the fact that your bus has just sailed past the stop you normally get off at.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;"><strong style="font-weight: bold; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; margin: 0px; border: 0px initial initial;">Price:</strong> Free</p>
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.2em; margin-left: 0px; font-weight: bold; font-style: inherit; font-size: 1.5em; font-family: inherit; vertical-align: baseline; color: #555555; padding: 0px; border: 0px initial initial;">Spotify</h3>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">If you&#8217;re a music fan of any description, and you haven&#8217;t tried Spotify yet, you&#8217;re missing out. Imagine the world&#8217;s biggest jukebox in the sky with the ability to play anything at a second&#8217;s notice, create and share playlists, and even operate without an internet connection &#8211; in rural areas or on the tube, for example.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">It was those features and more that won it the coveted Product of the Year status at the 6th Pocket-lint Awards. The Android version is almost as good as the desktop client, and certainly superior to the iPhone edition. But you do have to pony up for a £10 per month subscription to the premium version, which also removes ads from the desktop edition and ups the audio quality. If you used to buy even just one CD every other month or so, it&#8217;s worth it.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;"><strong style="font-weight: bold; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; margin: 0px; border: 0px initial initial;">Price:</strong> App is free to download, but £10 per month subscription required to use it</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;"><strong style="font-weight: bold; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; margin: 0px; border: 0px initial initial;">GyPSii</strong></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">Location-based services are developing at a rate of knots, becoming more and more useful. Android&#8217;s default Google Maps is great, but even better is GyPSii &#8211; a mobile social network that attempts to connect up the real and virtual worlds.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">It lets you do simple stuff like geotag photos or videos and bookmark particular places, but it can also hook up with your friends on the service to see where they&#8217;ve been bookmarking and view their geotagged photos too. You can then share all your content through other social networks. Very powerful, very useful.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;"><strong style="font-weight: bold; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; margin: 0px; border: 0px initial initial;">Price:</strong> Free</p>
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.2em; margin-left: 0px; font-weight: bold; font-style: inherit; font-size: 1.5em; font-family: inherit; vertical-align: baseline; color: #555555; padding: 0px; border: 0px initial initial;">Beebplayer</h3>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">The BBC&#8217;s iPlayer has been a revolution in video-on-demand, but it&#8217;s quite tricky to get it working on many mobile devices. Not so on Android, where Beebplayer offers radio and live television streams across any connection &#8211; Wi-Fi, HSDPA, 3G or even GPRS.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">Sure, the quality isn&#8217;t great &#8211; especially at the lower end of connectivity, but you can see what&#8217;s going on and you should be able to get a reasonable radio connection at least through any data service. You can&#8217;t yet download programs to watch offline at a later date, or access older content &#8211; it&#8217;s restricted to live streams &#8211; but it&#8217;s the best streaming app around for getting BBC content on the go.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;"><strong style="font-weight: bold; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; margin: 0px; border: 0px initial initial;">Price:</strong> Free</p>
<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.2em; margin-left: 0px; font-weight: bold; font-style: inherit; font-size: 1.5em; font-family: inherit; vertical-align: baseline; color: #555555; padding: 0px; border: 0px initial initial;">What next?</h3>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">You&#8217;ve almost certainly got some favourite Android apps, too, and we want to know what they are. See that comments box below? Tell us there what your must-have applications are.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;"><a href="http://www.pocket-lint.com/news/30337/first-five-android-apps-downloads">Original Text &#8230;</a></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; padding: 0px; border: 0px initial initial;">
]]></content:encoded>
			<wfw:commentRss>http://www.msino.com/top-five-android-apps-to-download/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebView Applications</title>
		<link>http://www.msino.com/webview-applications/</link>
		<comments>http://www.msino.com/webview-applications/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 12:59:39 +0000</pubDate>
		<dc:creator>msino</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[webview]]></category>

		<guid isPermaLink="false">http://www.msino.com/?p=75</guid>
		<description><![CDATA[Around two years ago I asked why there weren’t that many successfulJava ME consumer applications that weren’t games. I went on to conclude that the few that were successful were just a window on more open, capable and consistent processing somewhere else.
It’s interesting to see that a number of development frameworks for several development platforms [...]]]></description>
			<content:encoded><![CDATA[<p>Around two years ago I asked why there weren’t that many successful<a style="color: #0066cc; text-decoration: none;" href="http://mobilephonedevelopment.com/archives/420" target="_blank">Java ME consumer applications that weren’t games</a>. I went on to conclude that the few that were successful were just a window on more open, capable and consistent processing somewhere else.</p>
<p>It’s interesting to see that a number of development frameworks for several development platforms have evolved around this model of having a view on what’s essentially mainly happening at a server somewhere. In fact, even without these frameworks most platforms (except Java ME) have some kind of webView that can be embedded within an application.</p>
<p>WebView apps give many of the advantages of full native applications (use of phone APIs/features and discoverability via app stores) with the main disadvantage that the application itself needs a data connection at the time the user uses the application. Also, using a web oriented interface sometimes isn’t as usable as an equivalent interface made up of the phone’s native controls.</p>
<p>Sometimes it’s possible to use a webview instead of a plain text view to show application information. This allows information such as help or troubleshooting to actually reside online somewhere where it can be changed easily. Alternatively, it allows advertisements to be easily embedded in applications results because most ad systems are oriented towards embedding code in web pages.</p>
<p>I have done a few feasibility studies recently where a webView type application made a lot of sense. They tend to be applications that people will use for the specific unique content as opposed to those that need to compete with other applications on features or user experience.</p>
<p><a title="webview" href="http://mobilephonedevelopment.com/archives/900" target="_blank">Original text ..</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.msino.com/webview-applications/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Forecast widget for Android 1.5 (with source!)</title>
		<link>http://www.msino.com/forecast-widget-for-android-1-5-with-source/</link>
		<comments>http://www.msino.com/forecast-widget-for-android-1-5-with-source/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 11:07:25 +0000</pubDate>
		<dc:creator>msino</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[forecast]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://www.msino.com/?p=73</guid>
		<description><![CDATA[Over the past few months I’ve been working on the new AppWidget framework that was released as part of the Android 1.5 SDK. I wanted to write a really in-depth widget and share it, so I decided to write a forecast widget.
It offers multiple configurations (both a 2×1 and tiny 1×1), and updates four times daily [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-top: 0em; margin-right: 0em; margin-bottom: 20px; margin-left: 0em; padding: 0em;">Over the past few months I’ve been working on the <a style="color: #00468c;" href="http://android-developers.blogspot.com/2009/04/introducing-home-screen-widgets-and.html">new AppWidget framework</a> that was released as part of the Android 1.5 SDK. I wanted to write a really in-depth widget and share it, so I decided to write a forecast widget.</p>
<p style="margin-top: 0em; margin-right: 0em; margin-bottom: 20px; margin-left: 0em; padding: 0em;">It offers multiple configurations (both a 2×1 and tiny 1×1), and updates four times daily with the latest forecasts. You can also insert multiple widgets to keep track of the weather in different locations. And tapping the widget brings up a detailed forecast for the next few days. Here are some quick screenshots:</p>
<p><img style="margin-right: 20px;" src="http://jsharkey.org/downloads/wx01.png" alt="" /><img src="http://jsharkey.org/downloads/wx02.png" alt="" /></p>
<p>First, <a style="color: #00468c;" href="http://code.google.com/p/android-sky/source/browse/#svn/trunk/Sky">here’s the source code</a> under an Apache 2.0 license. And you can <a style="color: #00468c;" href="http://jsharkey.org/downloads/Sky-101.apk">grab an APK here</a>.</p>
<p><a title="forecast android" href="http://jsharkey.org/blog/2009/04/24/forecast-widget-for-android-15-with-source/" target="_blank">Original Text ..</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.msino.com/forecast-widget-for-android-1-5-with-source/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Android on Reference Design</title>
		<link>http://www.msino.com/android-on-reference-design/</link>
		<comments>http://www.msino.com/android-on-reference-design/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 11:05:00 +0000</pubDate>
		<dc:creator>msino</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[refrerence]]></category>

		<guid isPermaLink="false">http://www.msino.com/?p=71</guid>
		<description><![CDATA[If you are interested in Google’s Android, the BBC has just posted an interesting video interview with Andy Rubin, Google’s director of mobile platforms. It shows Android on a 3G device running at 300MHz on a Qualcomm MSM 7200 &#8211; the same processor used by the latest HTC (Windows Mobile) Touch devices.

Darren Waters of the BBC [...]]]></description>
			<content:encoded><![CDATA[<p>If you are interested in Google’s Android, the BBC has just posted an <a style="color: #0066cc; text-decoration: none;" href="http://www.bbc.co.uk/blogs/technology/2008/02/under_the_bonnet_of_android_1.html" target="_blank">interesting video interview with Andy Rubin</a>, Google’s director of mobile platforms. It shows Android on a 3G device running at 300MHz on a Qualcomm MSM 7200 &#8211; the same processor used by the latest HTC (Windows Mobile) Touch devices.</p>
<p align="center"><img style="max-width: 100%; padding: 0px;" title="androidreference.jpg" src="http://mobilephonedevelopment.com/wp-content/images/androidreference.jpg" border="0" alt="androidreference.jpg" hspace="5" vspace="0" /></p>
<p>Darren Waters of the BBC says…</p>
<p><em>&#8220;Google has committed to being a multi-operating system company and they will continue to produce services for all phones on all platforms.&#8221;</em></p>
<p>… in other words… hedging their bets.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.msino.com/android-on-reference-design/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Android Free to Paid</title>
		<link>http://www.msino.com/android-free-to-paid/</link>
		<comments>http://www.msino.com/android-free-to-paid/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 11:02:10 +0000</pubDate>
		<dc:creator>msino</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[paid]]></category>

		<guid isPermaLink="false">http://www.msino.com/?p=69</guid>
		<description><![CDATA[According to reports, over the last few hours the Android store went live showing paid applications to some end users in the US.
Viewing paid listings requires an update to the phone firmware. So far, this only seems to have happened to some phones in the US. My phone in the UK hasn’t updated its firmware [...]]]></description>
			<content:encoded><![CDATA[<p>According to reports, over the last few hours the Android store went live showing paid applications to some end users in the US.</p>
<p>Viewing paid listings requires an update to the phone firmware. So far, this only seems to have happened to some phones in the US. My phone in the UK hasn’t updated its firmware and is still showing the old store application with just free listings.</p>
<p>Playing with the Android Market developer console shows that it would not be possible to price my already free applications. This is expected because the Android Market T&amp;Cs state that free applications must always remain free for people who have already downloaded them. Even uploading an update doesn’t allow an application to go from free to paid. Instead, it’s necessary to create a new application if you want to create a paid updated version of your free application.</p>
<p>One consequence of this is that developers who have built up good comments and ratings will lose these when they go from free to paid.</p>
<p>Incidentally, I don’t plan on converting <a style="color: #0066cc; text-decoration: none;" href="http://www.simonjudge.com/android.html" target="_blank">my Android applications</a> to paid. They will always remain free.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.msino.com/android-free-to-paid/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to Measure Elapsed Time</title>
		<link>http://www.msino.com/how-to-measure-elapsed-time/</link>
		<comments>http://www.msino.com/how-to-measure-elapsed-time/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 11:00:08 +0000</pubDate>
		<dc:creator>msino</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[elapse]]></category>
		<category><![CDATA[measure]]></category>

		<guid isPermaLink="false">http://www.msino.com/?p=67</guid>
		<description><![CDATA[Many applications have to measure time intervals. Android has lots of SystemClock APIs and initially it might be confusing what to use. To measure elapsed time you can use…
System.nanoTime();
An elapsed time timer just calls this twice and subtracts the end time from the start time.
The boom-mobile source code has a great StopWatch class that you can use [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 18px; padding: 0px;">Many applications have to measure time intervals. Android has <a style="color: #2d83d5; text-decoration: underline; padding: 0px; margin: 0px;" href="http://developer.android.com/reference/android/os/SystemClock.html" target="_blank">lots of SystemClock APIs</a> and initially it might be confusing what to use. To measure elapsed time you can use…</p>
<pre style="padding: 0px; margin: 0px;">System.nanoTime();</pre>
<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 18px; padding: 0px;">An elapsed time timer just calls this twice and subtracts the end time from the start time.</p>
<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 18px; padding: 0px;">The boom-mobile source code has a <a style="color: #2d83d5; text-decoration: underline; padding: 0px; margin: 0px;" href="http://code.google.com/p/boom-mobile/source/browse/trunk/CanvasTest/src/com/anvil/android/util/StopWatch.java" target="_blank">great StopWatch class </a>that you can use as a basis of a timer.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.msino.com/how-to-measure-elapsed-time/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How to Disable the Keyguard</title>
		<link>http://www.msino.com/how-to-disable-the-keyguard/</link>
		<comments>http://www.msino.com/how-to-disable-the-keyguard/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 10:49:12 +0000</pubDate>
		<dc:creator>msino</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[disable]]></category>
		<category><![CDATA[keyguard]]></category>

		<guid isPermaLink="false">http://www.msino.com/?p=64</guid>
		<description><![CDATA[There are some types of application where you need to programatically disable the keyguard. It’s also sometimes useful to temporarily do this when you are presenting a demo. com.android.alarmclock.AlarmAlert in the Android OS source code provides and example how to do this…
    private synchronized void enableKeyguard() {
        if (mKeyguardLock != null) {
            mKeyguardLock.reenableKeyguard();
            mKeyguardLock = null;
        [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 18px; padding: 0px;">There are some types of application where you need to programatically disable the keyguard. It’s also sometimes useful to temporarily do this when you are presenting a demo. <a style="color: #2d83d5; text-decoration: underline; padding: 0px; margin: 0px;" href="http://www.google.com/codesearch/p?hl=en#JtnJnU-KWoE/src/com/android/alarmclock/AlarmAlert.java&amp;q=com.android.alarmclock.AlarmAlert" target="_blank">com.android.alarmclock.AlarmAlert</a> in the Android OS source code provides and example how to do this…</p>
<pre style="padding: 0px; margin: 0px;">    private synchronized void enableKeyguard() {
        if (mKeyguardLock != null) {
            mKeyguardLock.reenableKeyguard();
            mKeyguardLock = null;
        }
    }
    private synchronized void disableKeyguard() {
        if (mKeyguardLock == null) {
            mKeyguardLock = mKeyguardManager.newKeyguardLock(Log.LOGTAG);
            mKeyguardLock.disableKeyguard();
        }
    }</pre>
<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 18px; padding: 0px;">where</p>
<pre style="padding: 0px; margin: 0px;">mKeyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);</pre>
<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 18px; padding: 0px;">I have also come across a great class, <a style="color: #2d83d5; text-decoration: underline; padding: 0px; margin: 0px;" href="http://www.google.com/codesearch/p?hl=en#_PaDO_8q6zk/trunk/SMSPopup/src/net/everythingandroid/smspopup/ManageKeyguard.java&amp;q=disableKeyGuard%20package:http://android-smspopup\.googlecode\.com" target="_blank">ManageKeyguard</a> in the source of SMSPopup. This provides an example how to disable the keyguard, show your activity and re-enable the keyguard without letting someone get past the keylock to other activities. There’s also more about this <a style="color: #2d83d5; text-decoration: underline; padding: 0px; margin: 0px;" href="http://groups.google.com/group/android-developers/browse_thread/thread/cc8d7ab760946ee4" target="_blank">discussed on the Google groups</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.msino.com/how-to-disable-the-keyguard/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to Detect Call State</title>
		<link>http://www.msino.com/how-to-detect-call-state/</link>
		<comments>http://www.msino.com/how-to-detect-call-state/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 10:48:25 +0000</pubDate>
		<dc:creator>msino</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[call state]]></category>
		<category><![CDATA[detect]]></category>

		<guid isPermaLink="false">http://www.msino.com/?p=62</guid>
		<description><![CDATA[Some applications need to do clever things whenever there’s an incoming or outgoing call. There’s a great example of this in the source code for ‘five’ (an app providing remote access to your PC’s music collection) where the music PlaylistService listens for incoming calls so it can temporarily pause playback…
TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
tm.listen(mPhoneListener, PhoneStateListener.LISTEN_CALL_STATE);
and…
private PhoneStateListener mPhoneListener [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 18px; padding: 0px;">Some applications need to do clever things whenever there’s an incoming or outgoing call. There’s a great example of this in the source code for ‘five’ (an app providing remote access to your PC’s music collection) where the music <a style="color: #2d83d5; text-decoration: underline; padding: 0px; margin: 0px;" href="http://www.google.com/codesearch/p?hl=en#JjR45iF4sCc/trunk/android-client/src/org/devtcg/five/music/service/PlaylistService.java&amp;q=PhoneStateListener.LISTEN_CALL_STATE" target="_blank">PlaylistService listens for incoming calls</a> so it can temporarily pause playback…</p>
<pre style="padding: 0px; margin: 0px;">TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
tm.listen(mPhoneListener, PhoneStateListener.LISTEN_CALL_STATE);</pre>
<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 18px; padding: 0px;">and…</p>
<pre style="padding: 0px; margin: 0px;">private PhoneStateListener mPhoneListener = new PhoneStateListener()
{
        public void onCallStateChanged(int state, String incomingNumber)
        {
                try {
                        switch (state)
                        {
                        case TelephonyManager.CALL_STATE_RINGING:
...
                                break;</pre>
<pre style="padding: 0px; margin: 0px;">                        case TelephonyManager.CALL_STATE_OFFHOOK:
...
                                break;</pre>
<pre style="padding: 0px; margin: 0px;">                        case TelephonyManager.CALL_STATE_IDLE:
...
                                break;
                        default:
                                Log.d(TAG, "Unknown phone state=" + state);
                        }
                } catch (RemoteException e) {}
        }
};</pre>
<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 18px; padding: 0px;">In many applications, the next stage is to do something based on an incoming telephone number. The number is given by the <em style="padding: 0px; margin: 0px;">String incomingNumber</em> parameter shown above.</p>
<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 18px; padding: 0px;">Also don’t forget the following in your manifest…</p>
<pre style="padding: 0px; margin: 0px;">&lt;uses-permission android:name="android.permission.READ_PHONE_STATE"&gt;&lt;/uses-permission&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.msino.com/how-to-detect-call-state/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to Make a Call</title>
		<link>http://www.msino.com/how-to-make-a-call/</link>
		<comments>http://www.msino.com/how-to-make-a-call/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 10:47:20 +0000</pubDate>
		<dc:creator>msino</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[call]]></category>
		<category><![CDATA[make]]></category>

		<guid isPermaLink="false">http://www.msino.com/?p=60</guid>
		<description><![CDATA[One common requirement I see in specifications is to allow the application to make a phone call. The usual way is to use an intent with Intent.ACTION_CALL.
Here’s an example from com.android.phone.PhoneInterfaceManager…String url = createTelUrl(number);if (url == null) {return;}Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(url));intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.setClassName(mApp, PhoneApp.getCallScreenClassName());mApp.startActivity(intent);
createTelUrl is defined in com.android.phone.PhoneInterfaceManager
Don’t forget to add…&#60;uses-permission id="android.permission.CALL_PHONE"/&#62;…to your manifest.
Note also that there’s a reported problem [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 18px; padding: 0px;">One common requirement I see in specifications is to allow the application to make a phone call. The usual way is to <a style="color: #2d83d5; text-decoration: underline; padding: 0px; margin: 0px;" href="http://developer.android.com/guide/appendix/g-app-intents.html" target="_blank">use an intent</a> with <code style="padding: 0px; margin: 0px;">Intent.ACTION_CALL</code>.</p>
<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 18px; padding: 0px;">Here’s an example from <a style="color: #2d83d5; text-decoration: underline; padding: 0px; margin: 0px;" href="http://www.google.com/codesearch/p?hl=en#r4Q5vzOJY9U/src/com/android/phone/PhoneInterfaceManager.java&amp;q=com.android.phone.PhoneInterfaceManager" target="_blank">com.android.phone.PhoneInterfaceManager</a>…<br style="padding: 0px; margin: 0px;" /><code style="padding: 0px; margin: 0px;">String url = createTelUrl(number);<br style="padding: 0px; margin: 0px;" />if (url == null) {<br style="padding: 0px; margin: 0px;" />return;<br style="padding: 0px; margin: 0px;" />}<br style="padding: 0px; margin: 0px;" />Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(url));<br style="padding: 0px; margin: 0px;" />intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);<br style="padding: 0px; margin: 0px;" />intent.setClassName(mApp, PhoneApp.getCallScreenClassName());<br style="padding: 0px; margin: 0px;" />mApp.startActivity(intent);<br style="padding: 0px; margin: 0px;" /></code></p>
<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 18px; padding: 0px;"><code style="padding: 0px; margin: 0px;">createTelUrl</code> is defined in <a style="color: #2d83d5; text-decoration: underline; padding: 0px; margin: 0px;" href="http://www.google.com/codesearch/p?hl=en#r4Q5vzOJY9U/src/com/android/phone/PhoneInterfaceManager.java&amp;q=com.android.phone.PhoneInterfaceManager" target="_blank">com.android.phone.PhoneInterfaceManager</a></p>
<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 18px; padding: 0px;">Don’t forget to add…<code style="padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" />&lt;uses-permission id="android.permission.CALL_PHONE"/&gt;</code><br style="padding: 0px; margin: 0px;" />…to your manifest.</p>
<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 18px; padding: 0px;">Note also that there’s a reported <a style="color: #2d83d5; text-decoration: underline; padding: 0px; margin: 0px;" href="http://code.google.com/p/android/issues/detail?id=1456&amp;q=Intent.ACTION_CALL&amp;colspec=ID%20Type%20Version%20Security%20Status%20Owner%20Summary" target="_blank">problem on the G1 </a>(RC30) if you wish to send many DTMF tones.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.msino.com/how-to-make-a-call/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
