<?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>some words from technology briefcase &#187; Android</title>
	<atom:link href="http://blog.fltlab.net/index.php/category/dev/and/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.fltlab.net</link>
	<description>...nerd news for new nerds...</description>
	<lastBuildDate>Wed, 14 Sep 2011 09:30:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Mobile School: The mobile Revolution has begun (in Italian Way!)</title>
		<link>http://blog.fltlab.net/index.php/2011/09/14/mobile-school-the-mobile-revolution-has-begun-in-italian-way/</link>
		<comments>http://blog.fltlab.net/index.php/2011/09/14/mobile-school-the-mobile-revolution-has-begun-in-italian-way/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 09:30:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[are you curious?]]></category>
		<category><![CDATA[gtug]]></category>
		<category><![CDATA[courses]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[learn]]></category>
		<category><![CDATA[mobile school]]></category>
		<category><![CDATA[mobileschool]]></category>
		<category><![CDATA[sviluppare android]]></category>
		<category><![CDATA[sviluppare app]]></category>

		<guid isPermaLink="false">http://blog.fltlab.net/?p=435</guid>
		<description><![CDATA[MobileSchool is now ready for you&#8230; and the Italian Developer can improve their knowledge through it! Now the subscriptions are open! Subscribe yourself to one of the stages of the Mobile Revolution; the tour starts in October from Palermo (Sicily) and get to Milan in various stages to disseminate the mobile knowledge. You can learn [...]]]></description>
			<content:encoded><![CDATA[<pre><p><a href="http://blog.fltlab.net/wp-content/uploads/2011/05/mobile_school.jpg"><img class="alignleft size-thumbnail wp-image-427" title="mobile_school" src="http://blog.fltlab.net/wp-content/uploads/2011/05/mobile_school-150x66.jpg" alt="" width="150" height="66" /></a> MobileSchool is now ready for you&#8230; and the Italian Developer can improve their knowledge through it!</p>
<div id="_mcePaste">Now the subscriptions are open!</div>
<div id="_mcePaste">Subscribe yourself to one of the stages of the Mobile Revolution; the tour starts in October from Palermo (Sicily) and get to Milan in various stages to disseminate the mobile knowledge.</div>
<p>You can learn more from the website that speaks about it, such as RabenBlog (visible at: <a href="http://rabenblog.eraben.com/w/index.php/difficolta/saputello/sviluppare-applicazioni-android-con-mobileschool/">http://rabenblog.eraben.com/w/index.php/difficolta/saputello/sviluppare-applicazioni-android-con-mobileschool/</a>) that wrote a beautiful post about Francesco Lo Truglio and his role in the MobileSchool!</p>
<p>and now, what do you want to do? Do you want to stand outside and watch this revolution? Join it!</p>
<p><a href="http://www.mobileschool.it">http://www.mobileschool.it</a></p>
</pre>]]></content:encoded>
			<wfw:commentRss>http://blog.fltlab.net/index.php/2011/09/14/mobile-school-the-mobile-revolution-has-begun-in-italian-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MobileSchool: Challenge 1Idea1App</title>
		<link>http://blog.fltlab.net/index.php/2011/05/28/mobileschool-challenge-1idea1app/</link>
		<comments>http://blog.fltlab.net/index.php/2011/05/28/mobileschool-challenge-1idea1app/#comments</comments>
		<pubDate>Sat, 28 May 2011 14:15:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[gtug]]></category>
		<category><![CDATA[1Idea1App]]></category>
		<category><![CDATA[fltlab]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mobileschool]]></category>

		<guid isPermaLink="false">http://blog.fltlab.net/?p=426</guid>
		<description><![CDATA[Hey guys! Have you an idea for a mobile app? or do you want to learn how to make a mobile app? Join the challenge and explore the mobileschool contest, the first traveling mobile school!]]></description>
			<content:encoded><![CDATA[<pre><p><a href="http://blog.fltlab.net/wp-content/uploads/2011/05/mobile_school.jpg"><img class="alignright size-thumbnail wp-image-427" title="mobile_school" src="http://blog.fltlab.net/wp-content/uploads/2011/05/mobile_school-150x66.jpg" alt="" width="150" height="66" /></a>Hey guys!<br />
Have you an idea for a mobile app? or do you want to learn how to make a mobile app?</p>
<p>Join the challenge and explore the mobileschool contest, the first traveling mobile school!</p>
</pre>]]></content:encoded>
			<wfw:commentRss>http://blog.fltlab.net/index.php/2011/05/28/mobileschool-challenge-1idea1app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beginning with honeycomb (new developing experience)</title>
		<link>http://blog.fltlab.net/index.php/2011/05/22/beginning-with-honeycomb-new-developing-experience/</link>
		<comments>http://blog.fltlab.net/index.php/2011/05/22/beginning-with-honeycomb-new-developing-experience/#comments</comments>
		<pubDate>Sun, 22 May 2011 14:24:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[are you curious?]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[android 3.0]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[galaxy tab 10.1]]></category>
		<category><![CDATA[honeycom]]></category>
		<category><![CDATA[tablet]]></category>
		<category><![CDATA[xoom]]></category>

		<guid isPermaLink="false">http://blog.fltlab.net/?p=414</guid>
		<description><![CDATA[Hello to everybody, after more than a two year on Android platform, we have a new powerful framework to develop tablet based application. Android HoneyComb! what is ? i cannot spend a lot of words on this but you can read the specs on another post of mine (honeycomb), because in this post i want [...]]]></description>
			<content:encoded><![CDATA[<pre><p><a href="http://blog.fltlab.net/wp-content/uploads/2011/05/honeycomb.jpg"><img class="alignleft size-thumbnail wp-image-415" title="honeycomb" src="http://blog.fltlab.net/wp-content/uploads/2011/05/honeycomb-150x150.jpg" alt="" width="150" height="150" /></a>Hello to everybody,<br />
after more than a two year on Android platform, we have a new powerful framework to develop tablet based application.</p>
<p>Android HoneyComb! what is ? i cannot spend a lot of words on this but you can read the specs on another post of mine (<a href="http://blog.fltlab.net/index.php/2011/02/07/android-honeycomb-is-coming-3-0/">honeycomb</a>), because in this post i want describe the most important news, needed to have a first approach to this developing environment!</p>
<p>The language and the tools are the same (eclipse, java &#8230;and so on!) but the approach need to be different, in honeycomb we have the &#8220;Fragment&#8221;.</p>
<p>The Fragments be a great way to display content, and allow easier navigation of tablet devices, they are similar to the activity but they are only a piece of the global activity. A Fragment object is something between a View and and Activity: It can be part of a layout, but it isn&#8217;t a subclass of View. It implements the ComponentCallbacks interface, and it has a lifecycle, but that lifecycle is dependent on the Activity the Fragment object belongs to. Let&#8217;s see what it can do for us in a tablet-sized user interface.</p>
<p>There are four important thing that the fragment do for you:</p>
<ul>
<li><strong>Dialogs: </strong>there is a Fragment called DialogFragment that makes it easy to show a Dialog that is managed as part of the Activity lifecycle.<br />
<em>This replaces Activity’s “managed dialog” APIs.</em></li>
<li><strong>ListActivity: </strong>Another kind of Fragment called ListFragment makes it easy to show a list of data.<br />
This is similar to the existing ListActivity (with a some new features), but answer to the common question about how to show a list with some other data.</li>
<li><strong>State and restoring:</strong> all fragments currently attached to an activity are saved for you by the framework in the activity’s saved instance state and restored for you when it restarts. With this you get help on saving (and restoring) the state of the single fragment.</li>
<li><strong>History and Navigation:</strong> The backstack of all the fragment object loaded is managed by the framework; so it is very easy the use of the activity back button, and you can integrate the existing activity to the fragment backstack! This kind of state is also saved and restored for you automatically.</li>
</ul>
<p>Now we are ready to begin! follow us, in a couple of day we will prepare a complete example regarding a first honeycomb application to interact with facebook!</p>
<p>Stay tuned!</p>
</pre>]]></content:encoded>
			<wfw:commentRss>http://blog.fltlab.net/index.php/2011/05/22/beginning-with-honeycomb-new-developing-experience/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>News from Google I/O 2011</title>
		<link>http://blog.fltlab.net/index.php/2011/05/20/news-from-google-io-2011/</link>
		<comments>http://blog.fltlab.net/index.php/2011/05/20/news-from-google-io-2011/#comments</comments>
		<pubDate>Fri, 20 May 2011 18:27:25 +0000</pubDate>
		<dc:creator>Adriano Tornatore</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[are you curious?]]></category>
		<category><![CDATA[gtug]]></category>
		<category><![CDATA[FLT.lab]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Google I/O]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[mobile shool]]></category>
		<category><![CDATA[palermo]]></category>

		<guid isPermaLink="false">http://blog.fltlab.net/?p=407</guid>
		<description><![CDATA[All ready for May 24 when at ITIS Vittorio Emanuele III (via Duca della Verdura, 48 &#8211; Palermo) starting at 3 pm will take place another GTUG (Google Technology User Group) event called &#8220;News from Google I/O 2011&#8243;. We will talk about last technologies and solutions shown in the biggest Google I/O event in San [...]]]></description>
			<content:encoded><![CDATA[<pre><div>All ready for May 24 when at ITIS Vittorio Emanuele III (via Duca della Verdura, 48 &#8211; Palermo) starting at 3 pm will take place another GTUG (Google Technology User Group) event called &#8220;News from Google I/O 2011&#8243;.<br />
We will talk about last technologies and solutions shown in the biggest Google I/O event in San Francisco on 10-11 May. Here the full program:</div>
<div>
<ul>
<li>News from <a href="http://www.google.com/events/io/2011/">Google I/O 2011</a></li>
<li>Case study on <a href="https://chrome.google.com/webstore">Chrome Webstore</a>: developing tools and best practices</li>
<li>Palermo GTUG members developed Android apps showcases</li>
<li>Introducing Android Tablet &#8220;ASUS Eee Pad Transformer&#8221; by <a rel="nofollow" href="http://www.infograf.tv/">Infograf sas</a> company</li>
<li>Google Jobs: recruitment and applications collection</li>
<li>Question time</li>
</ul>
</div>
<div>
<div></div>
<div></div>
<div><a href="https://sites.google.com/site/palermogtug/home/novita-da-google-i-o-2011/claudio.jpg?attredirects=0"><img src="https://sites.google.com/site/palermogtug/_/rsrc/1304583299015/home/novita-da-google-i-o-2011/claudio.jpg" border="0" alt="" /></a></div>
<div></div>
<p>Main speaker will be Claudio Cherubino from Sicily, Developer Programs  Engineer at Google&#8217;s offices in London, he works on <a href="http://code.google.com/intl/it-IT/googleapps/">Google Apps API</a> and on  <a href="https://www.google.com/enterprise/marketplace/?pli=1">Google Apps Marketplace</a>.<br />
He worked also as software developer, technology  evangelist, community manager, consultant, technical translator and several open-source projects got his contributes like MySQL, PHP,  WordPress, Songbird and Voldemort Project.</p>
</div>
<div>To see his developer profile just click here <a href="http://code.google.com/intl/it-IT/team/">http://code.google.com/intl/it-IT/team/</a>.</div>
<div>We will also show our current project and our ideas about all mobile world, especially about the growing Android world that is getting more importance day by day among middle-low profile mobile users.</div>
<div>We also will talk about our starting project referred to our mobile schools in all Italy and all its mobile developing opportunities.</div>
<div><strong>Free entry</strong>.</div>
<div></div>
<div>This event is organized by Palermo Google Tecnology User Group in partnership with <a rel="nofollow" href="http://www.itivittorioemanueleterzopa.it/">ITIS Vittorio Emanuele III</a>.</div>
</pre>]]></content:encoded>
			<wfw:commentRss>http://blog.fltlab.net/index.php/2011/05/20/news-from-google-io-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android Honeycomb Is Coming (3.0)</title>
		<link>http://blog.fltlab.net/index.php/2011/02/07/android-honeycomb-is-coming-3-0/</link>
		<comments>http://blog.fltlab.net/index.php/2011/02/07/android-honeycomb-is-coming-3-0/#comments</comments>
		<pubDate>Mon, 07 Feb 2011 10:34:30 +0000</pubDate>
		<dc:creator>flotruglio</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[are you curious?]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[honeycomb]]></category>
		<category><![CDATA[ipad]]></category>

		<guid isPermaLink="false">http://blog.fltlab.net/?p=390</guid>
		<description><![CDATA[Google officially announced Android 3.0, known as Honeycomb (Google tends to name their Android builds after sweet, delicious desserts). this firmware born directly for combating the Apple iPad head-on, more and more Honeycomb-powered tablets are being leaked or revealed. Well, don&#8217;t have ont test device, but there are many rumors about the Motorola Xoom and the LG G-Slate, [...]]]></description>
			<content:encoded><![CDATA[<pre><p><a rel="attachment wp-att-391" href="http://blog.fltlab.net/index.php/2011/02/07/android-honeycomb-is-coming-3-0/xoom/"><img class="alignleft size-thumbnail wp-image-391" title="xoom" src="http://blog.fltlab.net/wp-content/uploads/2011/02/xoom-150x150.jpg" alt="" width="150" height="150" /></a>Google <a href="http://www.zdnet.com/blog/mobile-news/live-blog-android-honeycomb/815">officially announced Android 3.0</a>, known as Honeycomb (Google tends to name their Android builds after <a href="http://en.wikipedia.org/wiki/Android_(operating_system)">sweet, delicious desserts</a>).</p>
<p>this firmware born directly for combating the Apple iPad head-on, more and more Honeycomb-powered tablets are being leaked or revealed.<span id="more-390"></span></p>
<p>Well, don&#8217;t have ont test device, but there are many rumors about the <a href="http://www.engadget.com/2011/01/05/motorola-xoom-becomes-official-on-motorola-site-joined-by-unann/">Motorola Xoom</a> and the <a href="http://latimesblogs.latimes.com/technology/2011/02/lg-and-t-mobile-reveal-more-g-slate-tablet-details.html">LG G-Slate</a>, which announces itself as the LG-v909.  Both have been officially announced, and since they’re already at least in use for testing, appear to be fairly close to release.</p>
<p>We’re looking forward to seeing how this new generation of Android tablet compares with the iPad.</p>
</pre>]]></content:encoded>
			<wfw:commentRss>http://blog.fltlab.net/index.php/2011/02/07/android-honeycomb-is-coming-3-0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mono for Android</title>
		<link>http://blog.fltlab.net/index.php/2011/01/07/mono-for-android/</link>
		<comments>http://blog.fltlab.net/index.php/2011/01/07/mono-for-android/#comments</comments>
		<pubDate>Fri, 07 Jan 2011 11:11:43 +0000</pubDate>
		<dc:creator>flotruglio</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[mono]]></category>

		<guid isPermaLink="false">http://blog.fltlab.net/?p=381</guid>
		<description><![CDATA[Nice news for .net developer that want develop on Android&#8230; The mono android frameworks reach the 2.0 edition in which some &#8220;strange&#8221; bugs are solved http://monodroid.net/]]></description>
			<content:encoded><![CDATA[<pre><p><img class="alignleft" title="Mono Droid" src="http://monodroid.net/skins/monodroid/md/logo.png" alt="" width="185" height="133" />Nice news for .net developer that want develop on Android&#8230;<br />
The mono android frameworks reach the 2.0 edition in which some &#8220;strange&#8221; bugs are solved</p>
<p><a href="http://monodroid.net/">http://monodroid.net/</a></p>
</pre>]]></content:encoded>
			<wfw:commentRss>http://blog.fltlab.net/index.php/2011/01/07/mono-for-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android 2.3 is out!</title>
		<link>http://blog.fltlab.net/index.php/2010/12/07/android-2-3-is-out/</link>
		<comments>http://blog.fltlab.net/index.php/2010/12/07/android-2-3-is-out/#comments</comments>
		<pubDate>Tue, 07 Dec 2010 00:05:03 +0000</pubDate>
		<dc:creator>flotruglio</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[android 2.3]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[nfc]]></category>
		<category><![CDATA[sdk]]></category>

		<guid isPermaLink="false">http://blog.fltlab.net/?p=359</guid>
		<description><![CDATA[Finally&#8230;only for developers, the Android 2.3 platform is available as a downloadable component for the Android SDK. The downloadable platform includes an Android library and system image, as well as a set of emulator skins and more. The downloadable platform includes no external libraries. there are many new feature but the most interesting one (i [...]]]></description>
			<content:encoded><![CDATA[<pre><p><img class="alignleft" src="http://developer.android.com/assets/images/bg_logo.png" alt="" width="180" height="50" />Finally&#8230;only for developers, the Android 2.3 platform is available as a downloadable component for the Android SDK. The downloadable platform includes an Android library and system image, as well as a set of emulator skins and more. The downloadable platform includes no external libraries.</p>
<p>there are many new feature but the most interesting one (i think) is thise:</p>
<h3 id="nfc">Near Field Communications (NFC)</h3>
<p>Android 2.3 includes an NFC stack and framework API that lets developers read NDEF tags that are discovered as a user touches an NFC-enabled device to tag elements embedded in stickers, smart posters, and even other devices.</p>
<p>The platform provides the underlying NFC services that work with the device hardware to discover tags when they come into range. On discovering a tag, the platform notifies applications by broadcasting an Intent, appending the tag&#8217;s NDEF messages to the Intent as extras. Applications can create Intent filters to recognize and handle targeted tags and messages. For example, after receiving a tag by Intent, applications extract the NDEF messages, store them, alert the user, or handle them in other ways.</p>
<p>The NFC API is available in the <code><a href="http://developer.android.com/reference/android/nfc/package-summary.html">android.nfc</a></code> package. The key classes are:</p>
<ul>
<li><code><a href="http://developer.android.com/reference/android/nfc/NfcAdapter.html">NfcAdapter</a></code>, which represents the NFC hardware on the device.</li>
<li><code><a href="http://developer.android.com/reference/android/nfc/NdefMessage.html">NdefMessage</a></code>, which represents an NDEF data message, the standard format in which &#8220;records&#8221; carrying data are transmitted between devices and tags. Applications can receive these messages from <code><a href="http://developer.android.com/reference/android/nfc/NfcAdapter.html#ACTION_TAG_DISCOVERED">ACTION_TAG_DISCOVERED</a></code> Intents.</li>
<li><code><a href="http://developer.android.com/reference/android/nfc/NdefRecord.html">NdefRecord</a></code>, delivered in an <code><a href="http://developer.android.com/reference/android/nfc/NdefMessage.html">NdefMessage</a></code>, which describes the type of data being shared and carries the data itself.</li>
</ul>
<p>NFC communication relies on wireless technology in the device hardware, so support for the platform&#8217;s NFC features on specific devices is determined by their manufacturers. To determine the NFC support on the current device, applications can call <code><a href="http://developer.android.com/reference/android/nfc/NfcAdapter.html#isEnabled()">isEnabled()</a></code> to query the<code><a href="http://developer.android.com/reference/android/nfc/NfcAdapter.html">NfcAdapter</a></code>. The NFC API is always present, however, regardless of underlying hardware support.</p>
<p>To use the NFC API, applications must request permission from the user by declaring <code>&lt;uses-permission android:name="android.permission.NFC"&gt;</code> in their manifest files.</p>
<p>Additionally, developers can request filtering on Android Market, such that their applications are not discoverable to users whose devices do not support NFC. To request filtering, add <code>&lt;uses-feature android:name="android.hardware.nfc" android:required="true"&gt;</code>to the application&#8217;s manifest.</p>
<p>To look at a sample application that uses the NFC API, see <a href="http://developer.android.com/resources/samples/NFCDemo/index.html">NFCDemo</a>.</p>
<p>for the full feature list take a look here: <a href="http://developer.android.com/sdk/android-2.3.html">http://developer.android.com/sdk/android-2.3.html</a></p>
</pre>]]></content:encoded>
			<wfw:commentRss>http://blog.fltlab.net/index.php/2010/12/07/android-2-3-is-out/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Android 2.3 (Gingerbread) Platform</title>
		<link>http://blog.fltlab.net/index.php/2010/12/07/android-2-3-platform/</link>
		<comments>http://blog.fltlab.net/index.php/2010/12/07/android-2-3-platform/#comments</comments>
		<pubDate>Tue, 07 Dec 2010 00:03:17 +0000</pubDate>
		<dc:creator>Adriano Tornatore</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google developer]]></category>
		<category><![CDATA[sdk]]></category>

		<guid isPermaLink="false">http://blog.fltlab.net/?p=356</guid>
		<description><![CDATA[API Level: 9 For developers, the Android 2.3 platform is available as a downloadable component for the Android SDK. The downloadable platform includes an Android library and system image, as well as a set of emulator skins and more. The downloadable platform includes no external libraries. To get started developing or testing against Android 2.3, [...]]]></description>
			<content:encoded><![CDATA[<pre><p><img class="alignright" src="http://3.bp.blogspot.com/_kNUIczJH1OM/TPWnTpPpv-I/AAAAAAAAABc/KS-JDa4RcUI/s1600/gingerdroid.png" alt="Gingerdroid" /></p>
<p><em>API Level:</em> <strong>9</strong></p>
<p>For developers, the Android 2.3 platform is available as a<br />
downloadable component for the Android SDK. The downloadable platform includes<br />
an Android library and system image, as well as a set of emulator<br />
skins and more. The downloadable platform<br />
includes no external libraries.</p>
<p>To get started developing or testing against Android<br />
2.3, use the Android SDK Manager to<br />
download the platform into your SDK. For more information,<br />
see <a href="http://developer.android.com/sdk/adding-components.html">Adding SDK<br />
Components</a>. If you are new to Android, <a href="http://developer.android.com/sdk/index.html">download the SDK Starter Package</a><br />
first.</p>
<p>For a high-level introduction to Android 2.3, see the <a href="http://developer.android.com/sdk/android-2.3-highlights.html">Platform Highlights</a>.</p>
<h2 id="relnotes">Revisions</h2>
<p>The sections below provide notes about successive releases of<br />
the Android 2.3 platform component for the Android SDK, as denoted by<br />
revision number. To determine what revision(s) of the Android<br />
2.3 platforms are installed in your SDK environment, refer to<br />
the &#8220;Installed Packages&#8221; listing in the Android SDK and AVD Manager.</p>
<p>//<br />
<a href="#">Android 2.3, Revision 1</a> (December 2010)</p>
<div class="toggleable opened">
<p><em> </em></p>
<div class="toggleme">
<dl>
<dt>Dependencies:</dt>
<dd>Requires SDK Tools r8 or higher.</p>
</dd>
</dl>
</div>
</div>
<h2 id="api">API Overview</h2>
<p>The sections below provide a technical overview of what&#8217;s new for developers<br />
in 2.3, including new features and changes in the framework<br />
API since the previous version.</p>
<h3 id="sip">SIP-based VOIP</h3>
<p>The platform now includes a SIP protocol stack and framework API that lets<br />
developers build internet telephony applications. Using the API, applications can offer<br />
voice calling features without having to manage sessions, transport-level<br />
communication, or audio — these are handled<br />
transparently by the platform&#8217;s SIP API and services.</p>
<p>The SIP API is available in the <code><a href="http://developer.android.com/reference/android/net/sip/package-summary.html">android.net.sip</a></code><br />
package. The key class is <code><a href="http://developer.android.com/reference/android/net/sip/SipManager.html">SipManager</a></code>, which applications<br />
use to set up and manage SIP profiles, then initiate audio calls and receive<br />
audio calls. Once an audio call is established, applications can mute calls,<br />
turn on speaker mode, send DTMF tones, and more. Applications can also use the<br />
<code><a href="http://developer.android.com/reference/android/net/sip/SipManager.html">SipManager</a></code> to create generic SIP connections.</p>
<p>The platform’s underlying SIP stack and services are available on devices at<br />
the discretion of the manufacturer and associated carrier. For this reason,<br />
applications should use the  <code><a href="http://developer.android.com/reference/android/net/sip/SipManager.html#isApiSupported%28android.content.Context%29">isApiSupported()</a></code> method to check whether SIP support is available, before<br />
exposing calling functionality to users.</p>
<p>To use the SIP API, applications must request permission from the user by<br />
declaring <code>&lt;uses-permission<br />
android:name="android.permission.INTERNET"&gt;</code> and <code>&lt;uses-permission<br />
android:name="android.permission.USE_SIP"&gt;</code> in their manifest files.</p>
<p>Additionally, developers can request filtering on Android Market, such that<br />
their applications are not discoverable to users whose devices do not include<br />
the platform’s SIP stack and services. To request filtering, add <code>&lt;uses-feature<br />
android:name="android.software.sip"<br />
android:required="true"&gt;</code> and <code>&lt;uses-feature<br />
android:name="android.software.sip.voip"&gt;</code> to the application manifest.</p>
<p class="note">To look at a sample application that uses the SIP API, see <a href="http://developer.android.com/resources/samples/SipDemo/index.html">SIP Demo</a>.</p>
<h3 id="nfc">Near Field Communications (NFC)</h3>
<p>Android 2.3 includes an NFC stack and framework API that lets developers<br />
read NDEF tags that are discovered as a user touches an NFC-enabled device<br />
to tag elements embedded in stickers, smart posters, and even other devices.</p>
<p>The platform provides the underlying NFC services that work with the device<br />
hardware to discover tags when they come into range. On discovering a tag, the<br />
platform notifies applications by broadcasting an Intent, appending the tag&#8217;s<br />
NDEF messages to the Intent as extras. Applications can create Intent filters to<br />
recognize and handle targeted tags and messages. For example, after receiving a<br />
tag by Intent, applications extract the NDEF messages, store them, alert the<br />
user, or handle them in other ways.</p>
<p>The NFC API is available in the <code><a href="http://developer.android.com/reference/android/nfc/package-summary.html">android.nfc</a></code> package. The key classes are:</p>
<ul>
<li><code><a href="http://developer.android.com/reference/android/nfc/NfcAdapter.html">NfcAdapter</a></code>, which represents the NFC hardware on the device.</li>
<li><code><a href="http://developer.android.com/reference/android/nfc/NdefMessage.html">NdefMessage</a></code>, which represents an NDEF data message,<br />
the standard format in which &#8220;records&#8221; carrying data are transmitted between<br />
devices and tags. Applications can receive these messages from <code><a href="http://developer.android.com/reference/android/nfc/NfcAdapter.html#ACTION_TAG_DISCOVERED">ACTION_TAG_DISCOVERED</a></code> Intents.</li>
<li><code><a href="http://developer.android.com/reference/android/nfc/NdefRecord.html">NdefRecord</a></code>, delivered in an<br />
<code><a href="http://developer.android.com/reference/android/nfc/NdefMessage.html">NdefMessage</a></code>, which describes the type of data being shared and<br />
carries the data itself.</li>
</ul>
<p>NFC communication relies on wireless technology in the device hardware, so<br />
support for the platform&#8217;s NFC features on specific devices is determined by<br />
their manufacturers. To determine the NFC support on the current device,<br />
applications can call <code><a href="http://developer.android.com/reference/android/nfc/NfcAdapter.html#isEnabled%28%29">isEnabled()</a></code> to<br />
query the <code><a href="http://developer.android.com/reference/android/nfc/NfcAdapter.html">NfcAdapter</a></code>. The NFC API is always present,<br />
however, regardless of underlying hardware support.</p>
<p>To use the NFC API, applications must request permission from the user by<br />
declaring <code>&lt;uses-permission<br />
android:name="android.permission.NFC"&gt;</code> in their manifest files.</p>
<p>Additionally, developers can request filtering on Android Market, such that<br />
their applications are not discoverable to users whose devices do not support<br />
NFC. To request filtering, add<br />
<code>&lt;uses-feature android:name="android.hardware.nfc"<br />
android:required="true"&gt;</code> to the application&#8217;s manifest.</p>
<p class="note">To look at a sample application that uses the NFC API, see<br />
<a href="http://developer.android.com/resources/samples/NFCDemo/index.html">NFCDemo</a>.</p>
<h3 id="sensors">Gyroscope and other sensors</h3>
<p>Android 2.3 adds platform and API support for several new sensor reading<br />
types — gyroscope, rotation vector, linear acceleration, gravity, and barometer.<br />
Developers can use the new sensor readings to create applications that respond<br />
quickly and smoothly to precise changes in device position and motion. The<br />
Sensor API reports gyroscope and other sensor changes to interested<br />
applications, whether they are running on the application framework or in native<br />
code.</p>
<p>Note that the specific set of hardware sensors available on any given device<br />
varies at the discretion of the device manufacturer.</p>
<p>Developers can request filtering in Android Market, such that their<br />
applications are not discoverable to users whose devices do not offer a<br />
gyroscope sensor. To do so, add <code>&lt;uses-feature<br />
android:name="android.hardware.sensor.gyroscope"<br />
android:required="true"&gt;</code> to the application manifest.</p>
<p>For API details, see <code><a href="http://developer.android.com/reference/android/hardware/Sensor.html">Sensor</a></code>.</p>
<h3 id="cameras">Multiple cameras support</h3>
<p>Applications can now make use of any cameras that are available on a device,<br />
for either photo or video capture. The <code><a href="http://developer.android.com/reference/android/hardware/Camera.html">Camera</a></code> lets<br />
applications query for the number of cameras available and the unique<br />
characteristics of each.</p>
<ul>
<li>New <code><a href="http://developer.android.com/reference/android/hardware/Camera.CameraInfo.html">Camera.CameraInfo</a></code> class stores a camera&#8217;s<br />
positional characteristics (orientation, front-facing or back-facing).</li>
<li>New <code><a href="http://developer.android.com/reference/android/hardware/Camera.html#getNumberOfCameras%28%29">getNumberOfCameras()</a></code>, <code><a href="http://developer.android.com/reference/android/hardware/Camera.html#getCameraInfo%28int,%20android.hardware.Camera.CameraInfo%29">getCameraInfo()</a></code>, and<br />
<code><a href="http://developer.android.com/reference/android/hardware/Camera.html#getNumberOfCameras%28%29">getNumberOfCameras()</a></code> methods in the <code><a href="http://developer.android.com/reference/android/hardware/Camera.html">Camera</a></code> class let applications query for the cameras available<br />
and open the camera that they need.</li>
<li>New <code><a href="http://developer.android.com/reference/android/media/CamcorderProfile.html#get%28int%29">get()</a></code> method lets<br />
applications retrieve a <code><a href="http://developer.android.com/reference/android/media/CamcorderProfile.html">CamcorderProfile</a></code> for a specific camera.</li>
<li>New <code><a href="http://developer.android.com/reference/android/media/CameraProfile.html#getJpegEncodingQualityParameter%28int,%20int%29">getJpegEncodingQualityParameter()</a></code> lets applications obtain the still-image<br />
capture quality level for a specific camera.</li>
</ul>
<p class="note">To look at sample code for accessing a front-facing camera, see <a href="http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/CameraPreview.html">CameraPreview.java</a><br />
in the ApiDemos sample application.</p>
<p>The Camera API also adds:</p>
<ul>
<li>New parameters for cameras, including focus distance, focus mode, and<br />
preview fps maximum/minimum. New <code><a href="http://developer.android.com/reference/android/hardware/Camera.Parameters.html#getFocusDistances%28float[]%29">getFocusDistances()</a></code>, <code><a href="http://developer.android.com/reference/android/hardware/Camera.Parameters.html#getPreviewFpsRange%28int[]%29">getPreviewFpsRange()</a></code>, and <code><a href="http://developer.android.com/reference/android/hardware/Camera.Parameters.html#getSupportedPreviewFpsRange%28%29">getSupportedPreviewFpsRange()</a></code> for getting camera parameters, as well as <code><a href="http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFpsRange%28int,%20int%29">setPreviewFpsRange()</a></code> for setting preview framerate.</li>
</ul>
<h3 id="media">Mixable audio effects</h3>
<p>The platform&#8217;s media framework adds support for new per-track or global audio effects,<br />
including bass boost, headphone virtualization, equalization, and reverb.</p>
<ul>
<li>New <code><a href="http://developer.android.com/reference/android/media/audiofx/package-summary.html">android.media.audiofx</a></code> package provides the<br />
API to access audio effects.</li>
<li>New <code><a href="http://developer.android.com/reference/android/media/audiofx/AudioEffect.html">AudioEffect</a></code> is the  base class<br />
for controlling audio effects provided by the Android audio framework.</li>
<li>New audio session ID that lets an application associate a set of audio<br />
effects with an instance of <code><a href="http://developer.android.com/reference/android/media/AudioTrack.html">AudioTrack</a></code> or <code><a href="http://developer.android.com/reference/android/media/MediaPlayer.html">MediaPlayer</a></code>.</li>
<li>New <code><a href="http://developer.android.com/reference/android/media/AudioTrack.html#AudioTrack%28int,%20int,%20int,%20int,%20int,%20int,%20int%29">AudioTrack</a></code> class constructor that lets you create an <code><a href="http://developer.android.com/reference/android/media/AudioTrack.html">AudioTrack</a></code> with a specific session ID. New <code><a href="http://developer.android.com/reference/android/media/AudioTrack.html#attachAuxEffect%28int%29">attachAuxEffect()</a></code>, <code><a href="http://developer.android.com/reference/android/media/AudioTrack.html#getAudioSessionId%28%29">getAudioSessionId()</a></code>, and <code><a href="http://developer.android.com/reference/android/media/AudioTrack.html#setAuxEffectSendLevel%28float%29">setAuxEffectSendLevel()</a></code><br />
methods.</li>
<li>New <code><a href="http://developer.android.com/reference/android/media/MediaPlayer.html#attachAuxEffect%28int%29">attachAuxEffect()</a></code>, <code><a href="http://developer.android.com/reference/android/media/MediaPlayer.html#getAudioSessionId%28%29">getAudioSessionId()</a></code>, <code><a href="http://developer.android.com/reference/android/media/MediaPlayer.html#setAudioSessionId%28int%29">setAudioSessionId(int)</a></code>, and <code><a href="http://developer.android.com/reference/android/media/MediaPlayer.html#setAuxEffectSendLevel%28float%29">setAuxEffectSendLevel()</a></code><br />
methods and supporting types.</li>
</ul>
<p class="note">To look at sample code for audio effects, see<br />
<a href="http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/media/AudioFxDemo.html">AudioFxDemo.java</a><br />
in the ApiDemos sample application.</p>
<p>The media framework also adds:</p>
<ul>
<li>New support for altitude tag in EXIF metadata for JPEG files. New method<br />
<code><a href="http://developer.android.com/reference/android/media/ExifInterface.html#getAltitude%28double%29">getAltitude()</a></code> method to<br />
retrieve the value of the EXIF altitude tag.</li>
<li>New <code><a href="http://developer.android.com/reference/android/media/MediaRecorder.html#setOrientationHint%28int%29">setOrientationHint()</a></code> method lets an application tell <code><a href="http://developer.android.com/reference/android/media/MediaRecorder.html">MediaRecorder</a></code> of the orientation during video capture.</li>
</ul>
<h3 id="download">Download manager</h3>
<p>The platform includes a new <code><a href="http://developer.android.com/reference/android/app/DownloadManager.html">DownloadManager</a></code> system service<br />
that handles long-running HTTP downloads. Applications can request that a URI be<br />
downloaded to a particular destination file. The <code>DownloadManager</code><br />
will conduct the download in the background, taking care of HTTP interactions<br />
and retrying downloads after failures or across connectivity changes and system<br />
reboots.</p>
<ul>
<li>Applications can obtain an instance of the <code><a href="http://developer.android.com/reference/android/app/DownloadManager.html">DownloadManager</a></code><br />
class by calling <code><a href="http://developer.android.com/reference/android/content/Context.html#getSystemService%28java.lang.String%29">getSystemService(String)</a></code> and passing<br />
<code><a href="http://developer.android.com/reference/android/content/Context.html#DOWNLOAD_SERVICE">DOWNLOAD_SERVICE</a></code>. Applications that request<br />
downloads through this API should register a broadcast receiver for <code><a href="http://developer.android.com/reference/android/app/DownloadManager.html#ACTION_NOTIFICATION_CLICKED">ACTION_NOTIFICATION_CLICKED</a></code>, to appropriately<br />
handle when the user clicks on a running download in a notification or from the<br />
Downloads UI.</li>
<li>The <code><a href="http://developer.android.com/reference/android/app/DownloadManager.Request.html">DownloadManager.Request</a></code> class lets an<br />
application provide all the information necessary to request a new download,<br />
such as request URI and download destination. A request URI is the only required<br />
parameter. Note that the default download destination is a shared volume where<br />
the system can delete your file if it needs to reclaim space for system use. For<br />
persistent storage of a download, specify a download destination on external<br />
storage (see <code><a href="http://developer.android.com/reference/android/app/DownloadManager.Request.html#setDestinationUri%28android.net.Uri%29">setDestinationUri(Uri)</a></code>).</li>
<li>The <code><a href="http://developer.android.com/reference/android/app/DownloadManager.Query.html">DownloadManager.Query</a></code> class provides methods that let<br />
an application query for and filter active downloads.</li>
</ul>
<h3 id="strictmode">StrictMode</h3>
<p>To help developers monitor and improve the performance of their applications,<br />
the platform offers a new system facility called <code><a href="http://developer.android.com/reference/android/os/StrictMode.html">StrictMode</a></code>.<br />
When implemented in an application, StrictMode catches and notifies the<br />
developer of accidental disk or network activity that could degrade application<br />
performance, such as activity taking place on the application&#8217;s main thread<br />
(where UI operations are received and animations are also taking place).<br />
Developers can evaluate the network and disk usages issues raised in StrictMode<br />
and correct them if needed, keeping the main thread more responsive and<br />
preventing ANR dialogs from being shown to users.</p>
<ul>
<li><code><a href="http://developer.android.com/reference/android/os/StrictMode.html">StrictMode</a></code> is the core class and is the main integration<br />
point with the system and VM. The class provides convenience methods for<br />
managing the thread and VM policies that apply to the instance.</li>
<li><code><a href="http://developer.android.com/reference/android/os/StrictMode.ThreadPolicy.html">StrictMode.ThreadPolicy</a></code> and <code><a href="http://developer.android.com/reference/android/os/StrictMode.VmPolicy.html">StrictMode.VmPolicy</a></code> hold the policies that you define and apply to<br />
thread and VM instances.</li>
</ul>
<p>For more information about how to use StrictMode to optimize your<br />
application, see the class documentation and sample code at <code><a href="http://developer.android.com/reference/android/os/StrictMode.html">android.os.StrictMode</a></code>.</p>
<h3 id="ui">UI Framework</h3>
<ul>
<li>Support for overscroll
<ul>
<li>New support for overscroll in Views and Widgets. In Views, applications can<br />
enable/disable overscroll for a given view, set the overscoll mode, control the<br />
overscroll distance, and handle the results of overscrolling.</li>
<li>In Widgets, applications can control overscroll characteristics such as<br />
animation, springback, and overscroll distance. For more information, see <code><a href="http://developer.android.com/reference/android/view/View.html">android.view.View</a></code> and <code><a href="http://developer.android.com/reference/android/widget/OverScroller.html">android.widget.OverScroller</a></code>.</li>
<li><code><a href="http://developer.android.com/reference/android/view/ViewConfiguration.html">ViewConfiguration</a></code> also provides methods <code><a href="http://developer.android.com/reference/android/view/ViewConfiguration.html#getScaledOverflingDistance%28%29">getScaledOverflingDistance()</a></code> and <code><a href="http://developer.android.com/reference/android/view/ViewConfiguration.html#getScaledOverscrollDistance%28%29">getScaledOverscrollDistance()</a></code>.</li>
<li>New <code>overScrollMode</code>, <code>overScrollFooter</code>, and<br />
<code>overScrollHeader</code> attributes for <code>&lt;ListView&gt;</code> elements,<br />
for controlling overscroll behavior.</li>
</ul>
</li>
<li>Support for touch filtering
<ul>
<li>New support for touch filtering, which lets an application improve the<br />
security of Views that provide access to sensitive functionality. For example,<br />
touch filtering is appropriate to ensure the security of user actions such as<br />
granting a permission request, making a purchase, or clicking on an<br />
advertisement. For details, see the <a href="http://developer.android.com/reference/android/view/View.html#Security">View class<br />
documentation</a>.</li>
<li>New <code>filterTouchesWhenObscured</code> attribute for view elements,<br />
which declares whether to filter touches when the view&#8217;s window is obscured by<br />
another visible window. When set to <code>"true"</code>, the view will not<br />
receive touches whenever a toast, dialog or other window appears above the<br />
view&#8217;s window. Refer to <a href="http://developer.android.com/reference/android/view/View.html#Security">View security<br />
documentation</a> for details.</li>
</ul>
<p class="note">To look at sample code for touch filtering, see<br />
<a href="http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/SecureView.html">SecureView.java</a><br />
in the ApiDemos sample application.</p>
</li>
<li>Improved event management
<ul>
<li>New base class for input events, <code><a href="http://developer.android.com/reference/android/view/InputEvent.html">InputEvent</a></code>. The class<br />
provides methods that let applications determine the meaning of the event, such<br />
as by querying for the InputDevice from which the event orginated. The <code><a href="http://developer.android.com/reference/android/view/KeyEvent.html">KeyEvent</a></code> and <code><a href="http://developer.android.com/reference/android/view/MotionEvent.html">MotionEvent</a></code> are subclasses of<br />
<code><a href="http://developer.android.com/reference/android/view/InputEvent.html">InputEvent</a></code>.</li>
<li>New base class for input devices, <code><a href="http://developer.android.com/reference/android/view/InputDevice.html">InputDevice</a></code>. The<br />
class stores information about the capabilities of a particular input device and<br />
provides methods that let applications determine how to interpret events from an<br />
input device.</li>
</ul>
</li>
<li>Improved motion events
<ul>
<li>The <code><a href="http://developer.android.com/reference/android/view/MotionEvent.html">MotionEvent</a></code> API is extended to include &#8220;pointer ID&#8221;<br />
information, which lets applications to keep track of individual fingers as they<br />
move up and down. The class adds a variety of methods that let an application<br />
work efficiently with motion events.</li>
<li>The input system now has logic to generate motion events with the new<br />
pointer ID information, synthesizing identifiers as new pointers are down. The<br />
system tracks multiple pointer IDs separately during a motion event, and<br />
ensures proper continuity of pointers by evaluating at the distance<br />
between the last and next set of pointers.</li>
</ul>
</li>
<li>Text selection controls
<ul>
<li>A new <code>setComposingRegion</code> method lets an application mark a<br />
region of text as composing text, maintaining the current styling. A<br />
<code>getSelectedText</code> method returns the selected text to the<br />
application. The methods are available in <code><a href="http://developer.android.com/reference/android/view/inputmethod/BaseInputConnection.html">BaseInputConnection</a></code>, <code><a href="http://developer.android.com/reference/android/view/inputmethod/InputConnection.html">InputConnection</a></code>, and <code><a href="http://developer.android.com/reference/android/view/inputmethod/InputConnectionWrapper.html">InputConnectionWrapper</a></code>.</li>
<li>New <code>textSelectHandle</code>, <code>textSelectHandleLeft</code>,<br />
<code>textSelectHandleRight</code>, and <code>textSelectHandleWindowStyle</code><br />
attributes for <code>&lt;TextView&gt;</code>, for referencing drawables that will be<br />
used to display text-selection anchors and the style for the containing<br />
window.</li>
</ul>
</li>
<li>Activity controls
<ul>
<li><code><a href="http://developer.android.com/reference/android/content/pm/ActivityInfo.html">ActivityInfo</a></code> adds new constants for managing<br />
Activity orientation:<br />
<code><a href="http://developer.android.com/reference/android/content/pm/ActivityInfo.html#SCREEN_ORIENTATION_FULL_SENSOR">SCREEN_ORIENTATION_FULL_SENSOR</a></code>,<br />
<code><a href="http://developer.android.com/reference/android/content/pm/ActivityInfo.html#SCREEN_ORIENTATION_REVERSE_LANDSCAPE">SCREEN_ORIENTATION_REVERSE_LANDSCAPE</a></code>,<br />
<code><a href="http://developer.android.com/reference/android/content/pm/ActivityInfo.html#SCREEN_ORIENTATION_REVERSE_PORTRAIT">SCREEN_ORIENTATION_REVERSE_PORTRAIT</a></code>,<br />
<code><a href="http://developer.android.com/reference/android/content/pm/ActivityInfo.html#SCREEN_ORIENTATION_SENSOR_LANDSCAPE">SCREEN_ORIENTATION_SENSOR_LANDSCAPE</a></code>,<br />
and<br />
<code><a href="http://developer.android.com/reference/android/content/pm/ActivityInfo.html#SCREEN_ORIENTATION_SENSOR_PORTRAIT">SCREEN_ORIENTATION_SENSOR_PORTRAIT</a></code>.</li>
<li>New constant <code><a href="http://developer.android.com/reference/android/app/ActivityManager.RunningAppProcessInfo.html#IMPORTANCE_PERCEPTIBLE">IMPORTANCE_PERCEPTIBLE</a></code> for<br />
the <code><a href="http://developer.android.com/reference/android/app/ActivityManager.RunningAppProcessInfo.html#importance">importance</a></code> field<br />
in <code><a href="http://developer.android.com/reference/android/app/ActivityManager.RunningAppProcessInfo.html">ActivityManager.RunningAppProcessInfo</a></code>. The value<br />
indicates that a specific process is running something that is considered to be<br />
actively perceptible to the user. An example would be an application performing<br />
background music playback.</li>
<li>The <code><a href="http://developer.android.com/reference/android/app/Activity.html#setPersistent%28boolean%29">setPersistent(boolean)</a></code> method to mark an<br />
Activity as persistent is now deprecated and the implementation is a no-op.</li>
</ul>
</li>
<li>Notification text and icon styles
<ul>
<li>New <code><a href="http://developer.android.com/reference/android/R.style.html#TextAppearance_StatusBar_EventContent">TextAppearance.StatusBar.EventContent</a></code>,<br />
<code><a href="http://developer.android.com/reference/android/R.style.html#TextAppearance_StatusBar_EventContent_Title">TextAppearance.StatusBar.EventContent.Title</a></code>,<br />
<code><a href="http://developer.android.com/reference/android/R.style.html#TextAppearance_StatusBar_Icon">TextAppearance.StatusBar.Icon</a></code>, and<br />
<code><a href="http://developer.android.com/reference/android/R.style.html#TextAppearance_StatusBar_Title">TextAppearance.StatusBar.Title</a></code> for managing<br />
notification style.</li>
</ul>
</li>
<li>WebView
<ul>
<li>New <code><a href="http://developer.android.com/reference/android/webkit/WebSettings.html#setUseWebViewBackgroundForOverscrollBackground%28boolean%29">setUseWebViewBackgroundForOverscrollBackground()</a></code> method lets a <code><a href="http://developer.android.com/reference/android/webkit/WebView.html">WebView</a></code> specify whether to use its own background for the<br />
overscroll background.</li>
</ul>
</li>
</ul>
<h3 id="extralargescreens">Extra Large Screens</h3>
<p>The platform now supports extra large screen sizes, such as those that might<br />
be found on tablet devices. Developers can indicate that their applications are<br />
designed to support extra large screen sizes by adding a <code>&lt;supports<br />
screens ... android:xlargeScreens="true"&gt;</code> element to their manifest<br />
files. Applications can use a new resource qualifier, <code>xlarge</code>, to<br />
tag resources that are specific to extra large screens. For<br />
details on how to support extra large and other screen sizes, see <a href="http://developer.android.com/guide/practices/screens_support.html">Supporting Multiple<br />
Screens</a>.</p>
<h3 id="graphics">Graphics</h3>
<ul>
<li>Adds remaining OpenGL ES 2.0 methods <code><a href="http://developer.android.com/reference/android/opengl/GLES20.html#glDrawElements%28int,%20int,%20int,%20int%29">glDrawElements()</a></code> and<br />
<code><a href="http://developer.android.com/reference/android/opengl/GLES20.html#glVertexAttribPointer%28int,%20int,%20int,%20boolean,%20int,%20int%29">glVertexAttribPointer()</a></code> in the <code><a href="http://developer.android.com/reference/android/opengl/GLES20.html">android.opengl.GLES20</a></code> class.</li>
<li>Adds support for <code><a href="http://developer.android.com/reference/android/graphics/ImageFormat.html#YV12">YV12</a></code> pixel format, a<br />
planar 4:2:0 YCrCb format.</li>
</ul>
<h3 id="providers">Content Providers</h3>
<ul>
<li>New <code><a href="http://developer.android.com/reference/android/provider/AlarmClock.html">AlarmClock</a></code> provider class for setting an alarm<br />
or handling an alarm. The provider contains a <code>ACTION_SET_ALARM</code> Intent<br />
action and extras that can be used to start an Activity to set a new alarm in an<br />
alarm clock application. Applications that wish to receive the<br />
<code>SET_ALARM</code> Intent should create an activity that requires the<br />
the SET_ALARM permission. Applications that wish to create a new<br />
alarm should use <code><a href="http://developer.android.com/reference/android/content/Context.html#startActivity%28android.content.Intent%29">Context.startActivity()</a></code>, so that the user has the option of choosing<br />
which alarm clock application to use.</li>
<li><code><a href="http://developer.android.com/reference/android/provider/MediaStore.html">MediaStore</a></code> supports a new Intent action, <code><a href="http://developer.android.com/reference/android/provider/MediaStore.html#INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH">PLAY_FROM_SEARCH</a></code>, that lets an application search for music media and<br />
automatically play content from the result when possible. For example, an<br />
application could fire this Intent as the result of a voice recognition command<br />
to listen to music.</li>
<li><code><a href="http://developer.android.com/reference/android/provider/MediaStore.html">MediaStore</a></code> also adds a new <code><a href="http://developer.android.com/reference/android/provider/MediaStore.html#MEDIA_IGNORE_FILENAME">MEDIA_IGNORE_FILENAME</a></code> flag that tells the media<br />
scanner to ignore media in the containing directory and its subdirectories.<br />
Developers can use this to avoid having graphics appear in the Gallery and<br />
likewise prevent application sounds and music from showing up in the Music<br />
app.</li>
<li>The <code><a href="http://developer.android.com/reference/android/provider/Settings.html">Settings</a></code> provider adds the new Activity actions<br />
<code><a href="http://developer.android.com/reference/android/provider/Settings.html#ACTION_APPLICATION_DETAILS_SETTINGS">APPLICATION_DETAILS_SETTINGS</a></code> and <code><a href="http://developer.android.com/reference/android/provider/Settings.html#ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS">MANAGE_ALL_APPLICATIONS_SETTINGS</a></code>, which let an application show the details<br />
screen for a specific application or show the Manage Applications screen.</li>
<li>The <code><a href="http://developer.android.com/reference/android/provider/ContactsContract.html">ContactsContract</a></code> provider adds the <code><a href="http://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.SipAddress.html">ContactsContract.CommonDataKinds.SipAddress</a></code> data kind, for<br />
storing a contact&#8217;s SIP (Internet telephony) address.</li>
</ul>
<h3 id="location">Location</h3>
<ul>
<li>The <code><a href="http://developer.android.com/reference/android/location/LocationManager.html">LocationManager</a></code> now tracks application<br />
requests that result in wake locks or wifi locks according to<br />
<code><a href="http://developer.android.com/reference/android/os/WorkSource.html">WorkSource</a></code>, a system-managed class that identifies the<br />
application.</p>
<p>The <code>LocationManager</code> keeps track<br />
of all clients requesting periodic updates, and tells its providers<br />
about them as a <code>WorkSource</code> parameter, when setting their minimum<br />
update times.<br />
The network location provider uses <code>WorkSource</code> to track the<br />
wake and wifi locks initiated by an application and adds it to the application&#8217;s<br />
battery usage reported in Manage Applications.</li>
<li>The <code><a href="http://developer.android.com/reference/android/location/LocationManager.html">LocationManager</a></code> adds several new methods that<br />
let an Activity register to receive periodic or one-time location updates based<br />
on specified criteria (see below).</li>
<li>A new  <code><a href="http://developer.android.com/reference/android/location/Criteria.html">Criteria</a></code> class lets an application specify a<br />
set of criteria for selecting a location provider. For example, providers may be<br />
ordered according to accuracy, power usage, ability to report altitude, speed,<br />
and bearing, and monetary cost.</li>
</ul>
<h3 id="storage">Storage</h3>
<ul>
<li>Android 2.3 adds a new <code><a href="http://developer.android.com/reference/android/os/storage/StorageManager.html">StorageManager</a></code> that<br />
supports OBB (Opaque Binary Blob) files. Although platform support for OBB is<br />
available in Android 2.3, development tools for creating and managing OBB files<br />
will not be availble until early 2011.</li>
<li>The Android 2.3 platform adds official support for devices that do not<br />
include SD cards (although it provides virtual SD Card partition, when no<br />
physical SD card is available). A convenience method, <code><a href="http://developer.android.com/reference/android/os/Environment.html#isExternalStorageRemovable%28%29">isExternalStorageRemovable()</a></code>, lets applications<br />
determine whether a physical SD card is present.</li>
</ul>
<h3 id="packagemanager">Package Manager</h3>
<ul>
<li>New constants for declaring hardware and software features. See the list in<br />
the <a href="#feature_constants">New Feature Constants</a> section, below.</li>
<li><code><a href="http://developer.android.com/reference/android/content/pm/PackageInfo.html">PackageInfo</a></code> adds new <code><a href="http://developer.android.com/reference/android/content/pm/PackageInfo.html#firstInstallTime">firstInstallTime</a></code> and <code><a href="http://developer.android.com/reference/android/content/pm/PackageInfo.html#lastUpdateTime">lastUpdateTime</a></code> fields that store the time of the<br />
package installation and last update.</li>
<li>New <code><a href="http://developer.android.com/reference/android/content/pm/PackageManager.html#getProviderInfo%28android.content.ComponentName,%20int%29">getProviderInfo()</a></code> method for retrieving all of the information known about<br />
a particular content provider class.</li>
</ul>
<h3 id="telephony">Telephony</h3>
<ul>
<li>The <code><a href="http://developer.android.com/reference/android/telephony/TelephonyManager.html">TelephonyManager</a></code> adds the constant <code><a href="http://developer.android.com/reference/android/telephony/TelephonyManager.html#NETWORK_TYPE_EVDO_B">NETWORK_TYPE_EVDO_B</a></code> for specifying the CDMA<br />
EVDO Rev B network type.</li>
<li>New <code><a href="http://developer.android.com/reference/android/telephony/gsm/GsmCellLocation.html#getPsc%28%29">getPsc()</a></code> method returns<br />
the primary scrambling code of the serving cell on a UMTS network.</li>
</ul>
<h3 id="native">Native access to Activity lifecycle, windows</h3>
<p>Android 2.3 exposes a broad set of APIs to applications that use native<br />
code. Framework classes of interest to such applications include:</p>
<ul>
<li><code><a href="http://developer.android.com/reference/android/app/NativeActivity.html">NativeActivity</a></code> is a new type of Activity class, whose<br />
lifecycle callbacks are implemented directly in native code. A<br />
<code>NativeActivity</code> and its underlying native code run in the system<br />
just as do other Activities — specifically they run in the Android<br />
application&#8217;s system process and execute on the application&#8217;s main UI thread,<br />
and they receive the same lifecycle callbacks as do other Activities.</li>
<li>New <code><a href="http://developer.android.com/reference/android/view/InputQueue.html">InputQueue</a></code> class and callback interface lets native<br />
code manage event queueing.</li>
<li>New <code><a href="http://developer.android.com/reference/android/view/SurfaceHolder.Callback2.html">SurfaceHolder.Callback2</a></code> interface lets native code<br />
manage a <code><a href="http://developer.android.com/reference/android/view/SurfaceHolder.html">SurfaceHolder</a></code>.</li>
<li>New <code><a href="http://developer.android.com/reference/android/view/Window.html#takeInputQueue%28android.view.InputQueue.Callback%29">takeInputQueue</a></code> and <code><a href="http://developer.android.com/reference/android/view/Window.html#takeSurface%28android.view.SurfaceHolder.Callback2%29">takeSurface()</a></code> methods in <code><a href="http://developer.android.com/reference/android/view/Window.html">Window</a></code> let native code manage<br />
events and surfaces.</li>
</ul>
<p>For full information on working with native code or to download the NDK,<br />
see the <a href="http://developer.android.com/sdk/ndk/index.html">Android NDK</a> page.</p>
<h3 id="dalvik">Dalvik Runtime</h3>
<ul>
<li><code><a href="http://developer.android.com/reference/dalvik/system/package-summary.html">dalvik.system</a></code><br />
removes several classes that were previously deprecated.</li>
<li>Dalvik core libraries:
<ul>
<li>New collections: <code><a href="http://developer.android.com/reference/java/util/ArrayDeque.html">ArrayDeque</a></code>, <code><a href="http://developer.android.com/reference/java/util/NavigableMap.html">NavigableMap</a></code>,<br />
<code><a href="http://developer.android.com/reference/java/util/concurrent/ConcurrentSkipListMap.html">ConcurrentSkipListMap</a></code>,<br />
<code><a href="http://developer.android.com/reference/java/util/concurrent/LinkedBlockingDeque.html">LinkedBlockingDeque</a></code></li>
<li>New <code><a href="http://developer.android.com/reference/java/util/Arrays.html">Arrays</a></code> utilities: <code>binarySearch()</code>,<br />
<code>copyOf()</code>, <code>copyOfRange()</code>, and others.</li>
<li><code><a href="http://developer.android.com/reference/java/net/CookieManager.html">CookieManager</a></code> for <code><a href="http://developer.android.com/reference/java/net/HttpURLConnection.html">HttpURLConnection</a></code>.</li>
<li>More complete network APIs: <code><a href="http://developer.android.com/reference/java/net/InterfaceAddress.html">InterfaceAddress</a></code>,<br />
<code><a href="http://developer.android.com/reference/java/net/NetworkInterface.html">NetworkInterface</a></code> and <code><a href="http://developer.android.com/reference/java/net/IDN.html">IDN</a></code></li>
<li><code><a href="http://developer.android.com/reference/java/io/File.html">File</a></code> read and write controls</li>
<li><code><a href="http://developer.android.com/reference/java/lang/String.html#isEmpty%28%29">String.isEmpty()</a></code></li>
<li><code><a href="http://developer.android.com/reference/java/text/Normalizer.html">Normalizer</a></code> and <code><a href="http://developer.android.com/reference/java/text/Normalizer.Form.html">Normalizer.Form</a></code></li>
<li>Improved <code><a href="http://developer.android.com/reference/javax/net/ssl/package-summary.html">javax.net.ssl</a></code> server sockets.</li>
</ul>
</li>
</ul>
<h3 id="manifest">New manifest elements and attributes</h3>
<ul>
<li>New <code>xlargeScreens</code> attribute for <a href="http://developer.android.com/guide/topics/manifest/supports-screens.html"><code>&lt;supports-screens&gt;</code></a><br />
element, to indicate whether the application supports<br />
extra large screen form-factors. For details, see <a href="http://developer.android.com/guide/practices/screens_support.html">Supporting Multiple<br />
Screens</a>.</li>
<li>New values for <code>android:screenOrientation</code> attribute of<br />
<code>&lt;activity&gt;</code> element:</p>
<ul>
<li><code>"reverseLandscape"</code> — The Activity would like to have the<br />
screen in landscape orientation, turned in the opposite direction from normal<br />
landscape.</li>
<li><code>"reversePortait"</code> — The Activity would like to have the<br />
screen in portrait orientation, turned in the opposite direction from normal<br />
portrait.</li>
<li><code>"sensorLandscape"</code> — The Activity would like to have the<br />
screen in landscape orientation, but can use the sensor to change which<br />
direction the screen is facing.</li>
<li><code>"sensorPortrait"</code> — The Activity would like to have the<br />
screen in portrait orientation, but can use the sensor to change which direction<br />
the screen is facing.</li>
<li><code>"fullSensor"</code> — Orientation is determined by a physical<br />
orientation sensor: the display will rotate based on how the user moves the<br />
device. This allows any of the 4 possible rotations, regardless of what the<br />
device will normally do (for example some devices won&#8217;t normally use 180 degree<br />
rotation).</li>
</ul>
</li>
</ul>
<h3 id="permissions">New Permissions</h3>
<ul>
<li><code>com.android.permission.SET_ALARM</code> — Allows an application<br />
to broadcast an Intent to set an alarm for the user. An Activity that handles<br />
the <code><a href="http://developer.android.com/reference/android/provider/AlarmClock.html#ACTION_SET_ALARM">SET_ALARM</a></code> Intent action<br />
should require this permission.</li>
<li><code>android.permission.USE_SIP</code> — Allows an application to use<br />
the <code><a href="http://developer.android.com/reference/android/net/sip/package-summary.html">SIP API</a></code> to make or receive internet calls.</li>
<li><code>android.permission.NFC</code> — Allows an application to use the<br />
<code><a href="http://developer.android.com/reference/android/nfc/package-summary.html">NFC API</a></code> to make or receive internet calls.</li>
</ul>
<h3 id="feature_constants">New Feature Constants</h3>
<p>The platform adds several new hardware features that developers can declare<br />
in their application manifests as being required by their applications. This<br />
lets developers control how their application is filtered, when published on<br />
Android Market.</p>
<ul>
<li><code><a href="http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_AUDIO_LOW_LATENCY">android.hardware.audio.low_latency</a></code> — The application uses a low-latency<br />
audio pipeline on the device and is sensitive to delays or lag in sound input or<br />
output.</li>
<li><code><a href="http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_CAMERA_FRONT">android.hardware.camera.front</a></code> — The application uses a front-facing<br />
camera on the device.</li>
<li><code><a href="http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_NFC">android.hardware.nfc</a></code><br />
— The application uses NFC radio features in the device.</li>
<li><code><a href="http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_SENSOR_BAROMETER">android.hardware.sensor.barometer</a></code> — The application uses the device&#8217;s<br />
barometer.</li>
<li><code><a href="http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_SENSOR_GYROSCOPE">android.hardware.sensor.gyroscope</a></code> — The application uses the device&#8217;s<br />
gyroscope sensor.</li>
<li><code><a href="http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_SIP">android.software.sip</a></code><br />
— The application uses the SIP API on the device.</li>
<li><code><a href="http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_SIP_VOIP">android.software.sip.voip</a></code> — The application uses a SIP-based VOIP<br />
service on the device.</li>
<li><code><a href="http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND">android.hardware.touchscreen.multitouch.jazzhand</a></code> — The application uses<br />
advanced multipoint multitouch capabilities on the device screen, for tracking<br />
up to five points fully independently.</li>
</ul>
<p>For full information about how to declare features and use them for<br />
filtering, see the documentation for <a href="http://developer.android.com/guide/topics/manifest/uses-feature-element.html"><code>&lt;uses-feature&gt;</code></a>.</p>
<h3 id="api-diff">API differences report</h3>
<p>For a detailed view of all API changes in Android 2.3 (API<br />
Level 9), see the <a href="http://developer.android.com/sdk/api_diff/9/changes.html">API<br />
Differences Report</a>.</p>
<h2 id="api-level">API Level</h2>
<p>The Android 2.3 platform delivers an updated version of<br />
the framework API. The Android 2.3 API<br />
is assigned an integer identifier —<br />
<strong>9</strong> — that is<br />
stored in the system itself. This identifier, called the &#8220;API Level&#8221;, allows the<br />
system to correctly determine whether an application is compatible with<br />
the system, prior to installing the application.</p>
<p>To use APIs introduced in Android 2.3 in your application,<br />
you need compile the application against the Android library that is provided in<br />
the Android 2.3 SDK platform. Depending on your needs, you might<br />
also need to add an <code>android:minSdkVersion="9"</code><br />
attribute to the <code>&lt;uses-sdk&gt;</code> element in the application&#8217;s<br />
manifest. If your application is designed to run only on Android 2.3 and higher,<br />
declaring the attribute prevents the application from being installed on earlier<br />
versions of the platform.</p>
<p>For more information about how to use API Level, see the <a href="http://developer.android.com/guide/appendix/api-levels.html">API Levels</a> document.</p>
<h2 id="apps">Built-in Applications</h2>
<p>The system image included in the downloadable platform provides these<br />
built-in applications:</p>
<table style="border: 0 none; padding-bottom: 0; margin-bottom: 0;">
<tbody>
<tr>
<td style="border: 0 none; padding-bottom: 0; margin-bottom: 0;">
<ul>
<li>Browser</li>
<li>Calculator</li>
<li>Camera</li>
<li>Clock</li>
<li>Contacts</li>
<li>Cusom Locale</li>
<li>Dev Tools</li>
<li>Downloads</li>
<li>Email</li>
</ul>
</td>
<td style="border: 0 none; padding-bottom: 0; margin-bottom: 0; padding-left: 5em;">
<ul>
<li>Gallery</li>
<li>IMEs for Japanese, Chinese, and Latin text input</li>
<li>Messaging</li>
<li>Music</li>
<li>Phone</li>
<li>Search</li>
<li>Settings</li>
<li>Spare Parts (developer app)</li>
<li>Speech Recorder</li>
</ul>
</td>
</tr>
</tbody>
</table>
<h2 id="locs" style="margin-top: .75em;">Locales</h2>
<p>The system image included in the downloadable SDK platform provides a variety of<br />
built-in locales. In some cases, region-specific strings are available for the<br />
locales. In other cases, a default version of the language is used. The<br />
languages that are available in the Android 2.3 system<br />
image are listed below (with <em>language</em>_<em>country/region</em> locale<br />
descriptor).</p>
<table style="border: 0 none; padding-bottom: 0; margin-bottom: 0;">
<tbody>
<tr>
<td style="border: 0 none; padding-bottom: 0; margin-bottom: 0;">
<ul>
<li>Arabic, Egypt (ar_EG)</li>
<li>Arabic, Israel (ar_IL)</li>
<li>Bulgarian, Bulgaria (bg_BG)</li>
<li>Catalan, Spain (ca_ES)</li>
<li>Czech, Czech Republic (cs_CZ)</li>
<li>Danish, Denmark(da_DK)</li>
<li>German, Austria (de_AT)</li>
<li>German, Switzerland (de_CH)</li>
<li>German, Germany (de_DE)</li>
<li>German, Liechtenstein (de_LI)</li>
<li>Greek, Greece (el_GR)</li>
<li>English, Australia (en_AU)</li>
<li>English, Canada (en_CA)</li>
<li>English, Britain (en_GB)</li>
<li>English, Ireland (en_IE)</li>
<li>English, India (en_IN)</li>
<li>English, New Zealand (en_NZ)</li>
<li>English, Singapore(en_SG)</li>
<li>English, US (en_US)</li>
<li>English, Zimbabwe (en_ZA)</li>
<li>Spanish (es_ES)</li>
<li>Spanish, US (es_US)</li>
<li>Finnish, Finland (fi_FI)</li>
<li>French, Belgium (fr_BE)</li>
<li>French, Canada (fr_CA)</li>
<li>French, Switzerland (fr_CH)</li>
<li>French, France (fr_FR)</li>
<li>Hebrew, Israel (he_IL)</li>
<li>Hindi, India (hi_IN)</li>
</ul>
</td>
<td style="border: 0 none; padding-bottom: 0; margin-bottom: 0; padding-left: 5em;">
<li>Croatian, Croatia (hr_HR)</li>
<li>Hungarian, Hungary (hu_HU)</li>
<li>Indonesian, Indonesia (id_ID)</li>
<li>Italian, Switzerland (it_CH)</li>
<li>Italian, Italy (it_IT)</li>
<li>Japanese (ja_JP)</li>
<li>Korean (ko_KR)</li>
<li>Lithuanian, Lithuania (lt_LT)</li>
<li>Latvian, Latvia (lv_LV)</li>
<li>Norwegian-Bokmol, Norway(nb_NO)</li>
<li>Dutch, Belgium (nl_BE)</li>
<li>Dutch, Netherlands (nl_NL)</li>
<li>Polish (pl_PL)</li>
<li>Portuguese, Brazil (pt_BR)</li>
<li>Portuguese, Portugal (pt_PT)</li>
<li>Romanian, Romania (ro_RO)</li>
<li>Russian (ru_RU)</li>
<li>Slovak, Slovakia (sk_SK)</li>
<li>Slovenian, Slovenia (sl_SI)</li>
<li>Serbian (sr_RS)</li>
<li>Swedish, Sweden (sv_SE)</li>
<li>Thai, Thailand (th_TH)</li>
<li>Tagalog, Philippines (tl_PH)</li>
<li>Turkish, Turkey (tr_TR)</li>
<li>Ukrainian, Ukraine (uk_UA)</li>
<li>Vietnamese, Vietnam (vi_VN)</li>
<li>Chinese, PRC (zh_CN)</li>
<li>Chinese, Taiwan (zh_TW)</li>
</td>
</tr>
</tbody>
</table>
<p class="note"><strong>Note:</strong> The Android platform may support more<br />
locales than are included in the SDK system image. All of the supported locales<br />
are available in the <a href="http://source.android.com/">Android Open Source<br />
Project</a>.</p>
<h2 id="skins">Emulator Skins</h2>
<p>The downloadable platform includes a set of emulator skins that you can use<br />
for modeling your application in different screen sizes and resolutions. The<br />
emulator skins are:</p>
<ul>
<li> QVGA (240&#215;320, low density, small screen)</li>
<li> WQVGA400 (240&#215;400, low density, normal screen)</li>
<li> WQVGA432 (240&#215;432, low density, normal screen)</li>
<li> HVGA (320&#215;480, medium density, normal screen)</li>
<li> WVGA800 (480&#215;800, high density, normal screen)</li>
<li> WVGA854 (480&#215;854 high density, normal screen)</li>
</ul>
<p>For more information about how to develop an application that displays<br />
and functions properly on all Android-powered devices, see <a href="http://developer.android.com/guide/practices/screens_support.html">Supporting Multiple<br />
Screens</a>.</p>
</pre>]]></content:encoded>
			<wfw:commentRss>http://blog.fltlab.net/index.php/2010/12/07/android-2-3-platform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exploro 1.0 released</title>
		<link>http://blog.fltlab.net/index.php/2010/11/06/exploro-1-0-released/</link>
		<comments>http://blog.fltlab.net/index.php/2010/11/06/exploro-1-0-released/#comments</comments>
		<pubDate>Sat, 06 Nov 2010 23:47:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[are you curious?]]></category>
		<category><![CDATA[exploro]]></category>
		<category><![CDATA[fltlab]]></category>
		<category><![CDATA[rps consulting]]></category>

		<guid isPermaLink="false">http://blog.fltlab.net/?p=353</guid>
		<description><![CDATA[Finally, after waiting some months the Exploro project meets the web, today the first step is online now you can download the app direct to your Android mobile device and surf the web reading about this project&#8230; read more on http://www.exploro.it or download the app directlty from this link]]></description>
			<content:encoded><![CDATA[<pre><p><a href="http://blog.fltlab.net/wp-content/uploads/2010/11/icona-72.png"><img class="alignleft size-full wp-image-354" title="icona-72" src="http://blog.fltlab.net/wp-content/uploads/2010/11/icona-72.png" alt="" width="72" height="72" /></a>Finally, after waiting some months the Exploro project meets the web, today the first step is online now you can download the app direct to your Android mobile device and surf the web reading about this project&#8230; read more on<a title="exploro.it" href=" http://www.exploro.it"> http://www.exploro.it</a> or download the app directlty from this link <a href="http://www.appbrain.com/app/exploro/fltlab.exploro"><img class="alignright" src="http://chart.apis.google.com/chart?cht=qr&amp;chs=150x150&amp;chl=http://www.appbrain.com/app/fltlab.exploro?install=web" alt="exploro" /></a></p>
</pre>]]></content:encoded>
			<wfw:commentRss>http://blog.fltlab.net/index.php/2010/11/06/exploro-1-0-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Skype for Android &#8211; first impressions</title>
		<link>http://blog.fltlab.net/index.php/2010/10/17/skype-for-android-first-impressions/</link>
		<comments>http://blog.fltlab.net/index.php/2010/10/17/skype-for-android-first-impressions/#comments</comments>
		<pubDate>Sun, 17 Oct 2010 01:08:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[are you curious?]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[market]]></category>
		<category><![CDATA[marketplace]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[skype]]></category>

		<guid isPermaLink="false">http://blog.fltlab.net/?p=346</guid>
		<description><![CDATA[It&#8217;s free, needs Android 2.1 or higher, is in the Marketplace and you might as well give it a go. This new restyle is very friendly and intuitive, if you need to do something (except receie or share file) is possible; during a call the voice quality is very good and if you have a [...]]]></description>
			<content:encoded><![CDATA[<pre><p><img class="alignright" title="Skype meets Android" src="http://www.tuttoandroid.net/wp-content/uploads/2010/03/android_skype.png" alt="Skype meets Android" width="150" /><br />
It&#8217;s free, needs Android 2.1 or higher, is in the Marketplace and you might as well give it a go.</p>
<p>This new restyle is very friendly and intuitive, if you need to do something (except receie or share file) is possible; during a call the voice quality is very good and if you have a good mobile connection you can make very good call over the network.</p>
<p>there are only some little problem with the login or with some strange error, but we hope that in the next upgrade they were solved!</p>
<p>At the end, the app is very good and useful, there are  some little problem, but this is a first release..and i think that the next coming soon!</p>
<p>Download and try it, to make your impression and post here what do you think!</p>
</pre>]]></content:encoded>
			<wfw:commentRss>http://blog.fltlab.net/index.php/2010/10/17/skype-for-android-first-impressions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

