<?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>Alt innen Web - Cryztal.NET</title>
	<atom:link href="http://www.altinnenweb.no/feed" rel="self" type="application/rss+xml" />
	<link>http://www.altinnenweb.no</link>
	<description>Alt innen webdesign og webutvikling</description>
	<lastBuildDate>Mon, 20 Feb 2012 00:50:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>10 Billion Android Market Downloads and Counting</title>
		<link>http://www.altinnenweb.no/10-billion-android-market-downloads-and-counting/id-849</link>
		<comments>http://www.altinnenweb.no/10-billion-android-market-downloads-and-counting/id-849#comments</comments>
		<pubDate>Mon, 20 Feb 2012 00:50:52 +0000</pubDate>
		<dc:creator>Cryztal.NET</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[billion]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[fieldrunners]]></category>
		<category><![CDATA[great]]></category>
		<category><![CDATA[market]]></category>
		<category><![CDATA[milestone]]></category>
		<category><![CDATA[paper]]></category>
		<category><![CDATA[sketchbook]]></category>
		<category><![CDATA[today]]></category>

		<guid isPermaLink="false">http://www.altinnenweb.no/10-billion-android-market-downloads-and-counting/id-849</guid>
		<description><![CDATA[ [This post is by Eric Chu, Android Developer Ecosystem. —Dirk Dougherty] One billion is a pretty big number by any measurement. However, when it’s describing the speed at which something is growing, it’s simply amazing]]></description>
			<content:encoded><![CDATA[<p>
<span>[This post is by Eric Chu, Android Developer Ecosystem. —Dirk Dougherty]</span></p>
<div><a href="http://1.bp.blogspot.com/-ruWPqJXWqZY/Tt5SbJxav-I/AAAAAAAAIxE/m18t_RaOJLk/s1600/10B_shafton.png" imageanchor="1"><img border="0" height="50" src="http://1.bp.blogspot.com/-ruWPqJXWqZY/Tt5SbJxav-I/AAAAAAAAIxE/m18t_RaOJLk/s400/10B_shafton.png" width="400" /></a></div>
<p>
One billion is a pretty big number by any measurement. However, when it’s describing the <i>speed</i> at which something is growing, it’s simply amazing. This past weekend, thanks to Android users around the world, <a href="https://market.android.com/apps">Android Market</a> exceeded 10 billion app downloads—with a growth rate of one billion app downloads <b>per month</b>.  We can’t wait to see where this accelerating growth takes us in 2012.</p>
<div><a href="http://3.bp.blogspot.com/-2Trw6XxAZMY/Tt5SOyqUwkI/AAAAAAAAIw8/Pl1v7EdRpCE/s1600/graph_only_3.jpg" imageanchor="1"><img border="0" src="http://3.bp.blogspot.com/-2Trw6XxAZMY/Tt5SOyqUwkI/AAAAAAAAIw8/Pl1v7EdRpCE/s500/graph_only_3.jpg" width="500" /></a></div>
<p>
To celebrate this milestone, we partnered with some of the Android developers who contributed to this milestone to make a bunch of great Android apps available at an amazing price.  Starting today for the next 10 days, we’ll have a new set of awesome apps available each day for only <b>10 cents each</b>.  Today, we are starting with <a href="https://market.android.com/details?id=com.gameloft.android.ANMP.GloftA6HP">Asphalt 6 HD</a>, <a href="https://market.android.com/details?id=tipitap.coloring.phones">Color &#038; Draw for Kids</a>, <a href="https://market.android.com/details?id=com.endomondo.android.pro">Endomondo Sports Tracker Pro</a>, <a href="https://market.android.com/details?id=com.subatomicstudios">Fieldrunners HD</a>, <a href="https://market.android.com/details?id=com.rubicon.dev.glwg">Great Little War Game</a>, <a href="https://market.android.com/details?id=com.mojang.minecraftpe">Minecraft</a>, <a href="https://market.android.com/details?id=com.dama.papercamera">Paper Camera</a>, <a href="https://market.android.com/details?id=com.sketchbook">Sketchbook Mobile</a>, <a href="https://market.android.com/details?id=com.melodis.midomiMusicIdentifier">Soundhound Infinity</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.altinnenweb.no/10-billion-android-market-downloads-and-counting/id-849/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Closer Look at 10 Billion Downloads</title>
		<link>http://www.altinnenweb.no/a-closer-look-at-10-billion-downloads/id-848</link>
		<comments>http://www.altinnenweb.no/a-closer-look-at-10-billion-downloads/id-848#comments</comments>
		<pubDate>Sun, 19 Feb 2012 23:47:50 +0000</pubDate>
		<dc:creator>Web</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[celebrate]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[deep]]></category>
		<category><![CDATA[dive]]></category>
		<category><![CDATA[downloads]]></category>
		<category><![CDATA[left]]></category>
		<category><![CDATA[number]]></category>
		<category><![CDATA[package]]></category>
		<category><![CDATA[promoted]]></category>
		<category><![CDATA[remember]]></category>
		<category><![CDATA[tickets]]></category>
		<category><![CDATA[year]]></category>

		<guid isPermaLink="false">http://www.altinnenweb.no/a-closer-look-at-10-billion-downloads/id-848</guid>
		<description><![CDATA[ [This post is by Eric Chu, Android Developer Ecosystem. —Dirk Dougherty] On Tuesday, we announced that Android Market passed 10 Billion app downloads . We wanted to look a little deeper at that huge number]]></description>
			<content:encoded><![CDATA[<p>
<span>[This post is by Eric Chu, Android Developer Ecosystem. —Dirk Dougherty]</span></p>
<p>On Tuesday, we announced that Android Market passed <a href="http://googleblog.blogspot.com/2011/12/10-billion-android-market-downloads-and.html">10 Billion app downloads</a>.  We wanted to look a little deeper at that huge number.  First question: which app was lucky number 10 billion?  <a href="https://market.android.com/details?id=com.photobucket.android">Photobucket Mobile</a>.  They’ll be getting a great prize package, including tickets to next year’s Google I/O developer conference. </p>
<p>Remember we still have 8 days left to celebrate 10 billion downloads with <a href="https://market.android.com/details?id=apps_timed_promotion&#038;feature=banner#?t=W251bGwsMSwyLDIwMSwibnVsbC10b3BfZmVhdHVyZWRfYXBwc19VU19fMV9wcm9tb18xMzIzMzYzMDMyNDc5Il0.">10-cent apps on Android Market</a>.  You can follow which apps are promoted each day on <a href="https://plus.google.com/104629412415657030658/posts">+Android</a>, our Google+ page.</p>
<p>Here’s a graphical deep dive into 10 billion downloads&#8230;</p>
<div><a href="http://2.bp.blogspot.com/-1Z-9dpBor4U/TuD56U9KBPI/AAAAAAAAAJI/iPjRoIX3gwk/s1600/10B_2_lg.png" imageanchor="1"><img border="0" height="1875" width="500" src="http://4.bp.blogspot.com/-WEP0MluJEMg/TuD6CvX3g2I/AAAAAAAAAJU/kaKaccxPajE/s1600/10B_2_lg.png" /></a></div>
<p>
<div><img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/6755709643044947179-2341397490858895372?l=android-developers.blogspot.com" alt="" /></div>
<div>
<a href="http://feeds.feedburner.com/~ff/blogspot/hsDu?a=Kzcgiss31ho:aW7FSIR3ud8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/blogspot/hsDu?d=yIl2AUoC8zA" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/blogspot/hsDu?a=Kzcgiss31ho:aW7FSIR3ud8:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/blogspot/hsDu?i=Kzcgiss31ho:aW7FSIR3ud8:-BTjWOF_DHI" border="0"/></a>
</div>
<p><img src="http://feeds.feedburner.com/~r/blogspot/hsDu/~4/Kzcgiss31ho" height="1" width="1" /></p>
</p>
<p>Link: <a target="_blank" href="http://feedproxy.google.com/~r/blogspot/hsDu/~3/Kzcgiss31ho/closer-look-at-10-billion-downloads.html" title="A Closer Look at 10 Billion Downloads">A Closer Look at 10 Billion Downloads</a>
<p><a href="http://www.autoinsurancebid.com/" title="Auto Insurance Quotes">Auto Insurance Quotes</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.altinnenweb.no/a-closer-look-at-10-billion-downloads/id-848/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Add Voice Typing To Your IME</title>
		<link>http://www.altinnenweb.no/add-voice-typing-to-your-ime/id-847</link>
		<comments>http://www.altinnenweb.no/add-voice-typing-to-your-ime/id-847#comments</comments>
		<pubDate>Sun, 19 Feb 2012 22:57:16 +0000</pubDate>
		<dc:creator>Cryztal.NET</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[mbutton]]></category>
		<category><![CDATA[override]]></category>
		<category><![CDATA[public]]></category>
		<category><![CDATA[setvisibility]]></category>
		<category><![CDATA[super]]></category>
		<category><![CDATA[trigger]]></category>
		<category><![CDATA[typing]]></category>
		<category><![CDATA[view]]></category>
		<category><![CDATA[voice]]></category>
		<category><![CDATA[voicerecognitiontrigger]]></category>
		<category><![CDATA[void]]></category>

		<guid isPermaLink="false">http://www.altinnenweb.no/add-voice-typing-to-your-ime/id-847</guid>
		<description><![CDATA[ [This post is by Luca Zanolin, an Android engineer who works on voice typing.]]></description>
			<content:encoded><![CDATA[</p>
<p><i>[This post is by Luca Zanolin, an Android engineer who works on voice typing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.altinnenweb.no/add-voice-typing-to-your-ime/id-847/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More Android Games that Play Nice</title>
		<link>http://www.altinnenweb.no/more-android-games-that-play-nice/id-846</link>
		<comments>http://www.altinnenweb.no/more-android-games-that-play-nice/id-846#comments</comments>
		<pubDate>Sun, 19 Feb 2012 21:56:52 +0000</pubDate>
		<dc:creator>Web</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[accidentally]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[angry]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[back]]></category>
		<category><![CDATA[device]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[play]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[system]]></category>
		<category><![CDATA[user]]></category>
		<category><![CDATA[volume]]></category>
		<category><![CDATA[worse]]></category>

		<guid isPermaLink="false">http://www.altinnenweb.no/more-android-games-that-play-nice/id-846</guid>
		<description><![CDATA[ [This post is by Dan Galpin , who lives the Android Games lifestyle every day.]]></description>
			<content:encoded><![CDATA[<p><a href="http://4.bp.blogspot.com/-fixaHjPgkZo/Tukog-1pbjI/AAAAAAAAA_Q/iqVq-CVMxac/s1600/dan.png"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 185px; height: 228px;" src="http://4.bp.blogspot.com/-fixaHjPgkZo/Tukog-1pbjI/AAAAAAAAA_Q/iqVq-CVMxac/s400/dan.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5686120551620898354" /></a></p>
<p><i>[This post is by <a href="https://plus.google.com/105593270217665985575/posts">Dan Galpin</a>, who lives the Android Games lifestyle every day.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.altinnenweb.no/more-android-games-that-play-nice/id-846/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing Android Training</title>
		<link>http://www.altinnenweb.no/introducing-android-training/id-845</link>
		<comments>http://www.altinnenweb.no/introducing-android-training/id-845#comments</comments>
		<pubDate>Sun, 19 Feb 2012 21:02:34 +0000</pubDate>
		<dc:creator>Cryztal.NET</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[beginning]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[explains]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[implement]]></category>
		<category><![CDATA[plenty]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[required]]></category>
		<category><![CDATA[sample]]></category>
		<category><![CDATA[small]]></category>
		<category><![CDATA[steps]]></category>

		<guid isPermaLink="false">http://www.altinnenweb.no/introducing-android-training/id-845</guid>
		<description><![CDATA[ [This post is by Reto Meier , Android Developer Relations Tech Lead.]]></description>
			<content:encoded><![CDATA[<p><a href="http://2.bp.blogspot.com/-65ZTcnMYW9c/TurVOon7PrI/AAAAAAAAA_s/07tBb3zCktI/s1600/new%2Bprof.png"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 277px;" src="http://2.bp.blogspot.com/-65ZTcnMYW9c/TurVOon7PrI/AAAAAAAAA_s/07tBb3zCktI/s400/new%2Bprof.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5686591926908436146" /></a></p>
<p><i>[This post is by <a href="https://plus.google.com/111169963967137030210/posts">Reto Meier</a>, Android Developer Relations Tech Lead.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.altinnenweb.no/introducing-android-training/id-845/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android 4.0.3 Platform and Updated SDK tools</title>
		<link>http://www.altinnenweb.no/android-4-0-3-platform-and-updated-sdk-tools/id-844</link>
		<comments>http://www.altinnenweb.no/android-4-0-3-platform-and-updated-sdk-tools/id-844#comments</comments>
		<pubDate>Sun, 19 Feb 2012 19:59:47 +0000</pubDate>
		<dc:creator>Cryztal.NET</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[applications]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[check]]></category>
		<category><![CDATA[contact]]></category>
		<category><![CDATA[overview]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[platform]]></category>
		<category><![CDATA[provider]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[social]]></category>
		<category><![CDATA[status]]></category>

		<guid isPermaLink="false">http://www.altinnenweb.no/android-4-0-3-platform-and-updated-sdk-tools/id-844</guid>
		<description><![CDATA[ Today we are announcing Android 4.0.3, an incremental release of the Android 4.0 (Ice Cream Sandwich) platform. The new release includes a variety of optimizations and bug fixes for phones and tablets, as well as a small number of new APIs for developers. ]]></description>
			<content:encoded><![CDATA[</p>
<p>Today we are announcing Android 4.0.3, an incremental release of the Android 4.0 (Ice Cream Sandwich) platform. The new release includes a variety of optimizations and bug fixes for phones and tablets, as well as a small number of new APIs for developers. The new API level is 15.</p>
<p>Some of the new APIs in Android 4.0.3 include:</p>
<dl>
<dd>
<p><em>Social stream API in Contacts provider:</em> Applications that use social stream data such as status updates and check-ins can now sync that data with each of the user’s contacts, providing items in a stream along with photos for each. This new API lets apps show users what the people they know are doing or saying, in addition to their photos and contact information.</p>
<p><em>Calendar provider enhancements.</em> Apps can now add color to events, for easier tracking, and new attendee types and states are now available.</p>
<p><em>New camera capabilities.</em> Apps can now check and manage video stabilization and use QVGA resolution profiles where needed.</p>
<p><em>Accessibility refinements.</em> Improved content access for screen readers and new status and error reporting for text-to-speech engines.</p>
<p>Incremental improvements in graphics, database, spell-checking, Bluetooth, and more.</p>
</p>
</dd>
</dl>
<p>For a complete overview of what’s new in the platform, see the <a href="http://developer.android.com/sdk/android-4.0.3.html">Android 4.0.3 API Overview</a>.</p>
<p>Going forward, we’ll be focusing our partners on Android 4.0.3 as the base version of Ice Cream Sandwich. The new platform will be rolling out to production phones and tablets in the weeks ahead, so we strongly encourage you to test your applications on Android 4.0.3 as soon as possible.</p>
<p>We would also like to remind developers that we recently released new version of the <a href="http://developer.android.com/sdk/tools-notes.html">SDK Tools</a> (r16) and of the <a href="http://developer.android.com/sdk/eclipse-adt.html">Eclipse plug-in</a> (ADT 16.0.1). We have also updated the <a href="http://developer.android.com/sdk/ndk/index.html">NDK</a> to r7.</p>
<p>Visit the <a href="http://developer.android.com/sdk/index.html">Android Developers</a> site for more information about Android 4.0.3 and other platform versions. To get started developing or testing on the new platform, you can download it into your SDK using the <a href="http://developer.android.com/sdk/adding-components.html">Android SDK Manager</a>.</p>
<div><img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/6755709643044947179-4401349552320883515?l=android-developers.blogspot.com" alt="" /></div>
<div>
<a href="http://feeds.feedburner.com/~ff/blogspot/hsDu?a=kuKj9bxAHFM:Qg8bfm9VLSM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/blogspot/hsDu?d=yIl2AUoC8zA" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/blogspot/hsDu?a=kuKj9bxAHFM:Qg8bfm9VLSM:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/blogspot/hsDu?i=kuKj9bxAHFM:Qg8bfm9VLSM:-BTjWOF_DHI" border="0"/></a>
</div>
<p><img src="http://feeds.feedburner.com/~r/blogspot/hsDu/~4/kuKj9bxAHFM" height="1" width="1" /></p>
<p>Originally posted here: <a target="_blank" href="http://feedproxy.google.com/~r/blogspot/hsDu/~3/kuKj9bxAHFM/android-403-platform-and-updated-sdk.html" title="Android 4.0.3 Platform and Updated SDK tools">Android 4.0.3 Platform and Updated SDK tools</a>
<p><a href="http://www.creamantiwrinkle.com/" title="Best Anti Wrinkle Cream">Best Anti Wrinkle Cream</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.altinnenweb.no/android-4-0-3-platform-and-updated-sdk-tools/id-844/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Watch out for XmlPullParser.nextText()</title>
		<link>http://www.altinnenweb.no/watch-out-for-xmlpullparser-nexttext/id-843</link>
		<comments>http://www.altinnenweb.no/watch-out-for-xmlpullparser-nexttext/id-843#comments</comments>
		<pubDate>Sun, 19 Feb 2012 18:58:46 +0000</pubDate>
		<dc:creator>Cryztal.NET</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[call]]></category>
		<category><![CDATA[item]]></category>
		<category><![CDATA[kxmlparser]]></category>
		<category><![CDATA[null]]></category>
		<category><![CDATA[start_tag]]></category>
		<category><![CDATA[string]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xmlpullparserexception]]></category>

		<guid isPermaLink="false">http://www.altinnenweb.no/watch-out-for-xmlpullparser-nexttext/id-843</guid>
		<description><![CDATA[ [This post is by Jesse Wilson from the Dalvik team. —Tim Bray] Using XmlPullParser is an efficient and maintainable way to parse XML on Android]]></description>
			<content:encoded><![CDATA[<p><a href="http://4.bp.blogspot.com/-vhNi2_GZQ9U/ToOhtHmmCPI/AAAAAAAAAr0/kfHjHZKQdVE/s1600/jessehawaii.jpg"><img style="border: 5px solid #ddd; float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 150px; height: 149px;" src="http://4.bp.blogspot.com/-vhNi2_GZQ9U/ToOhtHmmCPI/AAAAAAAAAr0/kfHjHZKQdVE/s200/jessehawaii.jpg" border="0" alt="Jesse Wilson" id="BLOGGER_PHOTO_ID_5657543353414584562" /></a></p>
<p><i>[This post is by <a href="http://www.publicobject.com/">Jesse Wilson</a> from the Dalvik team. —Tim Bray]</i></p>
<p>Using <a href="http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html">XmlPullParser</a> is an efficient and maintainable way to parse XML on Android. Historically Android has had two implementations of this interface:</p>
<ul>
<li>
<p>KXmlParser, via <a href="http://developer.android.com/reference/org/xmlpull/v1/XmlPullParserFactory.html#newPullParser()">XmlPullParserFactory.newPullParser()</a>.</p>
</li>
<li>
<p>ExpatPullParser, via <a href="http://developer.android.com/reference/android/util/Xml.html#newPullParser()">Xml.newPullParser()</a>.</p>
</li>
</ul>
<p>The implementation from <code>Xml.newPullParser()</code> had a bug where calls to <code>nextText()</code> didn’t always advance to the <code>END_TAG</code> as the documentation promised it would. As a consequence, some apps may be working around the bug with extra calls to <code>next()</code> or <code>nextTag()</code>:</p>
<pre><code>    public void parseXml(Reader reader)
            throws XmlPullParserException, IOException {
        XmlPullParser parser = Xml.newPullParser();
        parser.setInput(reader);

        parser.nextTag();
        parser.require(XmlPullParser.START_TAG, null, "menu");
        while (parser.nextTag() == XmlPullParser.START_TAG) {
            parser.require(XmlPullParser.START_TAG, null, "item");
            String itemText = parser.nextText();
            <b>parser.nextTag(); // this call shouldn’t be necessary!</b>
            parser.require(XmlPullParser.END_TAG, null, "item");
            System.out.println("menu option: " + itemText);
        }
        parser.require(XmlPullParser.END_TAG, null, "menu");
    }

    public static void main(String[] args) throws Exception {
        new Menu().parseXml(new StringReader("< ?xml version='1.0'?>"
                + "
<menu>"
                + "  <item>Waffles</item>"
                + "  <item>Coffee</item>"
                + "</menu>

"));
    }</code></pre>
<p>In Ice Cream Sandwich we changed <code>Xml.newPullParser()</code> to return a KxmlParser and deleted our ExpatPullParser class. This fixes the <code>nextTag()</code> bug. Unfortunately, apps that currently work around the bug may crash under Ice Cream Sandwich:</p>
<pre><code>org.xmlpull.v1.XmlPullParserException: expected: END_TAG {null}item (position:START_TAG <item>@1:37 in java.io.StringReader@40442fa8)
     at org.kxml2.io.KXmlParser.require(KXmlParser.java:2046)
     at com.publicobject.waffles.Menu.parseXml(Menu.java:25)
 at com.publicobject.waffles.Menu.main(Menu.java:32)</item></code></pre>
<p>The fix is to call <code>nextTag()</code> after a call to <code>nextText()</code> only if the current position is not an <code>END_TAG</code>:</p>
<pre><code>  while (parser.nextTag() == XmlPullParser.START_TAG) {
      parser.require(XmlPullParser.START_TAG, null, "item");
      String itemText = parser.nextText();
      if (parser.getEventType() != XmlPullParser.END_TAG) {
          parser.nextTag();
      }
      parser.require(XmlPullParser.END_TAG, null, "item");
      System.out.println("menu option: " + itemText);
  }</code></pre>
<p>The code above will parse XML correctly on all releases. If your application uses <code>nextText()</code> extensively, use this helper method in place of calls to <code>nextText()</code>:</p>
<pre><code>  private String safeNextText(XmlPullParser parser)
          throws XmlPullParserException, IOException {
      String result = parser.nextText();
      if (parser.getEventType() != XmlPullParser.END_TAG) {
          parser.nextTag();
      }
      return result;
  }</code></pre>
<p>Moving to a single XmlPullParser simplifies maintenance and allows us to spend more energy on improving system performance.</p>
<div><img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/6755709643044947179-7567337483684147968?l=android-developers.blogspot.com" alt="" /></div>
<div>
<a href="http://feeds.feedburner.com/~ff/blogspot/hsDu?a=gEupS9k-CQI:2Ufc2X6nwng:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/blogspot/hsDu?d=yIl2AUoC8zA" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/blogspot/hsDu?a=gEupS9k-CQI:2Ufc2X6nwng:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/blogspot/hsDu?i=gEupS9k-CQI:2Ufc2X6nwng:-BTjWOF_DHI" border="0"/></a>
</div>
<p><img src="http://feeds.feedburner.com/~r/blogspot/hsDu/~4/gEupS9k-CQI" height="1" width="1" /></p>
<p>Excerpt from: <a target="_blank" href="http://feedproxy.google.com/~r/blogspot/hsDu/~3/gEupS9k-CQI/watch-out-for-xmlpullparsernexttext.html" title="Watch out for XmlPullParser.nextText()">Watch out for XmlPullParser.nextText()</a>
<p><a href="http://www.cheapestcarinsurance4u.com/" title="The Cheapest Car Insurance">The Cheapest Car Insurance</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.altinnenweb.no/watch-out-for-xmlpullparser-nexttext/id-843/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Holo Everywhere</title>
		<link>http://www.altinnenweb.no/holo-everywhere/id-842</link>
		<comments>http://www.altinnenweb.no/holo-everywhere/id-842#comments</comments>
		<pubDate>Sun, 19 Feb 2012 18:07:24 +0000</pubDate>
		<dc:creator>Web</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[customizations]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[device]]></category>
		<category><![CDATA[family]]></category>
		<category><![CDATA[holo]]></category>
		<category><![CDATA[public]]></category>
		<category><![CDATA[resource]]></category>
		<category><![CDATA[running]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[values]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://www.altinnenweb.no/holo-everywhere/id-842</guid>
		<description><![CDATA[ [This post is by Adam Powell , an Android Framework engineer who cares about style. —Tim Bray] Android 4.0 showcases the Holo theme family, further refined since its debut in Android 3.0]]></description>
			<content:encoded><![CDATA[</p>
<p><i>[This post is by <a href="https://plus.google.com/107708120842840792570/posts">Adam Powell</a>, an Android Framework engineer who cares about style. —Tim Bray]</i></p>
<p>Android 4.0 showcases the Holo theme family, further refined since its debut in Android 3.0. But as most developers know, a new system theme for some Android devices isn’t a new or uncommon event. For developers new system themes mean more design targets for their apps. Using system themes means developers can take advantage of a user’s existing expectations and it can save a lot of production time, but only if an app designer can reliably predict the results. Before Android 4.0 the variance in system themes from device to device could make it difficult to design an app with a single predictable look and feel. We set out to improve this situation for the developer community in Ice Cream Sandwich and beyond.</p>
<div><img style="margin:0 0 0 0;width: 240px; height: 400px;" src="http://3.bp.blogspot.com/-Ih4mfw7ugas/TwNnpaoc79I/AAAAAAAABAE/BmBauVfE7OA/s400/Screenshot_2011-11-17-22-19-53.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5693508315147726802" />
<p>Theme.Holo</p>
</div>
<p>If you’re not already familiar with Android’s style and theme system, you should read <a href="http://developer.android.com/guide/topics/ui/themes.html">Styles and Themes</a> before continuing.</p>
<h3>Compatibility Standard</h3>
<p>In Android 4.0, Holo is different. We’ve made the inclusion of the unmodified Holo theme family a compatibility requirement for devices running Android 4.0 and forward. If the device has Android Market it will have the Holo themes as they were originally designed.</p>
<p>This standardization goes for all of the public Holo widget styles as well. The Widget.Holo styles will be stable from device to device, safe for use as parent styles for incremental customizations within your app.</p>
<p>The Holo theme family in Android 4.0 consists of the themes Theme.Holo, Theme.Holo.Light, and Theme.Holo.Light.DarkActionBar. Examples of these themes in action are shown in the screenshots lining this post.</p>
<p>To use a Holo theme, explicitly request one from your manifest on your activity or application element, e.g. <code>android:theme="@android:style/Theme.Holo"</code>. Your app will be displayed using the unmodified theme on all compatible Android 4.0 devices. The Holo themes may also be used as stable parent themes for app-level theme customizations.</p>
<h3>What about device themes?</h3>
<p>We have no desire to restrict manufacturers from building their own themed experience across their devices. In fact we’ve gone further to make this even easier. In Android 4.0’s API (level 14) we’ve added a new public theme family to complement the Holo family introduced in Android 3.0: DeviceDefault. DeviceDefault themes are aliases for the device’s native look and feel. The DeviceDefault theme family and widget style family offer ways for developers to target the device’s native theme with all customizations intact.</p>
<div><img style="margin:0 0 0 0;width: 240px; height: 400px;" src="http://1.bp.blogspot.com/-Mi2BW-8T8eY/TwNpdVemR_I/AAAAAAAABAc/-oOTaZ5M4_A/s400/Screenshot_2011-11-17-22-23-18.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5693510306629044210" />
<p>Theme.Holo.Light</p>
</div>
<p> Formally separating these theme families will also make future merges easier for manufacturers updating to a new platform version, helping more devices update more quickly. Google’s Nexus devices alias DeviceDefault to the unmodified Holo themes.</p>
<h3>Making use of your chosen theme</h3>
<p>We’ve added a number of theme attributes to report common metrics and color palette info to apps that want to fit in with a theme. These include highlight colors, default padding and margins for common UI elements such as list items, and more. Apps that wish to integrate with their chosen theme (both Holo and DeviceDefault included) can refer to these theme attributes as in the examples below:</p>
<p>Sample button with system-supplied touch highlight:</p>
<pre><code><imagebutton android:id="@+id/my_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/button_icon"
    android:background="?android:attr/selectableItemBackground" /></code></pre>
<p>Sample widget with a custom pressedHighlightColor attribute, value retrieved from the system theme:</p>
<pre><code><mywidget android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    myapp:pressedHighlightColor="?android:attr/colorPressedHighlight" /></code></pre>
<p>Sample list item layout using system-supplied metrics and text appearance:</p>
<pre><code>
<linearlayout android:layout_width="match_parent"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
    android:paddingRight="?android:attr/listPreferredItemPaddingRight">
    <textview android:id="@+id/text"
        android:textAppearance="?android:attr/textAppearanceListItem" />
    <!-- Other views here -->
</linearlayout></code></pre>
<div><img style="margin:0 0 0 0;width: 240px; height: 400px;" src="http://1.bp.blogspot.com/-99NqKnTQ2Ew/TwNp6O1LBVI/AAAAAAAABAo/TIQZ27oOhd4/s400/Screenshot_2011-11-17-22-24-28.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5693510803060884818" />
<p>Theme.Holo.Light.DarkActionBar<br />(Available in API level 14 and above)</p>
</div>
<h3>Defaults for Older Apps</h3>
<p>If an app does not explicitly request a theme in its manifest, Android 4.0 will determine the default theme based on the app’s targetSdkVersion to maintain the app’s original expectations: For values less than 11, <code>@android:style/Theme</code>; between 11 and 13 <code>@android:style/Theme.Holo</code>; and for 14 and higher <code>@android:style/Theme.DeviceDefault</code>.</p>
<h3>Using Holo while supporting Android 2.x</h3>
<p>Most Android developers will still want to support 2.x devices for a while as updates and new devices continue to roll out. This doesn’t stop you from taking advantage of newer themes on devices that support them though. Using Android’s resource system you can define themes for your app that are selected automatically based on the platform version of the device it’s running on.</p>
<p><em>Theme.Holo and Theme.Holo.Light have been available since API level 11, but Theme.Holo.Light.DarkActionBar is new in API level 14.</em></p>
<p>res/values/themes.xml:</p>
<pre><code><resources>
<style name="MyTheme" parent="<b>@android:style/Theme">
        <!-- Any customizations for your app running on pre-3.0 devices here -->
    </style>

</resources></code></pre>
<p>res/values-v11/themes.xml:</p>
<pre><code><resources>
<style name="MyTheme" parent="<b>@android:style/Theme.Holo">
        <!-- Any customizations for your app running on devices with Theme.Holo here -->
    </style>

</resources></code></pre>
<p>Finally, in AndroidManifest.xml:</p>
<pre><code><!-- [...] -->
    <application android:name="MyApplication"
            android:label="@string/application_label"
            android:icon="@drawable/app_icon"
            android:hardwareAccelerated="true"
            android:theme="@style/MyTheme">
<!-- [...] --></application></code></pre>
<p>You can go as far with this idea as you like, up to and including defining your own theme attributes with different values across configurations for use in your other resources. To learn more about Android’s resource system, see <a href="http://developer.android.com/guide/topics/resources/index.html">Application Resources</a>.</p>
<h3>Final Thoughts</h3>
<p>Android apps running on 4.0 and forward can use the Holo themes and be assured that their look and feel will not change when running on a device with a custom skin. Apps that wish to use the device’s default styling can do so using the DeviceDefault themes that are now in the public API. These changes let you spend more time on your design and less time worrying about what will be different from one device to another. Finally, Android’s resource system allows you to support features from the latest platform version while offering graceful fallback on older devices.</p>
<div><img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/6755709643044947179-8646760043976821672?l=android-developers.blogspot.com" alt="" /></div>
<div>
<a href="http://feeds.feedburner.com/~ff/blogspot/hsDu?a=_qkac7tku-4:_YSl4q5ifZ8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/blogspot/hsDu?d=yIl2AUoC8zA" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/blogspot/hsDu?a=_qkac7tku-4:_YSl4q5ifZ8:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/blogspot/hsDu?i=_qkac7tku-4:_YSl4q5ifZ8:-BTjWOF_DHI" border="0"/></a>
</div>
<p><img src="http://feeds.feedburner.com/~r/blogspot/hsDu/~4/_qkac7tku-4" height="1" width="1" /></p>
<p>Read more here: <a target="_blank" href="http://feedproxy.google.com/~r/blogspot/hsDu/~3/_qkac7tku-4/holo-everywhere.html" title="Holo Everywhere">Holo Everywhere</a>
<p><a href="http://www.quickweightloss101.com/" title="Quick Weight Loss">Quick Weight Loss</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.altinnenweb.no/holo-everywhere/id-842/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Levels in Renderscript</title>
		<link>http://www.altinnenweb.no/levels-in-renderscript/id-841</link>
		<comments>http://www.altinnenweb.no/levels-in-renderscript/id-841#comments</comments>
		<pubDate>Sun, 19 Feb 2012 17:04:23 +0000</pubDate>
		<dc:creator>Cryztal.NET</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[allocation]]></category>
		<category><![CDATA[bitmap]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[device]]></category>
		<category><![CDATA[gamma]]></category>
		<category><![CDATA[getheight]]></category>
		<category><![CDATA[getwidth]]></category>
		<category><![CDATA[mbitmapout]]></category>
		<category><![CDATA[mrs]]></category>
		<category><![CDATA[pixel]]></category>
		<category><![CDATA[simple]]></category>

		<guid isPermaLink="false">http://www.altinnenweb.no/levels-in-renderscript/id-841</guid>
		<description><![CDATA[ [This post is by R. ]]></description>
			<content:encoded><![CDATA[</p>
<p><i>[This post is by <a href="https://plus.google.com/113680924389579925739/posts">R. Jason Sams</a>, an Android Framework engineer who specializes in graphics, performance tuning, and software architecture.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.altinnenweb.no/levels-in-renderscript/id-841/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing the Android Design site</title>
		<link>http://www.altinnenweb.no/introducing-the-android-design-site/id-840</link>
		<comments>http://www.altinnenweb.no/introducing-the-android-design-site/id-840#comments</comments>
		<pubDate>Sun, 19 Feb 2012 16:05:40 +0000</pubDate>
		<dc:creator>Cryztal.NET</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[amazing]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[docs]]></category>
		<category><![CDATA[good]]></category>
		<category><![CDATA[make]]></category>
		<category><![CDATA[playing]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[professional]]></category>
		<category><![CDATA[show]]></category>
		<category><![CDATA[small]]></category>
		<category><![CDATA[team]]></category>
		<category><![CDATA[user]]></category>

		<guid isPermaLink="false">http://www.altinnenweb.no/introducing-the-android-design-site/id-840</guid>
		<description><![CDATA[ [This post is by Christian Robertson , who leads the Android visual design group. He is also the designer of the Roboto font family.]]></description>
			<content:encoded><![CDATA[<p><a href="http://4.bp.blogspot.com/-mvxnJ_jo-Do/Tw3RY2z9a5I/AAAAAAAABCU/aOnMTHkF7MI/s1600/sg.png"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 291px;" src="http://4.bp.blogspot.com/-mvxnJ_jo-Do/Tw3RY2z9a5I/AAAAAAAABCU/aOnMTHkF7MI/s320/sg.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5696439328654060434" /></a></p>
<p><i>[This post is by <a href="https://plus.google.com/110879635926653430880/posts">Christian Robertson</a>,  who  leads the Android visual design group. He is also the designer of the Roboto font family.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.altinnenweb.no/introducing-the-android-design-site/id-840/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

