<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Night Dreaming (by Sudar)</title>
	
	<link>http://sudarmuthu.com</link>
	<description>Night Dreaming (by Sudar)</description>
	<lastBuildDate>Sun, 11 Jul 2010 13:22:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/SudarBlogs" /><feedburner:info uri="sudarblogs" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>13.09</geo:lat><geo:long>80.27</geo:long><image><link>http://sudarmuthu.com/blog/</link><url>http://sudarmuthu.com/images/sudar.png</url><title>Sudar</title></image><feedburner:emailServiceId>SudarBlogs</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><item>
		<title>Updating HTC Hero (GSM) to Android 2.1</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/SDqWFCmy8to/updating-htc-hero-gsm-to-android-2-1.html</link>
		<comments>http://sudarmuthu.com/blog/2010/07/11/updating-htc-hero-gsm-to-android-2-1.html#comments</comments>
		<pubDate>Sun, 11 Jul 2010 13:18:48 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[2.1]]></category>
		<category><![CDATA[HTC Hero]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/07/11/updating-htc-hero-gsm-to-android-2-1.html</guid>
		<description><![CDATA[Find out how to update GSM HTC Hero mobile in India to Android 2.1]]></description>
			<content:encoded><![CDATA[<p>After waiting for more than a couple of months, HTC finally released the <a href="http://www.htc.com/in/support.aspx">much waited Android 2.1 update for HTC Hero GSM Mobiles in India</a>.</p>
<p>I waited for this update for long time and updated my mobile last week. Thought of sharing the process here so that it is useful for others.</p>
<h2>Preparing for the update</h2>
<p>The Android 2.1 update consists of two updates. First update prepares your phone and the second update is the actual OS update. Both are OTA (over the air) updates and so you don’t need to download anything to your computer.</p>
<p>When you connect to the internet (either through wifi or through gprs/edge) you will get a prompt which will ask you whether you want to download the upload. If you for some reason clicked later, there is a nice trick to get the prompt again. The trick is to change the data and you will get the prompt immediately.</p>
<p>The first update is around 5 MB. Once the update is done, your firmware build number would be updated. If you have the same build and kernel numbers like the screenshot below then your update has just went fine.</p>
<p><a href="http://sudarmuthu.com/wp/wp-content/uploads/2010/07/htcherofirmwareversion.png"><img style="display: inline; margin-left: 0px; margin-right: 0px; border: 0px;" title="htc-hero-firmware-version" src="http://sudarmuthu.com/wp/wp-content/uploads/2010/07/htcherofirmwareversion_thumb.png" border="0" alt="htc-hero-firmware-version" width="324" height="484" /></a></p>
<h2>Actual update</h2>
<p>As I said before, the first update will prepare your phone for the OS update. In addition to the preparation part, it will update your Youtube player and will also add a new update menu to your phone settings menu, through which you can download the second update.</p>
<p>You can access this menu item by going to Settings-&gt;About phone-&gt;System Software Updates</p>
<p><a href="http://sudarmuthu.com/wp/wp-content/uploads/2010/07/htcherocheckforupdate.png"><img style="display: inline; border: 0px;" title="htc-hero-check-for-update" src="http://sudarmuthu.com/wp/wp-content/uploads/2010/07/htcherocheckforupdate_thumb.png" border="0" alt="htc-hero-check-for-update" width="324" height="484" /></a></p>
<p>Click the check button and it will show the below prompt.</p>
<p><a href="http://sudarmuthu.com/wp/wp-content/uploads/2010/07/htcherootafirmwareupdate.png"><img style="display: inline; border: 0px;" title="htc-hero-ota-firmware-update" src="http://sudarmuthu.com/wp/wp-content/uploads/2010/07/htcherootafirmwareupdate_thumb.png" border="0" alt="htc-hero-ota-firmware-update" width="324" height="484" /></a></p>
<p>Click Ok, to download the update.</p>
<p><a href="http://sudarmuthu.com/wp/wp-content/uploads/2010/07/htcherootaupdate.png"><img style="display: inline; border: 0px;" title="htc-hero-ota-update" src="http://sudarmuthu.com/wp/wp-content/uploads/2010/07/htcherootaupdate_thumb.png" border="0" alt="htc-hero-ota-update" width="324" height="484" /></a></p>
<p>This update is around 80 MB. If you don’t have a decent GPRS/Edge plan, then it would good if you could update when you are connected through wifi. Otherwise your phone data bill might go over your roof.</p>
<p>Once you click okay, phone will download the update and will install it. Your phone might restart a couple of times and once everything is done, you HTC Hero mobile will be running the new shinny Android 2.1</p>
<h2>Precautions</h2>
<p>Since it is an update to the base OS, it is recommended that you follow these precautions</p>
<ul>
<li>Even though the update will not erase your application and data, it is highly recommended that you backup your applications and data before proceeding</li>
<li>As I said before, the downloads are more than 80 MB in size and if you don’t have a decent GPRS/Edge connection, it is better to use wifi</li>
<li>It might take around an hour for the entire process to get over. So make sure that your phone’s battery is full.</li>
<li>Also disable the unlock patters when the update is going on, since the phone might need to restart a couple of times.</li>
</ul>
<p>I am off to play with the new update in my HTC Hero mobile, meanwhile do let me know how your updating went. Happy updating <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/21" title="2.1" rel="tag">2.1</a> | <a href="http://sudarmuthu.com/blog/tag/android" title="Android" rel="tag">Android</a> | <a href="http://sudarmuthu.com/blog/tag/htc-hero" title="HTC Hero" rel="tag">HTC Hero</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2007/01/31/wordpress-21-and-custom-field-plugin-gotcha.html" title="WordPress 2.1 and custom field plugin Gotcha (Jan 31, 2007)">WordPress 2.1 and custom field plugin Gotcha</a> (Jan 31, 2007)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/02/23/using-preference-api-in-android-applications.html" title="Using preference API in Android applications (Feb 23, 2010)">Using preference API in Android applications</a> (Feb 23, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/03/02/using-arrayadapter-and-listview-in-android-applications.html" title="Using ArrayAdapter and ListView in Android Applications (Mar 2, 2010)">Using ArrayAdapter and ListView in Android Applications</a> (Mar 2, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/02/12/the-structure-of-an-android-project.html" title="The structure of an Android project (Feb 12, 2010)">The structure of an Android project</a> (Feb 12, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/04/19/free-online-course-on-developing-android-applications-using-java-part-2.html" title="Free online course on developing android applications using Java &#8211; Part 2 (Apr 19, 2010)">Free online course on developing android applications using Java &#8211; Part 2</a> (Apr 19, 2010)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=SDqWFCmy8to:AhgZ-11OOmg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=SDqWFCmy8to:AhgZ-11OOmg:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=SDqWFCmy8to:AhgZ-11OOmg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=SDqWFCmy8to:AhgZ-11OOmg:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=SDqWFCmy8to:AhgZ-11OOmg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=SDqWFCmy8to:AhgZ-11OOmg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=SDqWFCmy8to:AhgZ-11OOmg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=SDqWFCmy8to:AhgZ-11OOmg:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=SDqWFCmy8to:AhgZ-11OOmg:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=SDqWFCmy8to:AhgZ-11OOmg:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=SDqWFCmy8to:AhgZ-11OOmg:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=SDqWFCmy8to:AhgZ-11OOmg:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=SDqWFCmy8to:AhgZ-11OOmg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/SDqWFCmy8to" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/07/11/updating-htc-hero-gsm-to-android-2-1.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/07/11/updating-htc-hero-gsm-to-android-2-1.html</feedburner:origLink></item>
		<item>
		<title>RoloPress 1.3</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/X1Q32Otom2k/rolopress-1-3.html</link>
		<comments>http://sudarmuthu.com/blog/2010/07/01/rolopress-1-3.html#comments</comments>
		<pubDate>Thu, 01 Jul 2010 15:20:09 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[RoloPress]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/07/01/rolopress-1-3.html</guid>
		<description><![CDATA[RoloPress, a WordPress-based contact manager has been updated to v1.3 which is compatible to WordPress 3.0]]></description>
			<content:encoded><![CDATA[<p>Just released an update to <a href="http://rolopress.com">RoloPress</a>, a WordPress-based contact manager which is one <a href="http://sudarmuthu.com/rolopress">of my pet projects</a>.</p>
<p>The new release has compatibility fixes for WordPress 3.0, in addition to some bug fixes. If you are using WordPress 3.0, then it is a mandatory update.</p>
<p>You can download the latest version from the <a href="http://rolopress.com/category/themes">homepage</a> and if you are interested, you can check out the source code at <a href="http://github.com/rolopress">github</a>.</p>
<p>Try it out and if you have any feedback, please post it here or in the <a href="http://rolopress.com/forums/">forums</a>.</p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/3-0" title="3.0" rel="tag">3.0</a> | <a href="http://sudarmuthu.com/blog/tag/rolopress" title="RoloPress" rel="tag">RoloPress</a> | <a href="http://sudarmuthu.com/blog/tag/wordpress" title="WordPress" rel="tag">WordPress</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2010/01/30/using-wordpress-as-a-platform.html" title="Using WordPress as a platform (Jan 30, 2010)">Using WordPress as a platform</a> (Jan 30, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/11/19/rolopress-wordpress-based-contact-manager.html" title="RoloPress &#8211; WordPress based contact manager (Nov 19, 2009)">RoloPress &#8211; WordPress based contact manager</a> (Nov 19, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/01/20/poll-rolopress-importer.html" title="[Poll] &ndash; RoloPress Importer (Jan 20, 2010)">[Poll] &ndash; RoloPress Importer</a> (Jan 20, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/02/26/year-end-stats-for-2008.html" title="Year End Stats for 2008 (Feb 26, 2009)">Year End Stats for 2008</a> (Feb 26, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2008/01/02/year-end-stats-for-2007-graphs.html" title="Year End Stats for 2007 (Graphs) (Jan 2, 2008)">Year End Stats for 2007 (Graphs)</a> (Jan 2, 2008)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=X1Q32Otom2k:wrhHobHhrUo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=X1Q32Otom2k:wrhHobHhrUo:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=X1Q32Otom2k:wrhHobHhrUo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=X1Q32Otom2k:wrhHobHhrUo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=X1Q32Otom2k:wrhHobHhrUo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=X1Q32Otom2k:wrhHobHhrUo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=X1Q32Otom2k:wrhHobHhrUo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=X1Q32Otom2k:wrhHobHhrUo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=X1Q32Otom2k:wrhHobHhrUo:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=X1Q32Otom2k:wrhHobHhrUo:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=X1Q32Otom2k:wrhHobHhrUo:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=X1Q32Otom2k:wrhHobHhrUo:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=X1Q32Otom2k:wrhHobHhrUo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/X1Q32Otom2k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/07/01/rolopress-1-3.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/07/01/rolopress-1-3.html</feedburner:origLink></item>
		<item>
		<title>Interacting with XMPP using PHP</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/du8utrtAZe4/interacting-with-xmpp-using-php.html</link>
		<comments>http://sudarmuthu.com/blog/2010/06/27/interacting-with-xmpp-using-php.html#comments</comments>
		<pubDate>Sun, 27 Jun 2010 17:47:55 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[Events/Camps]]></category>
		<category><![CDATA[Bangalore]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[XMPP]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/06/27/interacting-with-xmpp-using-php.html</guid>
		<description><![CDATA[Slides from my talk about interacting with XMPP using PHP which I gave in Bangalore PHP Meetup.]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I talked about using XMPP with PHP in the <a href="http://www.meetup.com/Bangalore-PHP-Users/">Bangalore PHP meetup</a>.</p>
<p>I have uploaded the slides which I used for the talk to my <a href="http://www.slideshare.net/Sudar/interacting-with-xmpp-using-php">Slideshare account</a>. I have embedded it below for easy viewing.</p>
<div id="__ss_4629021" style="width: 425px;"><strong style="margin: 12px 0px 4px; display: block;"><a title="Interacting with XMPP using PHP" href="http://www.slideshare.net/Sudar/interacting-with-xmpp-using-php">Interacting with XMPP using PHP</a></strong><object id="__sse4629021" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=xmpp-100627115733-phpapp02&amp;stripped_title=interacting-with-xmpp-using-php" /><param name="name" value="__sse4629021" /><param name="allowfullscreen" value="true" /><embed id="__sse4629021" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=xmpp-100627115733-phpapp02&amp;stripped_title=interacting-with-xmpp-using-php" name="__sse4629021" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="padding-bottom: 12px; padding-left: 0px; padding-right: 0px; padding-top: 5px;">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/Sudar">Sudar Muthu</a>.</div>
</div>
<h2>Demo</h2>
<p>You can find the demo and the source code which I used in the talk <a href="http://sudarmuthu.com/demos/xmpp/gmail.php">here</a>.</p>
<h2>Links</h2>
<p>The following are links to some of the softwares/libraries which I mentioned</p>
<ul>
<li><a href="http://code.stanziq.com/strophe/">Strophe</a> – JavaScript XMPP Library</li>
<li><a href="http://xmpp.org/extensions/xep-0124.html">BOSH</a> – XMPP HTTP Bridge</li>
<li><a href="http://www.ejabberd.im/">Ejabberd</a> – Open source XMPP server written in Erlang</li>
<li><a href="http://code.google.com/p/jaxl/">JAXL</a> – PHP XMPP Library</li>
</ul>

	Tags: <a href="http://sudarmuthu.com/blog/tag/bangalore" title="Bangalore" rel="tag">Bangalore</a> | <a href="http://sudarmuthu.com/blog/tag/php" title="PHP" rel="tag">PHP</a> | <a href="http://sudarmuthu.com/blog/tag/xmpp" title="XMPP" rel="tag">XMPP</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2010/01/30/using-wordpress-as-a-platform.html" title="Using WordPress as a platform (Jan 30, 2010)">Using WordPress as a platform</a> (Jan 30, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2006/08/07/what-is-your-ide.html" title="What is your IDE? (Aug 7, 2006)">What is your IDE?</a> (Aug 7, 2006)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/05/30/using-memcache-to-improve-php-performance.html" title="Using Memcache to improve PHP performance (May 30, 2010)">Using Memcache to improve PHP performance</a> (May 30, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2004/10/16/phpmvc-framework.html" title="PHP MVC Framework (Oct 16, 2004)">PHP MVC Framework</a> (Oct 16, 2004)</li>
	<li><a href="http://sudarmuthu.com/blog/2004/11/14/php-elearning.html" title="PHP eLearning (Nov 14, 2004)">PHP eLearning</a> (Nov 14, 2004)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=du8utrtAZe4:H66nhGfiW2E:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=du8utrtAZe4:H66nhGfiW2E:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=du8utrtAZe4:H66nhGfiW2E:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=du8utrtAZe4:H66nhGfiW2E:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=du8utrtAZe4:H66nhGfiW2E:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=du8utrtAZe4:H66nhGfiW2E:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=du8utrtAZe4:H66nhGfiW2E:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=du8utrtAZe4:H66nhGfiW2E:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=du8utrtAZe4:H66nhGfiW2E:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=du8utrtAZe4:H66nhGfiW2E:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=du8utrtAZe4:H66nhGfiW2E:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=du8utrtAZe4:H66nhGfiW2E:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=du8utrtAZe4:H66nhGfiW2E:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/du8utrtAZe4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/06/27/interacting-with-xmpp-using-php.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/06/27/interacting-with-xmpp-using-php.html</feedburner:origLink></item>
		<item>
		<title>One year at Yahoo</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/oyqBdfTJcmc/one-year-at-yahoo.html</link>
		<comments>http://sudarmuthu.com/blog/2010/06/27/one-year-at-yahoo.html#comments</comments>
		<pubDate>Sun, 27 Jun 2010 16:28:40 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[Google/Yahoo]]></category>
		<category><![CDATA[Random/Personal]]></category>
		<category><![CDATA[Bangalore]]></category>
		<category><![CDATA[HackDay]]></category>
		<category><![CDATA[Yahoo]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/06/27/one-year-at-yahoo.html</guid>
		<description><![CDATA[Just completed one year at Yahoo :)]]></description>
			<content:encoded><![CDATA[<p>On June 15<sup>th</sup> I completed <a href="http://sudarmuthu.com/blog/2009/06/13/joining-yahoo.html">one year at Yahoo and Bangalore</a>.</p>
<p>I sat around to write about my life in the past one year and then I read about <a href="http://www.derekville.net/2010/return-to-sunnyvale/">Derek’s experience</a>.</p>
<p>Now, all you need to do is to replace *Sunnyvale* with *Bangalore, *Yahoo Hack Day 2008* with *Yahoo Hack Day 2009* and *Kansas City* with *Chennai* in <a href="http://www.derekville.net/2010/return-to-sunnyvale/">this post</a> and you will get my story <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Thanks to everyone at Yahoo for making this past one year as one of my best years and also for Derek for saving a couple of keystrokes for me. <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/bangalore" title="Bangalore" rel="tag">Bangalore</a> | <a href="http://sudarmuthu.com/blog/tag/hackday" title="HackDay" rel="tag">HackDay</a> | <a href="http://sudarmuthu.com/blog/tag/yahoo" title="Yahoo" rel="tag">Yahoo</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2009/02/05/yahoo-open-hack-day-2009.html" title="Yahoo Open Hack day 2009 (Feb 5, 2009)">Yahoo Open Hack day 2009</a> (Feb 5, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/06/13/joining-yahoo.html" title="Joining Yahoo (Jun 13, 2009)">Joining Yahoo</a> (Jun 13, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2008/01/05/yahoo-pipes-team-writes-about-pipescamp.html" title="Yahoo Pipes Team writes about pipesCamp (Jan 5, 2008)">Yahoo Pipes Team writes about pipesCamp</a> (Jan 5, 2008)</li>
	<li><a href="http://sudarmuthu.com/blog/2005/12/19/yahoo-has-got-its-majo-back.html" title="Yahoo has got its Majo back (Dec 19, 2005)">Yahoo has got its Majo back</a> (Dec 19, 2005)</li>
	<li><a href="http://sudarmuthu.com/blog/2006/03/09/why-no-ajax.html" title="Why no AJAX? (Mar 9, 2006)">Why no AJAX?</a> (Mar 9, 2006)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=oyqBdfTJcmc:WXahg8RKmyY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=oyqBdfTJcmc:WXahg8RKmyY:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=oyqBdfTJcmc:WXahg8RKmyY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=oyqBdfTJcmc:WXahg8RKmyY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=oyqBdfTJcmc:WXahg8RKmyY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=oyqBdfTJcmc:WXahg8RKmyY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=oyqBdfTJcmc:WXahg8RKmyY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=oyqBdfTJcmc:WXahg8RKmyY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=oyqBdfTJcmc:WXahg8RKmyY:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=oyqBdfTJcmc:WXahg8RKmyY:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=oyqBdfTJcmc:WXahg8RKmyY:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=oyqBdfTJcmc:WXahg8RKmyY:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=oyqBdfTJcmc:WXahg8RKmyY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/oyqBdfTJcmc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/06/27/one-year-at-yahoo.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/06/27/one-year-at-yahoo.html</feedburner:origLink></item>
		<item>
		<title>Excellent videos to get you started with CouchDB</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/7MeA0ijRcJw/excellent-videos-to-get-you-started-with-couchdb.html</link>
		<comments>http://sudarmuthu.com/blog/2010/06/17/excellent-videos-to-get-you-started-with-couchdb.html#comments</comments>
		<pubDate>Thu, 17 Jun 2010 17:59:13 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[Database Programming]]></category>
		<category><![CDATA[Javascript/jQuery]]></category>
		<category><![CDATA[CouchDB]]></category>
		<category><![CDATA[JSConf]]></category>
		<category><![CDATA[videos]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/06/17/excellent-videos-to-get-you-started-with-couchdb.html</guid>
		<description><![CDATA[Couple of webcasts and videos that should help you get started with Apache CouchDB]]></description>
			<content:encoded><![CDATA[<p>Okay, I got to admit. My latest crush is <a href="http://couchdb.apache.org/">CouchDB</a>. <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I found lot of people referring to CouchDB when they were talking about node.js which made to find out more about CouchDB. I read a couple of articles and then came to know that O’Reilly was having a webcast (in fact two), in which Chris Anderson, one of the core committers of CouchDB explains about it. I thought of posting the videos here, so that even you could get hooked up to CouchDB <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h2>Introduction to Apache CouchDB</h2>
<p>This is part one of the webcast. In this webcast, Chris gives a technical overview. He also describes some of CouchDB&#8217;s existing users. This webcast also had a question and answer session where Chris answered user’s questions.</p>
<p>You can either view them as an <a href="https://oreilly.connectsolutions.com/p99257946/?launcher=false&amp;fcsContent=true&amp;pbMode=normal">Adobe Connect Pro archived recording</a> or in <a href="http://www.youtube.com/watch?v=-9C2x54Of-M">youtube</a>. I have embedded the youtube video below for quick viewing</p>
<p> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="405" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/-9C2x54Of-M&amp;hl=en_US&amp;fs=1&amp;border=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="500" height="405" src="http://www.youtube.com/v/-9C2x54Of-M&amp;hl=en_US&amp;fs=1&amp;border=1" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
<h2>Writing jQuery CouchApps</h2>
<p>This is part two of the webcast. In this webcast, Chris shows how to hack JQuery CouchApps, which is a p2p web applications that can be deployed anywhere there&#8217;s a couch DB.</p>
<p>You can either view them as an <a href="https://oreilly.connectsolutions.com/l57166067/?launcher=false&amp;fcsContent=true&amp;pbMode=normal">Adobe Connect Pro archived recording</a> or in <a href="http://www.youtube.com/watch?v=Xk5gaUURdJI">youtube</a>. I have embedded the youtube video below for quick viewing.</p>
<p> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="660" height="405" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/Xk5gaUURdJI&amp;hl=en_US&amp;fs=1&amp;border=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="660" height="405" src="http://www.youtube.com/v/Xk5gaUURdJI&amp;hl=en_US&amp;fs=1&amp;border=1" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
<h2>CouchDB to the edge (JSConf)</h2>
<p>This is a talk which Chris Anderson and Jan Lehnardt gave in JSConf 2009 titled “CouchDB to the edge”. They give a nice introduction to CouchDB and also explain about how to write offline web apps that can synchronize the data once they are online.</p>
<p>You can view the <a href="http://blip.tv/file/2422779/">video in blip.tv</a>. I have embedded it below for easy viewing.</p>
<p> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="346" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://blip.tv/play/g_MngZWNJAI" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="346" src="http://blip.tv/play/g_MngZWNJAI" allowfullscreen="true"></embed></object><br />
<h2>What&#8217;s new in CouchDB 0.11 and 1.0</h2>
<p>This is an upcoming webcast (again by O’Reilly) which will happen on June 22, 2010.</p>
<p>In this webcast, Jan Lehnardt will be talking about the new features that will be coming up in the latest version of CouchDB like Views, Replication, Authentication, Virtual Hosts and the Rewriter etc.</p>
<p>You can register for the webcast at the <a href="http://www.oreillynet.com/pub/e/1643">webcast’s homepage</a>.</p>
<p>I will also try to embed the video of this webcast once it is published till then happy couching <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h2>Update</h2>
<p>Videos from the latest O’Reilly are up now.</p>
<p>You can either view them as an <a href="https://oreilly.connectsolutions.com/l47897004/?launcher=false&amp;fcsContent=true&amp;pbMode=normal">Adobe Connect Pro archived recording</a> or in <a href="http://www.youtube.com/watch?v=4jtBQf41Ppc">youtube</a>. I have embedded the youtube video below for quick viewing.</p>
<p> <object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/4jtBQf41Ppc&amp;hl=en_US&amp;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/4jtBQf41Ppc&amp;hl=en_US&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object></p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/couchdb" title="CouchDB" rel="tag">CouchDB</a> | <a href="http://sudarmuthu.com/blog/tag/javascript" title="Javascript/jQuery" rel="tag">Javascript/jQuery</a> | <a href="http://sudarmuthu.com/blog/tag/jsconf" title="JSConf" rel="tag">JSConf</a> | <a href="http://sudarmuthu.com/blog/tag/videos" title="videos" rel="tag">videos</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2006/06/04/what-is-your-level-of-web-knowledge.html" title="What is your Level of web knowledge? (Jun 4, 2006)">What is your Level of web knowledge?</a> (Jun 4, 2006)</li>
	<li><a href="http://sudarmuthu.com/blog/2008/01/08/videos-from-pipescamp.html" title="Videos from pipesCamp (Jan 8, 2008)">Videos from pipesCamp</a> (Jan 8, 2008)</li>
	<li><a href="http://sudarmuthu.com/blog/2008/03/06/useful-jquery-links.html" title="Useful jQuery links (Mar 6, 2008)">Useful jQuery links</a> (Mar 6, 2008)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/02/06/notes-for-dom-is-a-mess-by-john-resig.html" title="Notes for &#8220;DOM is a mess&#8221; by John Resig (Feb 6, 2009)">Notes for &#8220;DOM is a mess&#8221; by John Resig</a> (Feb 6, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/03/27/jquery-later-a-settimeout-wrapper-in-jquery.html" title="jQuery.later &#8211; a setTimeout wrapper in jQuery (Mar 27, 2010)">jQuery.later &#8211; a setTimeout wrapper in jQuery</a> (Mar 27, 2010)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7MeA0ijRcJw:66WVFzJY9VY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7MeA0ijRcJw:66WVFzJY9VY:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7MeA0ijRcJw:66WVFzJY9VY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=7MeA0ijRcJw:66WVFzJY9VY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7MeA0ijRcJw:66WVFzJY9VY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=7MeA0ijRcJw:66WVFzJY9VY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7MeA0ijRcJw:66WVFzJY9VY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=7MeA0ijRcJw:66WVFzJY9VY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7MeA0ijRcJw:66WVFzJY9VY:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=7MeA0ijRcJw:66WVFzJY9VY:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7MeA0ijRcJw:66WVFzJY9VY:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=7MeA0ijRcJw:66WVFzJY9VY:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7MeA0ijRcJw:66WVFzJY9VY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/7MeA0ijRcJw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/06/17/excellent-videos-to-get-you-started-with-couchdb.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/06/17/excellent-videos-to-get-you-started-with-couchdb.html</feedburner:origLink></item>
		<item>
		<title>Using Memcache to improve PHP performance</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/CXqQcsBMXWg/using-memcache-to-improve-php-performance.html</link>
		<comments>http://sudarmuthu.com/blog/2010/05/30/using-memcache-to-improve-php-performance.html#comments</comments>
		<pubDate>Sun, 30 May 2010 07:27:25 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[Events/Camps]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[memcache]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/05/30/using-memcache-to-improve-php-performance.html</guid>
		<description><![CDATA[Yesterday, I talked about using memcache in PHP in the Bangalore PHP meetup.
There were lot of good questions and the discussion which followed after the presentation was very good. Thanks for the organizers for putting together a great event.
I have uploaded the slides which I used for the talk to my slideshare account.
I have also [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I talked about using memcache in PHP in the Bangalore PHP meetup.</p>
<p>There were lot of good questions and the discussion which followed after the presentation was very good. Thanks for the organizers for putting together a great event.</p>
<p>I have uploaded the slides which I used for the talk to my <a href="http://www.slideshare.net/Sudar/using-memcache-to-improve-php-performance">slideshare account</a>.</p>
<p>I have also embedded them below so that you can easily view them.</p>
<div id="__ss_4347798" style="width: 425px;"><strong style="margin: 12px 0px 4px; display: block;"><a title="Using memcache to improve php performance" href="http://www.slideshare.net/Sudar/using-memcache-to-improve-php-performance">Using memcache to improve php performance</a></strong><object id="__sse4347798" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=usingmemcachetoimprovephpperformance-100528230007-phpapp02&amp;stripped_title=using-memcache-to-improve-php-performance" /><param name="name" value="__sse4347798" /><param name="allowfullscreen" value="true" /><embed id="__sse4347798" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=usingmemcachetoimprovephpperformance-100528230007-phpapp02&amp;stripped_title=using-memcache-to-improve-php-performance" name="__sse4347798" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="padding-bottom: 12px; padding-left: 0px; padding-right: 0px; padding-top: 5px;">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/Sudar">Sudar Muthu</a>.</div>
</div>

	Tags: <a href="http://sudarmuthu.com/blog/tag/cache" title="cache" rel="tag">cache</a> | <a href="http://sudarmuthu.com/blog/tag/memcache" title="memcache" rel="tag">memcache</a> | <a href="http://sudarmuthu.com/blog/tag/performance" title="Performance" rel="tag">Performance</a> | <a href="http://sudarmuthu.com/blog/tag/php" title="PHP" rel="tag">PHP</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2006/08/07/what-is-your-ide.html" title="What is your IDE? (Aug 7, 2006)">What is your IDE?</a> (Aug 7, 2006)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/01/30/using-wordpress-as-a-platform.html" title="Using WordPress as a platform (Jan 30, 2010)">Using WordPress as a platform</a> (Jan 30, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2004/10/28/unveil-sql-server-peaks-performance.html" title="Unveil SQL Server Peak&#8217;s Performance (Oct 28, 2004)">Unveil SQL Server Peak&#8217;s Performance</a> (Oct 28, 2004)</li>
	<li><a href="http://sudarmuthu.com/blog/2004/10/16/phpmvc-framework.html" title="PHP MVC Framework (Oct 16, 2004)">PHP MVC Framework</a> (Oct 16, 2004)</li>
	<li><a href="http://sudarmuthu.com/blog/2004/11/14/php-elearning.html" title="PHP eLearning (Nov 14, 2004)">PHP eLearning</a> (Nov 14, 2004)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=CXqQcsBMXWg:hehCFxuHB5I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=CXqQcsBMXWg:hehCFxuHB5I:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=CXqQcsBMXWg:hehCFxuHB5I:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=CXqQcsBMXWg:hehCFxuHB5I:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=CXqQcsBMXWg:hehCFxuHB5I:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=CXqQcsBMXWg:hehCFxuHB5I:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=CXqQcsBMXWg:hehCFxuHB5I:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=CXqQcsBMXWg:hehCFxuHB5I:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=CXqQcsBMXWg:hehCFxuHB5I:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=CXqQcsBMXWg:hehCFxuHB5I:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=CXqQcsBMXWg:hehCFxuHB5I:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=CXqQcsBMXWg:hehCFxuHB5I:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=CXqQcsBMXWg:hehCFxuHB5I:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/CXqQcsBMXWg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/05/30/using-memcache-to-improve-php-performance.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/05/30/using-memcache-to-improve-php-performance.html</feedburner:origLink></item>
		<item>
		<title>Developing Android Apps – Part 2 – Week one – My notes</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/do6d78uDX0E/developing-android-apps-part-2-week-one-my-notes.html</link>
		<comments>http://sudarmuthu.com/blog/2010/05/30/developing-android-apps-part-2-week-one-my-notes.html#comments</comments>
		<pubDate>Sun, 30 May 2010 07:04:24 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Notes]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/05/30/developing-android-apps-part-2-week-one-my-notes.html</guid>
		<description><![CDATA[My notes for the week one class of developing Android apps in Java Class by OReilly]]></description>
			<content:encoded><![CDATA[<p>This week, I was not able to attend the full class due to time constraint, since I returned from a vacation on Tuesday. So my notes will not be as detailed as it used to be. I will try to provide detailed notes next week.</p>
<h2>Getting authenticated with oAuth</h2>
<p>So basically this week, Tony explained how to setup oAuth authentication, so that we can use the Twitter API without explicitly asking for password from the users.</p>
<p>In order to set it up, we have to first register for an app from Twitter. You can follow the screencast at the end of <a href="http://sudarmuthu.com/blog/2010/05/21/developing-android-apps-part-2-overview-my-notes.html">last week’s notes</a> to do that.</p>
<h2>Twitter4J</h2>
<p>The next step is to include the Twitter4J jar. You can download it from the <a href="http://twitter4j.org/en/index.html">project homepage</a> and then you have to copy it to the /lib directory of your android project. If you are using windows, then you can follow the steps given in this <a href="http://forums.oreilly.com/content/Developing-Android-Applications/20164/How-To-Add-A-Jar-To-Your-Project-In-Eclipse/">forum post</a> to add Twitter4J to your android project.</p>
<h2>Source code</h2>
<p>You can access the source code for this week’s class from the <a href="http://github.com/thillerson/oreilly_android/tree/master/Class_2_Twitter_Client">official github repository</a>.</p>
<p>See you all next week with detailed notes <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/android" title="Android" rel="tag">Android</a> | <a href="http://sudarmuthu.com/blog/tag/java" title="Java" rel="tag">Java</a> | <a href="http://sudarmuthu.com/blog/tag/notes" title="Notes" rel="tag">Notes</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2010/02/23/using-preference-api-in-android-applications.html" title="Using preference API in Android applications (Feb 23, 2010)">Using preference API in Android applications</a> (Feb 23, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/03/02/using-arrayadapter-and-listview-in-android-applications.html" title="Using ArrayAdapter and ListView in Android Applications (Mar 2, 2010)">Using ArrayAdapter and ListView in Android Applications</a> (Mar 2, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/05/21/developing-android-apps-part-2-overview-my-notes.html" title="Developing Android Apps &#8211; Part 2 &ndash; Overview &#8211; My notes (May 21, 2010)">Developing Android Apps &#8211; Part 2 &ndash; Overview &#8211; My notes</a> (May 21, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/03/03/developing-android-applications-in-java-session-3-my-notes.html" title="Developing Android applications in Java &#8211; Session 3 &#8211; My notes (Mar 3, 2010)">Developing Android applications in Java &#8211; Session 3 &#8211; My notes</a> (Mar 3, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/02/25/developing-android-applications-in-java-session-2-my-notes.html" title="Developing Android applications in Java &#8211; Session 2 &#8211; My notes (Feb 25, 2010)">Developing Android applications in Java &#8211; Session 2 &#8211; My notes</a> (Feb 25, 2010)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=do6d78uDX0E:VLhSivJeqtk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=do6d78uDX0E:VLhSivJeqtk:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=do6d78uDX0E:VLhSivJeqtk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=do6d78uDX0E:VLhSivJeqtk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=do6d78uDX0E:VLhSivJeqtk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=do6d78uDX0E:VLhSivJeqtk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=do6d78uDX0E:VLhSivJeqtk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=do6d78uDX0E:VLhSivJeqtk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=do6d78uDX0E:VLhSivJeqtk:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=do6d78uDX0E:VLhSivJeqtk:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=do6d78uDX0E:VLhSivJeqtk:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=do6d78uDX0E:VLhSivJeqtk:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=do6d78uDX0E:VLhSivJeqtk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/do6d78uDX0E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/05/30/developing-android-apps-part-2-week-one-my-notes.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/05/30/developing-android-apps-part-2-week-one-my-notes.html</feedburner:origLink></item>
		<item>
		<title>Developing Android Apps – Part 2 – Overview – My notes</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/qeI7ObMf0Ko/developing-android-apps-part-2-overview-my-notes.html</link>
		<comments>http://sudarmuthu.com/blog/2010/05/21/developing-android-apps-part-2-overview-my-notes.html#comments</comments>
		<pubDate>Thu, 20 May 2010 18:34:42 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Notes]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/05/21/developing-android-apps-part-2-overview-my-notes.html</guid>
		<description><![CDATA[My notes for the overview session of the Developing android application in Java course]]></description>
			<content:encoded><![CDATA[<p>As I <a href="http://sudarmuthu.com/blog/2010/04/19/free-online-course-on-developing-android-applications-using-java-part-2.html">mentioned before</a>, Creative tech is conducting part 2 of the Developing Android App class. Like <a href="http://sudarmuthu.com/blog/2010/02/10/developing-android-applications-in-java-overview-my-notes.html">Part 1</a>, I am planning to post my notes here so that it would be helpful for others too.</p>
<h2>Introduction</h2>
<p>This week, we had the Overview session by Tony (the presenter). The training started off with a brief explanation of the concepts that were covered in Part 1. Tony then explained briefly about Twitter and the explained what are the things that will be covered in the next 5 classes.</p>
<p>The following is the schedule for the next 5 weeks.</p>
<h2>Week one</h2>
<ul>
<li>Getting Authenticated with Twitter</li>
<li>oAuth</li>
<li>Twitter4J</li>
<li>Webview and webview Client</li>
</ul>
<h2>Week two</h2>
<ul>
<li>Advanced ListView</li>
<li>List headers and footers</li>
<li>Concurrent Programming with Threads</li>
<li>Handlers</li>
</ul>
<h2>Week Three</h2>
<ul>
<li>Tweeting from App</li>
<li>Creating menus</li>
<li>Using AsynTask to run many Concurrent tasks</li>
<li>Posting tweets</li>
</ul>
<h2>Week Four</h2>
<ul>
<li>Adding style to the App</li>
<li>Themes</li>
<li>Styles</li>
<li>Selectors and XML Graphics</li>
<li>Designing for multiple screen dimensions</li>
</ul>
<h2>Week Five</h2>
<ul>
<li>Posting photos from the app</li>
<li>Getting photos from the library</li>
<li>Getting photos from the Camera</li>
<li>Posting photos with twitpic4J</li>
</ul>
<h2>Homework</h2>
<p>The homework for this week is to register an application and get authentication keys to use oAuth with Twitter. This has to be done before the next week class so that you can use to try next week’s code.</p>
<p>Tony has created the <a href="http://www.youtube.com/watch?v=XkU5PRbnaJA">following screencast</a> which explains the process of registering your application with Twitter.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="405" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/XkU5PRbnaJA&amp;hl=en_US&amp;fs=1&amp;border=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="500" height="405" src="http://www.youtube.com/v/XkU5PRbnaJA&amp;hl=en_US&amp;fs=1&amp;border=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>There are lot of really interesting things lined up and I am very excited about this course. See you next week <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>You can also <a href="http://feeds.feedburner.com/SudarBlogs">subscribe to my blog’s RSS feed</a> or <a href="http://twitter.com/sudarmuthu">follow me in Twitter</a> to receive updates about my notes for the next sessions.</p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/android" title="Android" rel="tag">Android</a> | <a href="http://sudarmuthu.com/blog/tag/java" title="Java" rel="tag">Java</a> | <a href="http://sudarmuthu.com/blog/tag/notes" title="Notes" rel="tag">Notes</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2010/02/23/using-preference-api-in-android-applications.html" title="Using preference API in Android applications (Feb 23, 2010)">Using preference API in Android applications</a> (Feb 23, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/03/02/using-arrayadapter-and-listview-in-android-applications.html" title="Using ArrayAdapter and ListView in Android Applications (Mar 2, 2010)">Using ArrayAdapter and ListView in Android Applications</a> (Mar 2, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/05/30/developing-android-apps-part-2-week-one-my-notes.html" title="Developing Android Apps &#8211; Part 2 &#8211; Week one &#8211; My notes (May 30, 2010)">Developing Android Apps &#8211; Part 2 &#8211; Week one &#8211; My notes</a> (May 30, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/03/03/developing-android-applications-in-java-session-3-my-notes.html" title="Developing Android applications in Java &#8211; Session 3 &#8211; My notes (Mar 3, 2010)">Developing Android applications in Java &#8211; Session 3 &#8211; My notes</a> (Mar 3, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/02/25/developing-android-applications-in-java-session-2-my-notes.html" title="Developing Android applications in Java &#8211; Session 2 &#8211; My notes (Feb 25, 2010)">Developing Android applications in Java &#8211; Session 2 &#8211; My notes</a> (Feb 25, 2010)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=qeI7ObMf0Ko:qmCQBWVHuKU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=qeI7ObMf0Ko:qmCQBWVHuKU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=qeI7ObMf0Ko:qmCQBWVHuKU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=qeI7ObMf0Ko:qmCQBWVHuKU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=qeI7ObMf0Ko:qmCQBWVHuKU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=qeI7ObMf0Ko:qmCQBWVHuKU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=qeI7ObMf0Ko:qmCQBWVHuKU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=qeI7ObMf0Ko:qmCQBWVHuKU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=qeI7ObMf0Ko:qmCQBWVHuKU:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=qeI7ObMf0Ko:qmCQBWVHuKU:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=qeI7ObMf0Ko:qmCQBWVHuKU:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=qeI7ObMf0Ko:qmCQBWVHuKU:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=qeI7ObMf0Ko:qmCQBWVHuKU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/qeI7ObMf0Ko" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/05/21/developing-android-apps-part-2-overview-my-notes.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/05/21/developing-android-apps-part-2-overview-my-notes.html</feedburner:origLink></item>
		<item>
		<title>Posts by Tag WordPress Plugin now supports shortcodes</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/7Qr8mipX3x8/posts-by-tag-wordpress-plugin-now-supports-shortcodes.html</link>
		<comments>http://sudarmuthu.com/blog/2010/05/17/posts-by-tag-wordpress-plugin-now-supports-shortcodes.html#comments</comments>
		<pubDate>Mon, 17 May 2010 17:04:59 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Posts By Tag]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/05/17/posts-by-tag-wordpress-plugin-now-supports-shortcodes.html</guid>
		<description><![CDATA[Posts by Tag WordPress Plugin now supports shortcodes and the ability to sort by title]]></description>
			<content:encoded><![CDATA[<p>One of the most requested features for my <a href="http://sudarmuthu.com/wordpress/posts-by-tag">Posts by Tag WordPress Plugin</a> was the support for shortcodes. Finally I got some free time over the weekend and was able to implement it.</p>
<h2>Shortcodes</h2>
<p>In addition to supporting sidebar widgets and template tags, the Posts by Tag WordPress now also support shorcodes.</p>
<p>You can embed a list of posts from a set of tags by using the following shortcode anywhere in your post or page.</p>
<p><code>[posts-by-tag tags = “tag1, tag2”][/posts-by-tag]</code></p>
<p>In addition to using the tags attribute, you can also use other attributes that are supported by the template tag. For the full list checkout the readme file or the <a href="http://sudarmuthu.com/wordpress/posts-by-tag">Plugins homepage</a>.</p>
<h2>Ability to sort by title</h2>
<p>In addition to the support for shortcodes, I have also added the ability to sort by post title in this release. You can choose to sort by title in the sidebar widget or specify in the $order_by param to the template tag or as an attribute to the shortcode.</p>
<h2>Download</h2>
<p>You can download the latest version of the Plugin from the <a href="http://sudarmuthu.com/wordpress/posts-by-tag">Plugin’s homepage</a>.</p>
<h2>Feedback</h2>
<p>Please keep the feedback coming and if you want me to add any new features or find a bug, please leave a comment.</p>
<h2>Stay updated</h2>
<p>I would be posting updates about this Plugin in my blog and in Twitter. If you want to be informed when new version of this Plugin is released, then you can either subscribe to this <a href="http://sudarmuthu.com/feed">blog’s RSS feed</a> or <a href="http://twitter.com/sudarmuthu">follow me in Twitter</a>.</p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/plugin" title="Plugin" rel="tag">Plugin</a> | <a href="http://sudarmuthu.com/blog/tag/posts-by-tag" title="Posts By Tag" rel="tag">Posts By Tag</a> | <a href="http://sudarmuthu.com/blog/tag/wordpress" title="WordPress" rel="tag">WordPress</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2009/08/14/posts-by-tag-0-3.html" title="Posts By Tag 0.3 (Aug 14, 2009)">Posts By Tag 0.3</a> (Aug 14, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/07/26/display-posts-from-a-set-of-tags-in-the-sidebar.html" title="Display posts from a set of tags in the sidebar (Jul 26, 2009)">Display posts from a set of tags in the sidebar</a> (Jul 26, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/09/17/ability-to-sort-posts-in-posts-by-tag-plugin.html" title="Ability to sort posts, in Posts By Tag Plugin (Sep 17, 2009)">Ability to sort posts, in Posts By Tag Plugin</a> (Sep 17, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/03/18/ability-to-hide-author-name-in-posts-by-tag-plugin.html" title="Ability to hide author name in Posts By Tag Plugin (Mar 18, 2010)">Ability to hide author name in Posts By Tag Plugin</a> (Mar 18, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/02/26/year-end-stats-for-2008.html" title="Year End Stats for 2008 (Feb 26, 2009)">Year End Stats for 2008</a> (Feb 26, 2009)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7Qr8mipX3x8:GHALu95iXkE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7Qr8mipX3x8:GHALu95iXkE:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7Qr8mipX3x8:GHALu95iXkE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=7Qr8mipX3x8:GHALu95iXkE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7Qr8mipX3x8:GHALu95iXkE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=7Qr8mipX3x8:GHALu95iXkE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7Qr8mipX3x8:GHALu95iXkE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=7Qr8mipX3x8:GHALu95iXkE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7Qr8mipX3x8:GHALu95iXkE:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=7Qr8mipX3x8:GHALu95iXkE:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7Qr8mipX3x8:GHALu95iXkE:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=7Qr8mipX3x8:GHALu95iXkE:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7Qr8mipX3x8:GHALu95iXkE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/7Qr8mipX3x8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/05/17/posts-by-tag-wordpress-plugin-now-supports-shortcodes.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/05/17/posts-by-tag-wordpress-plugin-now-supports-shortcodes.html</feedburner:origLink></item>
		<item>
		<title>Android on iPhone</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/RmxC7lTYjX8/android-on-iphone.html</link>
		<comments>http://sudarmuthu.com/blog/2010/04/24/android-on-iphone.html#comments</comments>
		<pubDate>Sat, 24 Apr 2010 06:51:52 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[iPod/Apple]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/04/24/android-on-iphone.html</guid>
		<description><![CDATA[Now you can have android on iPhone.]]></description>
			<content:encoded><![CDATA[<p>Yes, you read the title correctly. Now it is possible to run Android on iPhone (and can have flash too <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</p>
<p>Planentbeing from linux on iphone project has <a href="http://linuxoniphone.blogspot.com/2010/04/ive-been-working-on-this-quietly-in.html">successfully ported Android to run on iPhone</a>. You can see the following video where he demos dual booting iPhone with android.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/5yO2KQHkt4A&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/5yO2KQHkt4A&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Man, seriously this guy is a genius and I really adore his reverse engineering skills.</p>
<p>You can also <a href="http://linuxoniphone.blogspot.com/2010/04/ive-been-working-on-this-quietly-in.html">download pre-built images and source</a> and can try it out, if you have an old iPhone lying around.</p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/android" title="Android" rel="tag">Android</a> | <a href="http://sudarmuthu.com/blog/tag/iphone" title="iPhone" rel="tag">iPhone</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2010/02/23/using-preference-api-in-android-applications.html" title="Using preference API in Android applications (Feb 23, 2010)">Using preference API in Android applications</a> (Feb 23, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/03/02/using-arrayadapter-and-listview-in-android-applications.html" title="Using ArrayAdapter and ListView in Android Applications (Mar 2, 2010)">Using ArrayAdapter and ListView in Android Applications</a> (Mar 2, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/07/11/updating-htc-hero-gsm-to-android-2-1.html" title="Updating HTC Hero (GSM) to Android 2.1 (Jul 11, 2010)">Updating HTC Hero (GSM) to Android 2.1</a> (Jul 11, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/02/12/the-structure-of-an-android-project.html" title="The structure of an Android project (Feb 12, 2010)">The structure of an Android project</a> (Feb 12, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2007/01/11/my-new-year-resolutions.html" title="My New Year resolutions (Jan 11, 2007)">My New Year resolutions</a> (Jan 11, 2007)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=RmxC7lTYjX8:Yq0TmbJB-nA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=RmxC7lTYjX8:Yq0TmbJB-nA:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=RmxC7lTYjX8:Yq0TmbJB-nA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=RmxC7lTYjX8:Yq0TmbJB-nA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=RmxC7lTYjX8:Yq0TmbJB-nA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=RmxC7lTYjX8:Yq0TmbJB-nA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=RmxC7lTYjX8:Yq0TmbJB-nA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=RmxC7lTYjX8:Yq0TmbJB-nA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=RmxC7lTYjX8:Yq0TmbJB-nA:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=RmxC7lTYjX8:Yq0TmbJB-nA:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=RmxC7lTYjX8:Yq0TmbJB-nA:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=RmxC7lTYjX8:Yq0TmbJB-nA:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=RmxC7lTYjX8:Yq0TmbJB-nA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/RmxC7lTYjX8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/04/24/android-on-iphone.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/04/24/android-on-iphone.html</feedburner:origLink></item>
		<item>
		<title>Free online course on developing android applications using Java – Part 2</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/Zi8TkfL-sgE/free-online-course-on-developing-android-applications-using-java-part-2.html</link>
		<comments>http://sudarmuthu.com/blog/2010/04/19/free-online-course-on-developing-android-applications-using-java-part-2.html#comments</comments>
		<pubDate>Mon, 19 Apr 2010 16:50:40 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[CreativeLive]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[O'Reilly]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/04/19/free-online-course-on-developing-android-applications-using-java-part-2.html</guid>
		<description><![CDATA[CreativeLive is conducting a free online course about developing android applications in Java]]></description>
			<content:encoded><![CDATA[<p>CreativeLive who conducted a <a href="http://sudarmuthu.com/blog/2010/02/02/free-online-course-on-developing-android-applications-using-java.html">free 6 weeks course on developing Android applications</a> with Java are back again with a follow up course. The part 2 course is also a 6 weeks course (like part 1) and will be conducted by Tony Hillerson, who also conduced the first course.</p>
<p>In this course, a Twitter client would be created and will cover OAuth, access the Twitter APIs, and also how to post photos to Twitter amount other things.</p>
<p>The part 2 of this course is also free to watch live, like the first course. You can check out the schedule in the <a href="http://creativelive.com/courses/android2/">official page</a>.</p>
<p>If you have attended the first course or if you are interested in Android, then do register for the course, at <a href="http://creativelive.com/courses/android2/">the official page</a> and follow it up. <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/android" title="Android" rel="tag">Android</a> | <a href="http://sudarmuthu.com/blog/tag/creativelive" title="CreativeLive" rel="tag">CreativeLive</a> | <a href="http://sudarmuthu.com/blog/tag/java" title="Java" rel="tag">Java</a> | <a href="http://sudarmuthu.com/blog/tag/oreilly" title="O&#039;Reilly" rel="tag">O&#039;Reilly</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2010/02/10/developing-android-applications-in-java-overview-my-notes.html" title="Developing Android applications in Java &ndash; Overview &ndash; My Notes (Feb 10, 2010)">Developing Android applications in Java &ndash; Overview &ndash; My Notes</a> (Feb 10, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/02/23/using-preference-api-in-android-applications.html" title="Using preference API in Android applications (Feb 23, 2010)">Using preference API in Android applications</a> (Feb 23, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/03/02/using-arrayadapter-and-listview-in-android-applications.html" title="Using ArrayAdapter and ListView in Android Applications (Mar 2, 2010)">Using ArrayAdapter and ListView in Android Applications</a> (Mar 2, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/02/12/the-structure-of-an-android-project.html" title="The structure of an Android project (Feb 12, 2010)">The structure of an Android project</a> (Feb 12, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/02/02/free-online-course-on-developing-android-applications-using-java.html" title="Free online course on developing android applications using Java (Feb 2, 2010)">Free online course on developing android applications using Java</a> (Feb 2, 2010)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=Zi8TkfL-sgE:E3uQOkoEuS0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=Zi8TkfL-sgE:E3uQOkoEuS0:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=Zi8TkfL-sgE:E3uQOkoEuS0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=Zi8TkfL-sgE:E3uQOkoEuS0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=Zi8TkfL-sgE:E3uQOkoEuS0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=Zi8TkfL-sgE:E3uQOkoEuS0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=Zi8TkfL-sgE:E3uQOkoEuS0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=Zi8TkfL-sgE:E3uQOkoEuS0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=Zi8TkfL-sgE:E3uQOkoEuS0:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=Zi8TkfL-sgE:E3uQOkoEuS0:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=Zi8TkfL-sgE:E3uQOkoEuS0:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=Zi8TkfL-sgE:E3uQOkoEuS0:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=Zi8TkfL-sgE:E3uQOkoEuS0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/Zi8TkfL-sgE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/04/19/free-online-course-on-developing-android-applications-using-java-part-2.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/04/19/free-online-course-on-developing-android-applications-using-java-part-2.html</feedburner:origLink></item>
		<item>
		<title>10 Open Source Android Apps which every Android developer must look into</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/T8pweHPbSoM/10-open-source-android-apps-which-every-android-developer-must-look-into.html</link>
		<comments>http://sudarmuthu.com/blog/2010/04/03/10-open-source-android-apps-which-every-android-developer-must-look-into.html#comments</comments>
		<pubDate>Sat, 03 Apr 2010 17:55:33 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/04/03/10-open-source-android-apps-which-every-android-developer-must-look-into.html</guid>
		<description><![CDATA[10 Excellent Open Source Android Apps which every Android developer can learn from.]]></description>
			<content:encoded><![CDATA[<p>I used to read code from popular open source projects to see how others implement certain functionalities and also to learn from them. (I am a firm believer of the fact that you have to read good code to write good code)</p>
<p>Recently I have been following up a couple of good open source Android apps and thought of listing them here so that it could be useful for others.</p>
<h2>Sample Apps by Android Team</h2>
<p>Could there be a better way to start without looking at the code of the developers who developed the framework? <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  These are 15 different android sample apps created by the core developers of the Android framework. These include a couple of games, photostream, time display, home screen shortcuts etc.</p>
<p>url : <a href="http://code.google.com/p/apps-for-android/">http://code.google.com/p/apps-for-android/</a></p>
<h2>Remote Droid</h2>
<p>RemoteDroid is an android app which turns your phone into a wireless keyboard and mouse with touchpad, using your own wireless network. You can learn lot of things like connecting to a network, controlling user finger movement etc from its source.</p>
<p>url: <a href="http://code.google.com/p/remotedroid/">http://code.google.com/p/remotedroid/</a></p>
<h2>TorProxy and Shadow</h2>
<p>TorProxy is an implementation of Tor for Android mobiles. Together with Shadow, it allows you to browse website anonymously from your mobile phone. You can learn about tunnelling socket connections, managing cookies etc by reading its source code.</p>
<p>url: <a href="http://www.cl.cam.ac.uk/research/dtg/code/svn/android-tor/">http://www.cl.cam.ac.uk/research/dtg/code/svn/android-tor/</a> and <a href="http://www.cl.cam.ac.uk/research/dtg/android/tor/">http://www.cl.cam.ac.uk/research/dtg/android/tor/</a></p>
<h2>Android SMSPopup</h2>
<p>It is an Android app that intercepts incoming text messages and displays them in a popup window. Apart from being a time saver, this app also shows us how to interface with the built-in app that manages SMS.</p>
<p>url: <a href="http://code.google.com/p/android-smspopup/">http://code.google.com/p/android-smspopup/</a></p>
<h2>Standup Timer</h2>
<p>Standup Timer is an Android application that acts as a simple, stand-up meeting stop watch. It can be used to ensure your stand-up meeting finishes on time, and gives all the participants an equal share of time to state their progress. You can learn how to use the timer functionality by reading the source code. Also this apps has clear distinction between view, model etc and has lot of util methods which we can reuse in our app.</p>
<p>url: <a href="http://github.com/jwood/standup-timer">http://github.com/jwood/standup-timer</a></p>
<h2>Foursquare</h2>
<p>It is a four square client for android. This app is basically divided into two components; <a name="Foursquare_for_Android_Design">the API (com.joelapenna.foursquare) and the Android front-end (com.joelapenna.foursquared).</a> Reading the source code you can find out how to make <a name="HTTP">synchronous, multi-threaded, http connections.</a></p>
<p>url: <a href="http://code.google.com/p/foursquared/">http://code.google.com/p/foursquared/</a></p>
<h2>Pedometer</h2>
<p>The pedometer app tries to take the number of steps you take every day. Even though the count is not accurate, you can learn different things like interacting with accelerometer, doing voice updates, running background services etc by reading its source code.</p>
<p>url: <a href="http://code.google.com/p/pedometer/">http://code.google.com/p/pedometer/</a></p>
<h2>opensudoku-android</h2>
<p>OpenSudoku is a simple open source sudoku game. You can learn how to display things in a grid in your view and also how to interact with a website by reading its source code.</p>
<p>url: <a href="http://code.google.com/p/opensudoku-android/">http://code.google.com/p/opensudoku-android/</a></p>
<h2>ConnectBot</h2>
<p>ConnectBot is a Secure Shell client for the Android platform. There are lot of good things about this app’s source code. Check it out for yourself <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://code.google.com/p/connectbot/">http://code.google.com/p/connectbot/</a></p>
<h2>WordPress for Android</h2>
<p>How can you expect a list of apps from me without mentioning WordPress <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  This android app is from the official WordPress development team. You can learn how to make XMLRPC calls (in addition to other cool things) by reading its source code.</p>
<p>url: <a href="http://android.svn.wordpress.org/trunk/">http://android.svn.wordpress.org/trunk/</a></p>
<p>If you got any good open source android apps from which we can learn something, then do leave a comment and I will add them up here, till then happy reading <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/android" title="Android" rel="tag">Android</a> | <a href="http://sudarmuthu.com/blog/tag/java" title="Java" rel="tag">Java</a> | <a href="http://sudarmuthu.com/blog/tag/open-source" title="Open Source" rel="tag">Open Source</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2010/02/23/using-preference-api-in-android-applications.html" title="Using preference API in Android applications (Feb 23, 2010)">Using preference API in Android applications</a> (Feb 23, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/03/02/using-arrayadapter-and-listview-in-android-applications.html" title="Using ArrayAdapter and ListView in Android Applications (Mar 2, 2010)">Using ArrayAdapter and ListView in Android Applications</a> (Mar 2, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/02/12/the-structure-of-an-android-project.html" title="The structure of an Android project (Feb 12, 2010)">The structure of an Android project</a> (Feb 12, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/04/19/free-online-course-on-developing-android-applications-using-java-part-2.html" title="Free online course on developing android applications using Java &#8211; Part 2 (Apr 19, 2010)">Free online course on developing android applications using Java &#8211; Part 2</a> (Apr 19, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/02/02/free-online-course-on-developing-android-applications-using-java.html" title="Free online course on developing android applications using Java (Feb 2, 2010)">Free online course on developing android applications using Java</a> (Feb 2, 2010)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=T8pweHPbSoM:ZUMUlc1ZSiY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=T8pweHPbSoM:ZUMUlc1ZSiY:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=T8pweHPbSoM:ZUMUlc1ZSiY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=T8pweHPbSoM:ZUMUlc1ZSiY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=T8pweHPbSoM:ZUMUlc1ZSiY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=T8pweHPbSoM:ZUMUlc1ZSiY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=T8pweHPbSoM:ZUMUlc1ZSiY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=T8pweHPbSoM:ZUMUlc1ZSiY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=T8pweHPbSoM:ZUMUlc1ZSiY:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=T8pweHPbSoM:ZUMUlc1ZSiY:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=T8pweHPbSoM:ZUMUlc1ZSiY:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=T8pweHPbSoM:ZUMUlc1ZSiY:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=T8pweHPbSoM:ZUMUlc1ZSiY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/T8pweHPbSoM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/04/03/10-open-source-android-apps-which-every-android-developer-must-look-into.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/04/03/10-open-source-android-apps-which-every-android-developer-must-look-into.html</feedburner:origLink></item>
		<item>
		<title>jQuery.later – a setTimeout wrapper in jQuery</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/8PbhIdq8_HA/jquery-later-a-settimeout-wrapper-in-jquery.html</link>
		<comments>http://sudarmuthu.com/blog/2010/03/27/jquery-later-a-settimeout-wrapper-in-jquery.html#comments</comments>
		<pubDate>Sat, 27 Mar 2010 06:48:55 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[Javascript/jQuery]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Plugin]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/03/27/jquery-later-a-settimeout-wrapper-in-jquery.html</guid>
		<description><![CDATA[jQuery.later is a jQuery Plugin which provides a wrapper for setTimeout]]></description>
			<content:encoded><![CDATA[<p>Recently I have been playing around with YUI 3 and found that it had a <a href="http://developer.yahoo.com/yui/3/api/YUI.html#method_later">nice wrapper for setTimeout/setInterval</a> which nicely encapsulated it. </p>
<p>I thought it would be nice to have a wrapper like that for jQuery, which led to this nice little Plugin for jQuery called jQuery Later</p>
<h2>Download</h2>
<p>You can download it from <a href="http://github.com/sudar/jquery.later">my github page</a>. It also includes a html page which tells you how to use it.</p>
<h2>Syntax</h2>
<p>jQuery later function follows the <a href="http://developer.yahoo.com/yui/3/api/YUI.html#method_later">same syntax as that of YUI</a>. </p>
<p><code>jQuery.<strong>later</strong> ( when , o , fn , data , periodic )</code></p>
<p>Executes the supplied function in the context of the supplied object &#8216;when&#8217; milliseconds later. Executes the function a single time unless periodic is set to true.</p>
<dl>
<dt>Parameters: </dt>
<dd><code>when &lt;int&gt; </code>the number of milliseconds to wait until the fn is executed.</dd>
<dd><code>o &lt;object&gt; </code>the context object.</dd>
<dd><code>fn &lt;Function|String&gt; </code>the function to execute or the name of the method in the &#8216;o&#8217; object to execute.</dd>
<dd><code>data &lt;object&gt; </code>[Array] data that is provided to the function. This accepts either a single item or an array. If an array is provided, the function is executed with one parameter for each array item. If you need to pass a single array parameter, it needs to be wrapped in an array [myarray].</dd>
<dd><code>periodic &lt;boolean&gt; </code>if true, executes continuously at supplied interval until canceled.</dd>
</dl>
<dl>
<dt>Returns: <code>object</code></dt>
<dd>a timer object. Call the cancel() method on this object to stop the timer.</dd>
</dl>
<h2>License</h2>
<p>Released under MIT License</p>
<p>PS: BTW this is my first jQuery Plugin. <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/javascript" title="Javascript/jQuery" rel="tag">Javascript/jQuery</a> | <a href="http://sudarmuthu.com/blog/tag/jquery" title="jQuery" rel="tag">jQuery</a> | <a href="http://sudarmuthu.com/blog/tag/plugin" title="Plugin" rel="tag">Plugin</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2008/03/06/useful-jquery-links.html" title="Useful jQuery links (Mar 6, 2008)">Useful jQuery links</a> (Mar 6, 2008)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/02/06/notes-for-dom-is-a-mess-by-john-resig.html" title="Notes for &#8220;DOM is a mess&#8221; by John Resig (Feb 6, 2009)">Notes for &#8220;DOM is a mess&#8221; by John Resig</a> (Feb 6, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/09/02/find-duplicates-values-in-a-set-of-textboxes-using-jquery.html" title="Find duplicates values in a set of textboxes using jQuery (Sep 2, 2009)">Find duplicates values in a set of textboxes using jQuery</a> (Sep 2, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/02/27/evangelizing-jquery.html" title="Evangelizing jQuery (Feb 27, 2009)">Evangelizing jQuery</a> (Feb 27, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/02/26/year-end-stats-for-2008.html" title="Year End Stats for 2008 (Feb 26, 2009)">Year End Stats for 2008</a> (Feb 26, 2009)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=8PbhIdq8_HA:pFF03hrVVfY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=8PbhIdq8_HA:pFF03hrVVfY:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=8PbhIdq8_HA:pFF03hrVVfY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=8PbhIdq8_HA:pFF03hrVVfY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=8PbhIdq8_HA:pFF03hrVVfY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=8PbhIdq8_HA:pFF03hrVVfY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=8PbhIdq8_HA:pFF03hrVVfY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=8PbhIdq8_HA:pFF03hrVVfY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=8PbhIdq8_HA:pFF03hrVVfY:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=8PbhIdq8_HA:pFF03hrVVfY:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=8PbhIdq8_HA:pFF03hrVVfY:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=8PbhIdq8_HA:pFF03hrVVfY:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=8PbhIdq8_HA:pFF03hrVVfY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/8PbhIdq8_HA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/03/27/jquery-later-a-settimeout-wrapper-in-jquery.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/03/27/jquery-later-a-settimeout-wrapper-in-jquery.html</feedburner:origLink></item>
		<item>
		<title>Ability to hide author name in Posts By Tag Plugin</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/sUxcNpdcZjU/ability-to-hide-author-name-in-posts-by-tag-plugin.html</link>
		<comments>http://sudarmuthu.com/blog/2010/03/18/ability-to-hide-author-name-in-posts-by-tag-plugin.html#comments</comments>
		<pubDate>Thu, 18 Mar 2010 13:48:13 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Posts By Tag]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/03/18/ability-to-hide-author-name-in-posts-by-tag-plugin.html</guid>
		<description><![CDATA[My Posts By Tag Plugin now has the ability to prevent the author name from getting displayed in the sidebar widget]]></description>
			<content:encoded><![CDATA[<p>Another day another update to one of my WordPress Plugins. <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>This time it is <a href="http://sudarmuthu.com/wordpress/posts-by-tag">Posts By Tag Plugin</a>. I have updated it to v0.6 and have added the ability to prevent the author name from getting displayed in the widget. Normally in single user blogs it doesn’t make much sense to display the author name (since all are going to be the same user).</p>
<p>In the new version, you have to ability to choose whether you want the author name to be displayed or not.</p>
<h2>Screenshot</h2>
<p>The following is the screenshot of the new widget admin area.</p>
<p><a href="http://sudarmuthu.com/wp/wp-content/uploads/2010/03/postbytagswordpressplugin.png"><img style="display: inline; border: 0px;" title="post-by-tags-wordpress-plugin" src="http://sudarmuthu.com/wp/wp-content/uploads/2010/03/postbytagswordpressplugin_thumb.png" border="0" alt="post-by-tags-wordpress-plugin" width="275" height="364" /></a></p>
<h2>Download</h2>
<p>You can download the latest version of the Plugin from the <a href="http://sudarmuthu.com/wordpress/posts-by-tag">Plugin’s homepage</a>.</p>
<h2>Feedback</h2>
<p>Please keep the feedback coming and if you want me to add any new features or find a bug, please leave a comment.</p>
<h2>Stay updated</h2>
<p>I would be posting updates about this Plugin in my blog and in Twitter. If you want to be informed when new version of this Plugin is released, then you can either subscribe to this <a href="http://sudarmuthu.com/feed">blog’s RSS feed</a> or <a href="http://twitter.com/sudarmuthu">follow me in Twitter</a>.</p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/plugin" title="Plugin" rel="tag">Plugin</a> | <a href="http://sudarmuthu.com/blog/tag/posts-by-tag" title="Posts By Tag" rel="tag">Posts By Tag</a> | <a href="http://sudarmuthu.com/blog/tag/wordpress" title="WordPress" rel="tag">WordPress</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2010/05/17/posts-by-tag-wordpress-plugin-now-supports-shortcodes.html" title="Posts by Tag WordPress Plugin now supports shortcodes (May 17, 2010)">Posts by Tag WordPress Plugin now supports shortcodes</a> (May 17, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/08/14/posts-by-tag-0-3.html" title="Posts By Tag 0.3 (Aug 14, 2009)">Posts By Tag 0.3</a> (Aug 14, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/07/26/display-posts-from-a-set-of-tags-in-the-sidebar.html" title="Display posts from a set of tags in the sidebar (Jul 26, 2009)">Display posts from a set of tags in the sidebar</a> (Jul 26, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/09/17/ability-to-sort-posts-in-posts-by-tag-plugin.html" title="Ability to sort posts, in Posts By Tag Plugin (Sep 17, 2009)">Ability to sort posts, in Posts By Tag Plugin</a> (Sep 17, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/02/26/year-end-stats-for-2008.html" title="Year End Stats for 2008 (Feb 26, 2009)">Year End Stats for 2008</a> (Feb 26, 2009)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=sUxcNpdcZjU:KXuwJrXEypc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=sUxcNpdcZjU:KXuwJrXEypc:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=sUxcNpdcZjU:KXuwJrXEypc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=sUxcNpdcZjU:KXuwJrXEypc:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=sUxcNpdcZjU:KXuwJrXEypc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=sUxcNpdcZjU:KXuwJrXEypc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=sUxcNpdcZjU:KXuwJrXEypc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=sUxcNpdcZjU:KXuwJrXEypc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=sUxcNpdcZjU:KXuwJrXEypc:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=sUxcNpdcZjU:KXuwJrXEypc:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=sUxcNpdcZjU:KXuwJrXEypc:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=sUxcNpdcZjU:KXuwJrXEypc:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=sUxcNpdcZjU:KXuwJrXEypc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/sUxcNpdcZjU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/03/18/ability-to-hide-author-name-in-posts-by-tag-plugin.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/03/18/ability-to-hide-author-name-in-posts-by-tag-plugin.html</feedburner:origLink></item>
		<item>
		<title>Bulk Delete now supports deleting private posts</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/Kl6ZPDn2Ltg/bulk-delete-now-supports-deleting-private-posts.html</link>
		<comments>http://sudarmuthu.com/blog/2010/03/17/bulk-delete-now-supports-deleting-private-posts.html#comments</comments>
		<pubDate>Wed, 17 Mar 2010 17:25:27 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Bulk Delete]]></category>
		<category><![CDATA[Plugin]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/03/17/bulk-delete-now-supports-deleting-private-posts.html</guid>
		<description><![CDATA[I added support for deleting private posts to my Bulk Delete WordPress Plugin]]></description>
			<content:encoded><![CDATA[<p>Just now released an update to my <a href="http://sudarmuthu.com/wordpress/bulk-delete">Bulk Delete WordPress Plugin</a>, which you can use to delete posts in bulk. This update adds support for deleting private posts.</p>
<p>All the private posts can be deleted in bulk in one go or they can be filtered based on categories or tags.</p>
<p>Like the <a href="http://sudarmuthu.com/blog/2009/07/22/bulk-delete-now-supports-deleting-pending-and-scheduled-posts.html">previous</a> <a href="http://sudarmuthu.com/blog/2009/07/13/bulk-delete-now-supports-deletion-by-date.html">updates</a>, this feature was also <a href="http://sudarmuthu.com/wordpress/bulk-delete#comment-578841">requested</a> by the users of the Plugin. So if you have any feedback or feature request, don’t hesitate to contact me, I will try to add them to the Plugin.</p>
<h2>Screenshot</h2>
<p><a href="http://sudarmuthu.com/wp/wp-content/uploads/2010/03/bulkdeletewordpressplugin.png"><img style="display: inline; border-width: 0px;" title="bulk-delete-wordpress-plugin" src="http://sudarmuthu.com/wp/wp-content/uploads/2010/03/bulkdeletewordpressplugin_thumb.png" border="0" alt="bulk-delete-wordpress-plugin" width="743" height="275" /></a></p>
<p><a href="http://sudarmuthu.com/wp/wp-content/uploads/2010/03/bulkdeletewordpressplugin2.png"><img style="display: inline; border-width: 0px;" title="bulk-delete-wordpress-plugin-2" src="http://sudarmuthu.com/wp/wp-content/uploads/2010/03/bulkdeletewordpressplugin2_thumb.png" border="0" alt="bulk-delete-wordpress-plugin-2" width="738" height="150" /></a></p>
<h2>Download</h2>
<p>You can download the latest version of the Plugin from the <a href="http://sudarmuthu.com/wordpress/bulk-delete">Plugin’s home page</a>.</p>
<h2>Feedback</h2>
<p>If you have any comments or if you want to report any bugs, please leave a comment below or <a href="http://sudarmuthu.com/contact">contact me</a>.</p>
<h2>Stay updated</h2>
<p>I would be posting updates about this Plugin in my blog and in Twitter. If you want to be informed when new version of this Plugin is released, then you can either subscribe to this <a href="http://sudarmuthu.com/feed">blog’s RSS feed</a> or <a href="http://twitter.com/sudarmuthu">follow me in Twitter</a>.</p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/bulk-delete" title="Bulk Delete" rel="tag">Bulk Delete</a> | <a href="http://sudarmuthu.com/blog/tag/plugin" title="Plugin" rel="tag">Plugin</a> | <a href="http://sudarmuthu.com/blog/tag/wordpress" title="WordPress" rel="tag">WordPress</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2009/02/02/bulk-delete-posts-in-wordpress.html" title="Bulk Delete Posts in WordPress (Feb 2, 2009)">Bulk Delete Posts in WordPress</a> (Feb 2, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/07/13/bulk-delete-now-supports-deletion-by-date.html" title="Bulk Delete now supports deletion by date (Jul 13, 2009)">Bulk Delete now supports deletion by date</a> (Jul 13, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/07/22/bulk-delete-now-supports-deleting-pending-and-scheduled-posts.html" title="Bulk Delete now supports deleting pending and scheduled posts (Jul 22, 2009)">Bulk Delete now supports deleting pending and scheduled posts</a> (Jul 22, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/02/27/bulk-delete-can-now-move-posts-to-trash-instead-of-deleting.html" title="Bulk Delete can now move posts to trash instead of deleting (Feb 27, 2010)">Bulk Delete can now move posts to trash instead of deleting</a> (Feb 27, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/04/14/bulk-delete-03.html" title="Bulk Delete 0.3 (Apr 14, 2009)">Bulk Delete 0.3</a> (Apr 14, 2009)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=Kl6ZPDn2Ltg:hpCckxvdtWE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=Kl6ZPDn2Ltg:hpCckxvdtWE:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=Kl6ZPDn2Ltg:hpCckxvdtWE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=Kl6ZPDn2Ltg:hpCckxvdtWE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=Kl6ZPDn2Ltg:hpCckxvdtWE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=Kl6ZPDn2Ltg:hpCckxvdtWE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=Kl6ZPDn2Ltg:hpCckxvdtWE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=Kl6ZPDn2Ltg:hpCckxvdtWE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=Kl6ZPDn2Ltg:hpCckxvdtWE:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=Kl6ZPDn2Ltg:hpCckxvdtWE:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=Kl6ZPDn2Ltg:hpCckxvdtWE:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=Kl6ZPDn2Ltg:hpCckxvdtWE:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=Kl6ZPDn2Ltg:hpCckxvdtWE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/Kl6ZPDn2Ltg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/03/17/bulk-delete-now-supports-deleting-private-posts.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/03/17/bulk-delete-now-supports-deleting-private-posts.html</feedburner:origLink></item>
		<item>
		<title>Display Twitter profile image instead of Gravatar in WordPress comments</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/ivIFDy2biRc/display-twitter-profile-image-instead-of-gravatar-in-wordpress-comments.html</link>
		<comments>http://sudarmuthu.com/blog/2010/03/16/display-twitter-profile-image-instead-of-gravatar-in-wordpress-comments.html#comments</comments>
		<pubDate>Tue, 16 Mar 2010 08:13:07 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[RoloPress]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Twitter Avatar Reloaded]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/03/16/display-twitter-profile-image-instead-of-gravatar-in-wordpress-comments.html</guid>
		<description><![CDATA[Twitter avatar reloaded Plugin adds a new field to the comment form to get the user's Twitter usrename and stores it together with comments and using it replaces gravatar with twitter avatar when the comment is displayed.]]></description>
			<content:encoded><![CDATA[<p>In the <a href="http://rolopress.com/news/rolopress-version-1-2-beta-ready-for-download">recent release of RoloPress</a> I implemented Twitter avatar, which allows you to show the user’s Twitter profile image instead of Gravatar. I adapted it into a separate Plugin called <a href="http://sudarmuthu.com/wordpress/twitter-avatar-reloaded">Twitter Avatar Reloaded</a> so that it can be used in normal WordPress installations too.</p>
<h2>Features</h2>
<p>When the Plugin is installed it automatically adds a new field to the comment form to get the user’s Twitter username. You don’t need to edit the theme file at all. Isn’t that cool enough <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h2>Screenshot</h2>
<p><a href="http://sudarmuthu.com/wp/wp-content/uploads/2010/03/twitteravatarwordpressplugin1.png"><img style="display: inline; border: 0px;" title="twitteravatarwordpressplugin[1]" src="http://sudarmuthu.com/wp/wp-content/uploads/2010/03/twitteravatarwordpressplugin1_thumb.png" border="0" alt="twitteravatarwordpressplugin[1]" width="496" height="197" /></a></p>
<h2>Download</h2>
<p>You can download the Plugin from the <a href="http://sudarmuthu.com/wordpress/twitter-avatar-reloaded">Plugin’s home page</a>.</p>
<h2>Feedback</h2>
<p>As usual try out the Plugin and do let me know if you have any feedback, queries or comments.</p>
<p>PS: BTW <a href="http://rolopress.com/news/rolopress-version-1-2-beta-ready-for-download">RoloPress 1.2</a> has been released with lot of new features. Don’t forget to check it out. <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/plugin" title="Plugin" rel="tag">Plugin</a> | <a href="http://sudarmuthu.com/blog/tag/twitter" title="Twitter" rel="tag">Twitter</a> | <a href="http://sudarmuthu.com/blog/tag/twitter-avatar-reloaded" title="Twitter Avatar Reloaded" rel="tag">Twitter Avatar Reloaded</a> | <a href="http://sudarmuthu.com/blog/tag/wordpress" title="WordPress" rel="tag">WordPress</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2009/02/26/year-end-stats-for-2008.html" title="Year End Stats for 2008 (Feb 26, 2009)">Year End Stats for 2008</a> (Feb 26, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2008/12/30/year-end-stats-03.html" title="Year End Stats 0.3 (Dec 30, 2008)">Year End Stats 0.3</a> (Dec 30, 2008)</li>
	<li><a href="http://sudarmuthu.com/blog/2008/08/03/wordpress-to-friendfeed-plugin.html" title="WordPress to FriendFeed Plugin (Aug 3, 2008)">WordPress to FriendFeed Plugin</a> (Aug 3, 2008)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/06/24/wordpress-plugin-readme-generator-now-supports-changelog.html" title="WordPress Plugin readme generator now supports changelog (Jun 24, 2009)">WordPress Plugin readme generator now supports changelog</a> (Jun 24, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/03/28/wordpress-plugin-readme-file-generator.html" title="WordPress Plugin Readme File Generator (Mar 28, 2009)">WordPress Plugin Readme File Generator</a> (Mar 28, 2009)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=ivIFDy2biRc:XUUlNZyeIaw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=ivIFDy2biRc:XUUlNZyeIaw:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=ivIFDy2biRc:XUUlNZyeIaw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=ivIFDy2biRc:XUUlNZyeIaw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=ivIFDy2biRc:XUUlNZyeIaw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=ivIFDy2biRc:XUUlNZyeIaw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=ivIFDy2biRc:XUUlNZyeIaw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=ivIFDy2biRc:XUUlNZyeIaw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=ivIFDy2biRc:XUUlNZyeIaw:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=ivIFDy2biRc:XUUlNZyeIaw:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=ivIFDy2biRc:XUUlNZyeIaw:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=ivIFDy2biRc:XUUlNZyeIaw:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=ivIFDy2biRc:XUUlNZyeIaw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/ivIFDy2biRc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/03/16/display-twitter-profile-image-instead-of-gravatar-in-wordpress-comments.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/03/16/display-twitter-profile-image-instead-of-gravatar-in-wordpress-comments.html</feedburner:origLink></item>
		<item>
		<title>Developing Android applications in Java – Session 3 – My notes</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/tOQKdU6ycSw/developing-android-applications-in-java-session-3-my-notes.html</link>
		<comments>http://sudarmuthu.com/blog/2010/03/03/developing-android-applications-in-java-session-3-my-notes.html#comments</comments>
		<pubDate>Wed, 03 Mar 2010 16:53:38 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Database Programming]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Notes]]></category>
		<category><![CDATA[SQLite]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/03/03/developing-android-applications-in-java-session-3-my-notes.html</guid>
		<description><![CDATA[My notes for the session 3 of Developing Android applications in Java class]]></description>
			<content:encoded><![CDATA[<p>This week in the <a href="http://sudarmuthu.com/blog/2010/02/02/free-online-course-on-developing-android-applications-using-java.html">Android course</a>, Tony taught about the storing and retrieving information from database. Android has a bundled SQLite database and your app can store and retrieve information by creating a new database. The database that is created by an application is available only to that application and no other application can access it.</p>
<h2>SQLiteOpenHelper</h2>
<p>Android SDK provides a class called <a href="http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html">SQLiteOpenHelper</a> which can be used for interfacing with this SQLite database that is associated with your application.</p>
<p>SQLiteOpenHelper has two methods which can be used for creating/updating the database. They are the following.</p>
<h3>onCreate</h3>
<p>The onCreate() method gets called when the app gets installed for the first time. The SQL code to create the database should go in this method. In addition to the SQL code we should also specify a version number for the database which will be used subsequently during upgrades.</p>
<h3>onUpgrade</h3>
<p>The onUpgrade() method gets called when the app is upgraded or if the version number specified in the app is greater than the one which is present in the database. Typically this function contains Alter table SQL code which will be used to upgrade the database.</p>
<p>In addition to the above two methods, the <a href="http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html#close()">SQLiteOpenHelper also has other methods</a> which can be used to access the database. One such method is getWritableDatabase()</p>
<h3>getWritableDatabase</h3>
<p>The getWritableDatabase() method will return a <a href="http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html">SQLiteDatabase</a> object which has reference to the database. You can read more about this method from android documentation.</p>
<p>In addition to these methods, the SQLiteOpenHelper class other methods but the above there are the notable ones. You can read more about the <a href="http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html">SQLiteOpenHelper class from the android documentation</a>.</p>
<h2>Selecting data from the database</h2>
<p>To selected data from the database, we have to call the query() method on the SQLiteDatabase object which is returned by the getWritableDatabase() method above.</p>
<p>The query() method returns an object of type <a href="http://developer.android.com/reference/android/database/Cursor.html">Cursor</a>, which can be iterated over to retrieve the resultset. The following code snippet explains the query() method.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">void</span> loadTasks<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	currentTasks <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ArrayList<span style="color: #339933;">&lt;</span>Task<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003399;">Cursor</span> tasksCursor <span style="color: #339933;">=</span> database.<span style="color: #006633;">query</span><span style="color: #009900;">&#40;</span>TASKS_TABLE,
			<span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span>TASK_ID, TASK_NAME, TASK_COMPLETE<span style="color: #009900;">&#125;</span>,
			<span style="color: #000066; font-weight: bold;">null</span>, <span style="color: #000066; font-weight: bold;">null</span>, <span style="color: #000066; font-weight: bold;">null</span>, <span style="color: #000066; font-weight: bold;">null</span>, <span style="color: #003399;">String</span>.<span style="color: #006633;">format</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;%s,%s&quot;</span>, TASK_COMPLETE, TASK_NAME<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	tasksCursor.<span style="color: #006633;">moveToFirst</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	Task t<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span> tasksCursor.<span style="color: #006633;">isAfterLast</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">do</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000066; font-weight: bold;">int</span> id <span style="color: #339933;">=</span> tasksCursor.<span style="color: #006633;">getInt</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003399;">String</span> name <span style="color: #339933;">=</span> tasksCursor.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003399;">String</span> boolValue <span style="color: #339933;">=</span> tasksCursor.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000066; font-weight: bold;">boolean</span> complete <span style="color: #339933;">=</span> <span style="color: #003399;">Boolean</span>.<span style="color: #006633;">parseBoolean</span><span style="color: #009900;">&#40;</span>boolValue<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			t <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Task<span style="color: #009900;">&#40;</span>name<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			t.<span style="color: #006633;">setId</span><span style="color: #009900;">&#40;</span>id<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			t.<span style="color: #006633;">setComplete</span><span style="color: #009900;">&#40;</span>complete<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			currentTasks.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>t<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>tasksCursor.<span style="color: #006633;">moveToNext</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h2>Inserting data into the database</h2>
<p>In order to insert the data into the database we have to call the insert() method of the SQLiteDatabase. The data that needs to be inserted should be added to a ContextValues object and then passed to the insert() method. The <a href="http://developer.android.com/reference/android/content/ContentValues.html">ContextValues</a> object is like a HashMap which contains the key and the value for each column of the row that will be inserted.</p>
<p>The insert() method returns the id of the row that was inserted. The following code snippet explains the insert() method.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> addTask<span style="color: #009900;">&#40;</span>Task t<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	ContentValues values <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ContentValues<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	values.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span>TASK_NAME, t.<span style="color: #006633;">getName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	values.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span>TASK_COMPLETE, <span style="color: #003399;">Boolean</span>.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span>t.<span style="color: #006633;">isComplete</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	t.<span style="color: #006633;">setId</span><span style="color: #009900;">&#40;</span>database.<span style="color: #006633;">insert</span><span style="color: #009900;">&#40;</span>TASKS_TABLE, <span style="color: #000066; font-weight: bold;">null</span>, values<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	currentTasks.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>t<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h2>Updating data in the database</h2>
<p>To update data in the database we have to call the update() method of the SQLiteDatabase object. Like the insert() method, the data that needs to be updated should be passed in a ContextValues object.</p>
<p>The following code snippet explains the update() method.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> saveTask<span style="color: #009900;">&#40;</span>Task t<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	ContentValues values <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ContentValues<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	values.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span>TASK_NAME, t.<span style="color: #006633;">getName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	values.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span>TASK_COMPLETE, <span style="color: #003399;">Boolean</span>.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span>t.<span style="color: #006633;">isComplete</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">long</span> id <span style="color: #339933;">=</span> t.<span style="color: #006633;">getId</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003399;">String</span> where <span style="color: #339933;">=</span> <span style="color: #003399;">String</span>.<span style="color: #006633;">format</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;%s = %d&quot;</span>, TASK_ID, id<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	database.<span style="color: #006633;">update</span><span style="color: #009900;">&#40;</span>TASKS_TABLE, values, where, <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h2>Deleting data from the database</h2>
<p>To delete data from the database we have to call (guess what <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) the delete() method of the SQLiteDatabase objet. The delete() method takes the where condition based on which the rows will be deleted.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> deleteTasks<span style="color: #009900;">&#40;</span><span style="color: #003399;">Long</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> ids<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #003399;">StringBuffer</span> idList <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">StringBuffer</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span> ids.<span style="color: #006633;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		idList.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>ids<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>i <span style="color: #339933;">&lt;</span> ids.<span style="color: #006633;">length</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			idList.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;,&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #003399;">String</span> where <span style="color: #339933;">=</span> <span style="color: #003399;">String</span>.<span style="color: #006633;">format</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;%s in (%s)&quot;</span>, TASK_ID, idList<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	database.<span style="color: #006633;">delete</span><span style="color: #009900;">&#40;</span>TASKS_TABLE, where, <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>You can read more about this method from android documentation.</p>
<h2>Demo App Sourcecode</h2>
<p>The demo TaskManager app that we have been using in the previous classes was modified to store the tasks in the database. You can find the source code from <a href="http://github.com/sudar/android-samples">my github page</a>. I am also working in this week’s homework and will be posting the explanation and source code once I am done.</p>
<p>You can also <a href="http://feeds.feedburner.com/SudarBlogs">subscribe to my blog’s RSS feed</a> or <a href="http://twitter.com/sudarmuthu">follow me in Twitter</a> to receive updates about my notes for the next sessions.</p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/android" title="Android" rel="tag">Android</a> | <a href="http://sudarmuthu.com/blog/tag/database" title="Database Programming" rel="tag">Database Programming</a> | <a href="http://sudarmuthu.com/blog/tag/java" title="Java" rel="tag">Java</a> | <a href="http://sudarmuthu.com/blog/tag/notes" title="Notes" rel="tag">Notes</a> | <a href="http://sudarmuthu.com/blog/tag/sqlite" title="SQLite" rel="tag">SQLite</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2010/02/23/using-preference-api-in-android-applications.html" title="Using preference API in Android applications (Feb 23, 2010)">Using preference API in Android applications</a> (Feb 23, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/03/02/using-arrayadapter-and-listview-in-android-applications.html" title="Using ArrayAdapter and ListView in Android Applications (Mar 2, 2010)">Using ArrayAdapter and ListView in Android Applications</a> (Mar 2, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/05/30/developing-android-apps-part-2-week-one-my-notes.html" title="Developing Android Apps &#8211; Part 2 &#8211; Week one &#8211; My notes (May 30, 2010)">Developing Android Apps &#8211; Part 2 &#8211; Week one &#8211; My notes</a> (May 30, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/05/21/developing-android-apps-part-2-overview-my-notes.html" title="Developing Android Apps &#8211; Part 2 &ndash; Overview &#8211; My notes (May 21, 2010)">Developing Android Apps &#8211; Part 2 &ndash; Overview &#8211; My notes</a> (May 21, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/02/25/developing-android-applications-in-java-session-2-my-notes.html" title="Developing Android applications in Java &#8211; Session 2 &#8211; My notes (Feb 25, 2010)">Developing Android applications in Java &#8211; Session 2 &#8211; My notes</a> (Feb 25, 2010)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=tOQKdU6ycSw:u8NdP_WIdik:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=tOQKdU6ycSw:u8NdP_WIdik:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=tOQKdU6ycSw:u8NdP_WIdik:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=tOQKdU6ycSw:u8NdP_WIdik:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=tOQKdU6ycSw:u8NdP_WIdik:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=tOQKdU6ycSw:u8NdP_WIdik:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=tOQKdU6ycSw:u8NdP_WIdik:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=tOQKdU6ycSw:u8NdP_WIdik:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=tOQKdU6ycSw:u8NdP_WIdik:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=tOQKdU6ycSw:u8NdP_WIdik:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=tOQKdU6ycSw:u8NdP_WIdik:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=tOQKdU6ycSw:u8NdP_WIdik:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=tOQKdU6ycSw:u8NdP_WIdik:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/tOQKdU6ycSw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/03/03/developing-android-applications-in-java-session-3-my-notes.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/03/03/developing-android-applications-in-java-session-3-my-notes.html</feedburner:origLink></item>
		<item>
		<title>Using ArrayAdapter and ListView in Android Applications</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/CB48_PWflZA/using-arrayadapter-and-listview-in-android-applications.html</link>
		<comments>http://sudarmuthu.com/blog/2010/03/02/using-arrayadapter-and-listview-in-android-applications.html#comments</comments>
		<pubDate>Tue, 02 Mar 2010 15:40:38 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Notes]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/03/02/using-arrayadapter-and-listview-in-android-applications.html</guid>
		<description><![CDATA[Code and explanation for the homework of week 2 in the "Developing Android applications in Java" class]]></description>
			<content:encoded><![CDATA[<p>This week&#8217;s <a href="http://forums.oreilly.com/content/Developing-Android-Applications/6931/Week-2-Homework-/">homework</a> in the <a href="http://sudarmuthu.com/blog/2010/02/02/free-online-course-on-developing-android-applications-using-java.html">android class</a> was to create a simple ListView using ArrayAdapter instead of generic ListAdapter.</p>
<h2>ArrayAdapter</h2>
<p>ArrayAdapter is a special kind of ListAdapter which supplies data to ListView. You can <a href="http://sudarmuthu.com/blog/2010/02/25/developing-android-applications-in-java-session-2-my-notes.html">refer to my notes for last week</a> to know about ListView and ListAdapter. You can also read about ArrayAdapter in <a href="http://developer.android.com/reference/android/widget/ArrayAdapter.html">android documentation</a>.</p>
<h2>Adding views</h2>
<p>First create an empty android project. Then edit the main.xml layout file to add a ListView. Then create another layout xml file which will contain the TextView (or any component) that will be displayed within the ListView.</p>
<h2>Editing Activity</h2>
<p>The next step is to change the generated activity class to extend from ListActivity. This is very important because only a ListActivity will be able to display the ListView.</p>
<h2>Binding the adapter</h2>
<p>The next step is to bind the ArrayAdapter to the ListActivity. We can do this by calling the <code>setListAdapter()</code> method.</p>
<p>To this method we have to pass an object of type ArrayAdapter. You can pass an object reference to this method or we can even create a new anonymous method like below.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">setListAdapter<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> ArrayAdapter<span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>string<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span>, R.<span style="color: #006633;">layout</span>.<span style="color: #006633;">list_item</span>, strings<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	@Override
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">View</span> getView<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> position, <span style="color: #003399;">View</span> convertView, ViewGroup parent<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003399;">View</span> row<span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">==</span> convertView<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			row <span style="color: #339933;">=</span> mInflater.<span style="color: #006633;">inflate</span><span style="color: #009900;">&#40;</span>R.<span style="color: #006633;">layout</span>.<span style="color: #006633;">list_item</span>, <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
			row <span style="color: #339933;">=</span> convertView<span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		TextView tv <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>TextView<span style="color: #009900;">&#41;</span> row.<span style="color: #006633;">findViewById</span><span style="color: #009900;">&#40;</span>android.<span style="color: #006633;">R</span>.<span style="color: #006633;">id</span>.<span style="color: #006633;">text1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		tv.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span>getItem<span style="color: #009900;">&#40;</span>position<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">return</span> row<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>We have to override the <code>getView()</code> method of the ArrayAdapter class to create the TextView (or any other component) which will be created for each list.</p>
<h2>Finishing up</h2>
<p>So that’s it, you are done. <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  All you have to do now is to save the project and run it in the emulator. If everything is done properly, then you can see the list of items displayed in the ListView like below.</p>
<p><a href="http://sudarmuthu.com/wp/wp-content/uploads/2010/03/androidlistview.png"><img style="display: inline; border-width: 0px;" title="android-listview" src="http://sudarmuthu.com/wp/wp-content/uploads/2010/03/androidlistview_thumb.png" border="0" alt="android-listview" width="338" height="498" /></a></p>
<h2>Source code</h2>
<p>I have uploaded the entire project <a href="http://github.com/sudar/android-samples">source code into github</a> and you download it from there and verify it with your code.</p>
<p>Try to complete the homework, before the next session and do come back to view the notes and the homework for the next session too. <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>You can also <a href="http://feeds.feedburner.com/SudarBlogs">subscribe to my blog&#8217;s RSS feed</a> or <a href="http://twitter.com/sudarmuthu">follow me in Twitter</a> to receive updates about my notes for the next sessions.</p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/android" title="Android" rel="tag">Android</a> | <a href="http://sudarmuthu.com/blog/tag/java" title="Java" rel="tag">Java</a> | <a href="http://sudarmuthu.com/blog/tag/notes" title="Notes" rel="tag">Notes</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2010/02/23/using-preference-api-in-android-applications.html" title="Using preference API in Android applications (Feb 23, 2010)">Using preference API in Android applications</a> (Feb 23, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/05/30/developing-android-apps-part-2-week-one-my-notes.html" title="Developing Android Apps &#8211; Part 2 &#8211; Week one &#8211; My notes (May 30, 2010)">Developing Android Apps &#8211; Part 2 &#8211; Week one &#8211; My notes</a> (May 30, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/05/21/developing-android-apps-part-2-overview-my-notes.html" title="Developing Android Apps &#8211; Part 2 &ndash; Overview &#8211; My notes (May 21, 2010)">Developing Android Apps &#8211; Part 2 &ndash; Overview &#8211; My notes</a> (May 21, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/03/03/developing-android-applications-in-java-session-3-my-notes.html" title="Developing Android applications in Java &#8211; Session 3 &#8211; My notes (Mar 3, 2010)">Developing Android applications in Java &#8211; Session 3 &#8211; My notes</a> (Mar 3, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/02/25/developing-android-applications-in-java-session-2-my-notes.html" title="Developing Android applications in Java &#8211; Session 2 &#8211; My notes (Feb 25, 2010)">Developing Android applications in Java &#8211; Session 2 &#8211; My notes</a> (Feb 25, 2010)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=CB48_PWflZA:CclQmebpBtQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=CB48_PWflZA:CclQmebpBtQ:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=CB48_PWflZA:CclQmebpBtQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=CB48_PWflZA:CclQmebpBtQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=CB48_PWflZA:CclQmebpBtQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=CB48_PWflZA:CclQmebpBtQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=CB48_PWflZA:CclQmebpBtQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=CB48_PWflZA:CclQmebpBtQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=CB48_PWflZA:CclQmebpBtQ:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=CB48_PWflZA:CclQmebpBtQ:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=CB48_PWflZA:CclQmebpBtQ:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=CB48_PWflZA:CclQmebpBtQ:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=CB48_PWflZA:CclQmebpBtQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/CB48_PWflZA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/03/02/using-arrayadapter-and-listview-in-android-applications.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/03/02/using-arrayadapter-and-listview-in-android-applications.html</feedburner:origLink></item>
		<item>
		<title>Consolidated all my code in github</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/AAUimqPOc2s/consolidated-all-my-code-in-github.html</link>
		<comments>http://sudarmuthu.com/blog/2010/02/28/consolidated-all-my-code-in-github.html#comments</comments>
		<pubDate>Sun, 28 Feb 2010 13:02:45 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[Random/Personal]]></category>
		<category><![CDATA[Bit.ly]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[Google Gadgets]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/02/28/consolidated-all-my-code-in-github.html</guid>
		<description><![CDATA[I have consolidated all my code to Github. This is the list of my project with their description.]]></description>
			<content:encoded><![CDATA[<p>I got introduced to Git and Gitbub by <a href="http://yuvi.in/blog/">Yuvi</a> and ever since I have been hooked up. I have started using it for all my pet projects. I even convinced <a href="http://www.slipfire.com/">Steve Bruner</a> so that I can use Github for <a href="http://sudarmuthu.com/rolopress">RoloPress</a>. <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Over the years I have released lot of code out in the wild and I thought of consolidating all of them in Github, so that it can be of use to someone who might need them. At last I found some time and uploaded most of them to my <a href="http://github.com/sudar">Gitbub account</a>.</p>
<p>Below is the description of some of those projects which are currently there in my <a href="http://github.com/sudar">Github account</a>.</p>
<h2>Bright Light</h2>
<p><a href="http://sudarmuthu.com/wordpress/bright-light">Bright Light</a> is the WordPress theme, which is powering up my blog. I have <a href="http://sudarmuthu.com/blog/2010/02/11/bright-light-a-free-wordpress-theme.html">released it</a> out hoping that it might be useful for someone.</p>
<h2>Android Samples</h2>
<p>I created this project to share my homework and the sample code used in the “<a href="http://sudarmuthu.com/blog/2010/02/02/free-online-course-on-developing-android-applications-using-java.html">Developing Android Applications in Java</a>” online class, which I am currently following.</p>
<h2>RoloPress core and RoloPress Default</h2>
<p>These projects contain my contribution to RoloPress, a WordPress based contact manager. You can read more about WordPress from its <a href="http://rolopress.com">homepage</a>.</p>
<h2>FeedBurner &#8211; stats</h2>
<p><a href="http://sudarmuthu.com/blog/2008/02/17/google-gadget-to-keep-track-of-your-feedburner-stats.html">FeedBurner-stats</a> is a Google Gadget which allows you to keep track of your Feedburner subscriber count. It uses Google Chart API and Google Gadget API.</p>
<h2>Bloglines Notifier</h2>
<p><a href="http://sudarmuthu.com/blog/2006/11/04/bloglines-notifier-my-first-google-gadget.html">Bloglines Notifier</a> is a Google Gadget which will notify you the count of unread items in your Bloglines account. (Hope someone is still using Bloglines <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</p>
<h2>Retweet</h2>
<p>It is a fork of John Resig’s retweet script which I am using in my <a href="http://sudarmuthu.com/wordpress/easy-retweet">Easy Reweet WordPress Plugin</a>. I have added a new feature to this script which allows you to <a href="http://sudarmuthu.com/blog/2009/08/21/associating-urls-created-with-bit-ly-api-to-your-account.html">associate the list of urls created to your bit.ly account</a>.</p>
<h2>Count Words</h2>
<p>It’s a small Ruby script which prints the number of words (with their count) present in a given text file</p>
<h2>Bulk unrar</h2>
<p>It is a small Ruby script which unrars all files found in all the subdirectories of a director given in the command line.</p>
<p>I am still undecided about porting my <a href="http://sudarmuthu.com/wordpress">WordPress Plugins</a> from the official WordPress Plugin repository to Github. I guess it is better to have my Plugins in the Plugin repository for now.</p>
<p>BTW feel free to <a href="http://github.com/sudar">fork any of these projects</a> and I would be happy to pull in your changes if you have added some enhancements to them. <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/bit-ly" title="Bit.ly" rel="tag">Bit.ly</a> | <a href="http://sudarmuthu.com/blog/tag/git" title="git" rel="tag">git</a> | <a href="http://sudarmuthu.com/blog/tag/github" title="github" rel="tag">github</a> | <a href="http://sudarmuthu.com/blog/tag/google-gadgets" title="Google Gadgets" rel="tag">Google Gadgets</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2009/06/11/updated-feedburner-stats-google-gadget.html" title="Updated FeedBurner stats Google Gadget (Jun 11, 2009)">Updated FeedBurner stats Google Gadget</a> (Jun 11, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2008/02/17/google-gadget-to-keep-track-of-your-feedburner-stats.html" title="Google Gadget to keep track of your FeedBurner stats (Feb 17, 2008)">Google Gadget to keep track of your FeedBurner stats</a> (Feb 17, 2008)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/02/11/bright-light-a-free-wordpress-theme.html" title="Bright Light, a free WordPress theme (Feb 11, 2010)">Bright Light, a free WordPress theme</a> (Feb 11, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2006/11/04/bloglines-notifier-my-first-google-gadget.html" title="Bloglines Notifier &#8211; My First Google Gadget (Nov 4, 2006)">Bloglines Notifier &#8211; My First Google Gadget</a> (Nov 4, 2006)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/08/21/associating-urls-created-with-bit-ly-api-to-your-account.html" title="Associating urls created with bit.ly API to your account (Aug 21, 2009)">Associating urls created with bit.ly API to your account</a> (Aug 21, 2009)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=AAUimqPOc2s:zDIcCbP-y_Q:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=AAUimqPOc2s:zDIcCbP-y_Q:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=AAUimqPOc2s:zDIcCbP-y_Q:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=AAUimqPOc2s:zDIcCbP-y_Q:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=AAUimqPOc2s:zDIcCbP-y_Q:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=AAUimqPOc2s:zDIcCbP-y_Q:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=AAUimqPOc2s:zDIcCbP-y_Q:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=AAUimqPOc2s:zDIcCbP-y_Q:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=AAUimqPOc2s:zDIcCbP-y_Q:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=AAUimqPOc2s:zDIcCbP-y_Q:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=AAUimqPOc2s:zDIcCbP-y_Q:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=AAUimqPOc2s:zDIcCbP-y_Q:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=AAUimqPOc2s:zDIcCbP-y_Q:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/AAUimqPOc2s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/02/28/consolidated-all-my-code-in-github.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/02/28/consolidated-all-my-code-in-github.html</feedburner:origLink></item>
		<item>
		<title>Bulk Delete can now move posts to trash instead of deleting</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/YVFx3PM2lWY/bulk-delete-can-now-move-posts-to-trash-instead-of-deleting.html</link>
		<comments>http://sudarmuthu.com/blog/2010/02/27/bulk-delete-can-now-move-posts-to-trash-instead-of-deleting.html#comments</comments>
		<pubDate>Sat, 27 Feb 2010 12:09:44 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Bulk Delete]]></category>
		<category><![CDATA[Plugin]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/02/27/bulk-delete-can-now-move-posts-to-trash-instead-of-deleting.html</guid>
		<description><![CDATA[I have updated my Bulk Delete to v0.8 which adds support for WordPress trash and translation.]]></description>
			<content:encoded><![CDATA[<p>It’s been quite some time since I released updates to my WordPress Plugins since I was quite busy recently with lot of stuff (<a href="http://sudarmuthu.com/blog/2010/02/02/free-online-course-on-developing-android-applications-using-java.html">including the android course</a>). Anyways I found some free time today and was able to push some updates to my <a href="http://sudarmuthu.com/wordpress/bulk-delete">Bulk Delete WordPress Plugin</a>, which was overdue for quite some time. <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Support for trash</h2>
<p>WordPress 2.9 introduced the concept of trash, which allows you to move posts to trash (like Recycle bin in Windows or Trash in Mac) instead of deleting them directly.</p>
<p>I have added support for trash to my Bulk Delete WordPress Plugin. Now you can choose whether you want to delete the posts directly or just move them to trash. The credit for this feature goes to <a href="http://wrendevelopment.com/">David Wren</a>, you <a href="http://sudarmuthu.com/wordpress/bulk-delete#comment-577596">contributed code for this functionality</a>.</p>
<h2>Batch Deletes</h2>
<p>I have also enabled another option which will be quite handy when you want to delete tons of posts. The most popular complain I hear from users of my Plugin is that, the PHP script times out if there were more than 1000 posts.</p>
<p>One possible solution is to increase the timeout period in php.ini file. But changing php.ini values is quite difficult especially if you were on a shared host.</p>
<p>I have now added support for batch deletes which allows you to delete the posts in batches. Say suppose you have to delete 5000 posts, you can now delete them in 5 batches with 1000 in each batch instead of trying to delete all the 5000 posts in a single go which usually results in script timeout. Hope this helps most of the users. <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Screenshot</h2>
<p>Below is the screenshot of the updated admin screen of the Plugin.</p>
<p><a href="http://sudarmuthu.com/wp/wp-content/uploads/2010/02/bulkdeletewordpressplugin.png"><img style="display: inline; border-width: 0px;" title="bulk-delete-wordpress-plugin" src="http://sudarmuthu.com/wp/wp-content/uploads/2010/02/bulkdeletewordpressplugin_thumb.png" border="0" alt="bulk-delete-wordpress-plugin" width="737" height="96" /></a></p>
<h2>Support for translation</h2>
<p>I have also generated the pot file for the Plugin and is available with the Plugin. If you are willing to do translation for the Plugin, use the pot file to create the .po files for your language and let me know. I will add it to the Plugin after giving credit to you.</p>
<h2>Download</h2>
<p>You can download the latest version of the Plugin from the <a href="http://sudarmuthu.com/wordpress/bulk-delete">Plugin’s home page</a>.</p>
<h2>Feedback</h2>
<p>If you have any comments or if you want to report any bugs, please leave a comment below or <a href="http://sudarmuthu.com/contact">contact me</a>.</p>
<h2>Stay updated</h2>
<p>I would be posting updates about this Plugin in my blog and in Twitter. If you want to be informed when new version of this Plugin is released, then you can either subscribe to this <a href="http://sudarmuthu.com/feed">blog’s RSS feed</a> or <a href="http://twitter.com/sudarmuthu">follow me in Twitter</a>.</p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/bulk-delete" title="Bulk Delete" rel="tag">Bulk Delete</a> | <a href="http://sudarmuthu.com/blog/tag/plugin" title="Plugin" rel="tag">Plugin</a> | <a href="http://sudarmuthu.com/blog/tag/wordpress" title="WordPress" rel="tag">WordPress</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2009/02/02/bulk-delete-posts-in-wordpress.html" title="Bulk Delete Posts in WordPress (Feb 2, 2009)">Bulk Delete Posts in WordPress</a> (Feb 2, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/07/13/bulk-delete-now-supports-deletion-by-date.html" title="Bulk Delete now supports deletion by date (Jul 13, 2009)">Bulk Delete now supports deletion by date</a> (Jul 13, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/03/17/bulk-delete-now-supports-deleting-private-posts.html" title="Bulk Delete now supports deleting private posts (Mar 17, 2010)">Bulk Delete now supports deleting private posts</a> (Mar 17, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/07/22/bulk-delete-now-supports-deleting-pending-and-scheduled-posts.html" title="Bulk Delete now supports deleting pending and scheduled posts (Jul 22, 2009)">Bulk Delete now supports deleting pending and scheduled posts</a> (Jul 22, 2009)</li>
	<li><a href="http://sudarmuthu.com/blog/2009/04/14/bulk-delete-03.html" title="Bulk Delete 0.3 (Apr 14, 2009)">Bulk Delete 0.3</a> (Apr 14, 2009)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=YVFx3PM2lWY:nQaeNXKk17o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=YVFx3PM2lWY:nQaeNXKk17o:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=YVFx3PM2lWY:nQaeNXKk17o:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=YVFx3PM2lWY:nQaeNXKk17o:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=YVFx3PM2lWY:nQaeNXKk17o:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=YVFx3PM2lWY:nQaeNXKk17o:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=YVFx3PM2lWY:nQaeNXKk17o:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=YVFx3PM2lWY:nQaeNXKk17o:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=YVFx3PM2lWY:nQaeNXKk17o:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=YVFx3PM2lWY:nQaeNXKk17o:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=YVFx3PM2lWY:nQaeNXKk17o:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=YVFx3PM2lWY:nQaeNXKk17o:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=YVFx3PM2lWY:nQaeNXKk17o:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/YVFx3PM2lWY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/02/27/bulk-delete-can-now-move-posts-to-trash-instead-of-deleting.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/02/27/bulk-delete-can-now-move-posts-to-trash-instead-of-deleting.html</feedburner:origLink></item>
		<item>
		<title>Developing Android applications in Java – Session 2 – My notes</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/iwS685Az8NI/developing-android-applications-in-java-session-2-my-notes.html</link>
		<comments>http://sudarmuthu.com/blog/2010/02/25/developing-android-applications-in-java-session-2-my-notes.html#comments</comments>
		<pubDate>Thu, 25 Feb 2010 16:49:07 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Notes]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/02/25/developing-android-applications-in-java-session-2-my-notes.html</guid>
		<description><![CDATA[My notes from session 2 for the developing android apps with Java class]]></description>
			<content:encoded><![CDATA[<p>Like <a href="http://sudarmuthu.com/blog/2010/02/10/developing-android-applications-in-java-overview-my-notes.html">last</a> <a href="http://sudarmuthu.com/blog/2010/02/18/developing-android-applications-in-java-session-1-my-notes.html">week</a>, I attended the session on <a href="http://sudarmuthu.com/blog/2010/02/02/free-online-course-on-developing-android-applications-using-java.html">Developing Android applications in Java</a> by Creative Techs and O’Reilly and here are my notes which I took during the session.</p>
<h2>Replace TextView with ListView</h2>
<p>In this week&#8217;s session, the demo app that was <a href="http://sudarmuthu.com/blog/2010/02/23/using-preference-api-in-android-applications.html">created last week</a> was modified to use the <code>ListView</code> element instead of <code>TextView</code>.</p>
<p>The <code>ListView</code> provides a nice UI for displaying the list of tasks together with a checkbox to indicate whether they were complete or not.</p>
<h2>Screenshot</h2>
<p>You can see the new UI of the application in the following screenshots.</p>
<p><a href="http://sudarmuthu.com/wp/wp-content/uploads/2010/02/androidlistview.jpg"><img style="display: inline; border: 0px;" title="android-listview" src="http://sudarmuthu.com/wp/wp-content/uploads/2010/02/androidlistview_thumb.jpg" border="0" alt="android-listview" width="341" height="484" /></a></p>
<h2>ListView and ListAdapter</h2>
<p>ListView is a control which can be used for creating list of scrollable items. The data to the ListView will be provided by <code>ListAdapter</code>.</p>
<p>You can think of ListView as the “view” component in a MVC framework and ListAdapter as the “model”</p>
<p>The class which is going to act as the <code>ListAdapater</code> should implement following methods</p>
<ul>
<li>getCount()</li>
<li>getItem()</li>
<li>getItemId()</li>
<li>getView()</li>
</ul>
<p>You can read more about <a href="http://developer.android.com/reference/android/widget/ListView.html">ListView and ListAdapter from android documentation</a>.</p>
<h2>Adding ListView</h2>
<p>To add ListView to any activity, we have to include the <code>&lt;ListView /&gt;</code> tag to the activity’s layout xml. In our sample app, the ListView tag is added to the main.xml file.</p>
<p>The Activity class that uses ListView should implement the <code>ListActivity</code> instead of plain <code>Activity</code> class. In our sample app, the <code>ViewTasksActivity</code> class is derived from the <code>ListActivity</code> class.</p>
<h2>Magic ids</h2>
<p>Android SDK provides some predefined ids which can be used some specific purposes. One such “magic id” is <code>android:empty</code>.</p>
<p>We can assign this to any element that we want to be displayed when the <code>ListView</code> is empty.</p>
<h2>Homework</h2>
<p>This <a href="http://forums.oreilly.com/content/Developing-Android-Applications/6931/Week-2-Homework-/">week’s homework</a> is to Build a simpler (but less flexible) way to load data into a list using an ArrayAdapter (instead of a BaseAdapter). I would be completing the homework and would be posting the explanation and the source code later this week. So stay tuned <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Source code</h2>
<p>I have uploaded source code for yesterday&#8217;s session in <a href="http://github.com/sudar/android-samples">github and you can download it</a> from there. I am also working in this week&#8217;s homework and will be posting the explanation and source code once I am done.</p>
<p>You can also <a href="http://feeds.feedburner.com/SudarBlogs">subscribe to my blog&#8217;s RSS feed</a> or <a href="http://twitter.com/sudarmuthu">follow me in Twitter</a> to receive updates about my notes for the next sessions.</p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/android" title="Android" rel="tag">Android</a> | <a href="http://sudarmuthu.com/blog/tag/java" title="Java" rel="tag">Java</a> | <a href="http://sudarmuthu.com/blog/tag/notes" title="Notes" rel="tag">Notes</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2010/02/23/using-preference-api-in-android-applications.html" title="Using preference API in Android applications (Feb 23, 2010)">Using preference API in Android applications</a> (Feb 23, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/03/02/using-arrayadapter-and-listview-in-android-applications.html" title="Using ArrayAdapter and ListView in Android Applications (Mar 2, 2010)">Using ArrayAdapter and ListView in Android Applications</a> (Mar 2, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/05/30/developing-android-apps-part-2-week-one-my-notes.html" title="Developing Android Apps &#8211; Part 2 &#8211; Week one &#8211; My notes (May 30, 2010)">Developing Android Apps &#8211; Part 2 &#8211; Week one &#8211; My notes</a> (May 30, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/05/21/developing-android-apps-part-2-overview-my-notes.html" title="Developing Android Apps &#8211; Part 2 &ndash; Overview &#8211; My notes (May 21, 2010)">Developing Android Apps &#8211; Part 2 &ndash; Overview &#8211; My notes</a> (May 21, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/03/03/developing-android-applications-in-java-session-3-my-notes.html" title="Developing Android applications in Java &#8211; Session 3 &#8211; My notes (Mar 3, 2010)">Developing Android applications in Java &#8211; Session 3 &#8211; My notes</a> (Mar 3, 2010)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=iwS685Az8NI:smHcdAAWSbk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=iwS685Az8NI:smHcdAAWSbk:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=iwS685Az8NI:smHcdAAWSbk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=iwS685Az8NI:smHcdAAWSbk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=iwS685Az8NI:smHcdAAWSbk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=iwS685Az8NI:smHcdAAWSbk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=iwS685Az8NI:smHcdAAWSbk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=iwS685Az8NI:smHcdAAWSbk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=iwS685Az8NI:smHcdAAWSbk:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=iwS685Az8NI:smHcdAAWSbk:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=iwS685Az8NI:smHcdAAWSbk:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=iwS685Az8NI:smHcdAAWSbk:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=iwS685Az8NI:smHcdAAWSbk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/iwS685Az8NI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/02/25/developing-android-applications-in-java-session-2-my-notes.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/02/25/developing-android-applications-in-java-session-2-my-notes.html</feedburner:origLink></item>
		<item>
		<title>Using preference API in Android applications</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/7HpwPudwW4s/using-preference-api-in-android-applications.html</link>
		<comments>http://sudarmuthu.com/blog/2010/02/23/using-preference-api-in-android-applications.html#comments</comments>
		<pubDate>Tue, 23 Feb 2010 17:53:00 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Notes]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/02/23/using-preference-api-in-android-applications.html</guid>
		<description><![CDATA[My solution to the homework for the session 1 in the Developing android applications in Java class]]></description>
			<content:encoded><![CDATA[<p>This week’s homework in the <a href="http://sudarmuthu.com/blog/2010/02/02/free-online-course-on-developing-android-applications-using-java.html">android class</a> was to persist the task information in the <a href="http://sudarmuthu.com/blog/2010/02/18/developing-android-applications-in-java-session-1-my-notes.html">sample TaskManager application</a> across program runs, which was created during the class.</p>
<h2>Preference API</h2>
<p>Android provides a <a href="http://developer.android.com/reference/android/content/SharedPreferences.html">preference API</a>, using which we can store task information. The preference API is very simple to use and all we have to do is to get the instance to the preference object from the Application object and then call the <code>getString()</code> and <code>putString()</code> method.</p>
<h2>Serializing ArrayList to string</h2>
<p>The only tricky part of the home work is that, since the preference API supports only storing and retrieving of strings, we have to serialize and de-serialize the <code>ArrayList</code> object which has the list of tasks into string.</p>
<p>Instead of writing my own code to do this conversion, I used the code from the Apache Pig project. You can check out the class from the <a href="http://github.com/apache/pig/blob/89c2e8e76c68d0d0abe6a36b4e08ddc56979796f/src/org/apache/pig/impl/util/ObjectSerializer.java">pig&#8217;s github page</a>.</p>
<h2>Storing the task</h2>
<p>In the <code>addTask()</code> method of the <code>TaskManagerApplication</code> class, we have to get the instance of the shared preference and then store the serialized <code>ArrayList</code> using the <code>putString()</code> method.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> addTask<span style="color: #009900;">&#40;</span>Task t<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">assert</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">!=</span> t<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">==</span> currentTasks<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			currentTasks <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ArrayList<span style="color: #339933;">&lt;</span>task<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		currentTasks.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>t<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//save the task list to preference</span>
		SharedPreferences prefs <span style="color: #339933;">=</span> getSharedPreferences<span style="color: #009900;">&#40;</span>SHARED_PREFS_FILE, <span style="color: #003399;">Context</span>.<span style="color: #006633;">MODE_PRIVATE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		Editor editor <span style="color: #339933;">=</span> prefs.<span style="color: #006633;">edit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
			editor.<span style="color: #006633;">putString</span><span style="color: #009900;">&#40;</span>TASKS, ObjectSerializer.<span style="color: #006633;">serialize</span><span style="color: #009900;">&#40;</span>currentTasks<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		editor.<span style="color: #006633;">commit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span></pre></div></div>

<h2>Retrieving the task</h2>
<p>Similarly we have to retrieve the list of tasks from the preference in the <code>onCreate()</code> method</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> onCreate<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">super</span>.<span style="color: #006633;">onCreate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">==</span> currentTasks<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			currentTasks <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ArrayList<span style="color: #339933;">&lt;</span>task<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//		load tasks from preference</span>
		SharedPreferences prefs <span style="color: #339933;">=</span> getSharedPreferences<span style="color: #009900;">&#40;</span>SHARED_PREFS_FILE, <span style="color: #003399;">Context</span>.<span style="color: #006633;">MODE_PRIVATE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
			currentTasks <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>ArrayList<span style="color: #339933;">&lt;</span>task<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#41;</span> ObjectSerializer.<span style="color: #006633;">deserialize</span><span style="color: #009900;">&#40;</span>prefs.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span>TASKS, ObjectSerializer.<span style="color: #006633;">serialize</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> ArrayList<span style="color: #339933;">&lt;</span>task<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">ClassNotFoundException</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span></pre></div></div>

<h2>Finishing up</h2>
<p>So that&#8217;s it, you are done. <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  All you have to do now is to save the project and run it in the emulator. If everything is done properly, the tasks that you enter will be saved even after you restart the app.</p>
<h2>Source code</h2>
<p>I have uploaded the entire project <a href="http://github.com/sudar/android-samples">source code into github</a> and you download it from there and verify it with your code.</p>
<p>Try to complete the homework, before the next session and do come back to view the notes and the homework for the next session too. <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>You can also <a href="http://feeds.feedburner.com/SudarBlogs">subscribe to my blog’s RSS feed</a> or <a href="http://twitter.com/sudarmuthu">follow me in Twitter</a> to receive updates about my notes for the next sessions.</p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/android" title="Android" rel="tag">Android</a> | <a href="http://sudarmuthu.com/blog/tag/java" title="Java" rel="tag">Java</a> | <a href="http://sudarmuthu.com/blog/tag/notes" title="Notes" rel="tag">Notes</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2010/03/02/using-arrayadapter-and-listview-in-android-applications.html" title="Using ArrayAdapter and ListView in Android Applications (Mar 2, 2010)">Using ArrayAdapter and ListView in Android Applications</a> (Mar 2, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/05/30/developing-android-apps-part-2-week-one-my-notes.html" title="Developing Android Apps &#8211; Part 2 &#8211; Week one &#8211; My notes (May 30, 2010)">Developing Android Apps &#8211; Part 2 &#8211; Week one &#8211; My notes</a> (May 30, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/05/21/developing-android-apps-part-2-overview-my-notes.html" title="Developing Android Apps &#8211; Part 2 &ndash; Overview &#8211; My notes (May 21, 2010)">Developing Android Apps &#8211; Part 2 &ndash; Overview &#8211; My notes</a> (May 21, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/03/03/developing-android-applications-in-java-session-3-my-notes.html" title="Developing Android applications in Java &#8211; Session 3 &#8211; My notes (Mar 3, 2010)">Developing Android applications in Java &#8211; Session 3 &#8211; My notes</a> (Mar 3, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/02/25/developing-android-applications-in-java-session-2-my-notes.html" title="Developing Android applications in Java &#8211; Session 2 &#8211; My notes (Feb 25, 2010)">Developing Android applications in Java &#8211; Session 2 &#8211; My notes</a> (Feb 25, 2010)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7HpwPudwW4s:Oa7qAMH_ZBA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7HpwPudwW4s:Oa7qAMH_ZBA:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7HpwPudwW4s:Oa7qAMH_ZBA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=7HpwPudwW4s:Oa7qAMH_ZBA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7HpwPudwW4s:Oa7qAMH_ZBA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=7HpwPudwW4s:Oa7qAMH_ZBA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7HpwPudwW4s:Oa7qAMH_ZBA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=7HpwPudwW4s:Oa7qAMH_ZBA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7HpwPudwW4s:Oa7qAMH_ZBA:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=7HpwPudwW4s:Oa7qAMH_ZBA:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7HpwPudwW4s:Oa7qAMH_ZBA:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=7HpwPudwW4s:Oa7qAMH_ZBA:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=7HpwPudwW4s:Oa7qAMH_ZBA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/7HpwPudwW4s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/02/23/using-preference-api-in-android-applications.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/02/23/using-preference-api-in-android-applications.html</feedburner:origLink></item>
		<item>
		<title>Developing Android applications in Java – Session 1 – My Notes</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/EjhDELHTXew/developing-android-applications-in-java-session-1-my-notes.html</link>
		<comments>http://sudarmuthu.com/blog/2010/02/18/developing-android-applications-in-java-session-1-my-notes.html#comments</comments>
		<pubDate>Wed, 17 Feb 2010 18:30:54 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[CreativeTech]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Notes]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/02/18/developing-android-applications-in-java-session-1-my-notes.html</guid>
		<description><![CDATA[My notes for the session titled Developing Android applications in Java by CreativeTech]]></description>
			<content:encoded><![CDATA[<p>Like <a href="http://sudarmuthu.com/blog/2010/02/10/developing-android-applications-in-java-overview-my-notes.html">last</a> <a href="http://sudarmuthu.com/blog/2010/02/13/android-application-that-triggers-the-phone-dial-screen.html">week</a>, I attended the session on <a href="http://sudarmuthu.com/blog/2010/02/02/free-online-course-on-developing-android-applications-using-java.html">Developing Android applications in Java</a> by Creative Techs and O’Reilly and here are my notes which I took during the session.</p>
<h2>Demo Application</h2>
<p>In this week’s session, he created a sample task manager app which can be used for maintaining list of things to track. This app was created using Android 1.6 with Google API support. You can download the source code of this demo app below.</p>
<p>The sample app will have two activities. One will have a simple data entry form which can be used to add tasks and the other to view tasks which were entered. Check the screenshots below to see how the sample app looks like.</p>
<p><a href="http://sudarmuthu.com/wp/wp-content/uploads/2010/02/androidtaskmanager1.jpg"><img style="display: inline; border: 0px;" title="android-taskmanager-1" src="http://sudarmuthu.com/wp/wp-content/uploads/2010/02/androidtaskmanager1_thumb.jpg" border="0" alt="android-taskmanager-1" width="345" height="484" /></a> <a href="http://sudarmuthu.com/wp/wp-content/uploads/2010/02/androidtaskmanager2.jpg"><img style="display: inline; border: 0px;" title="android-taskmanager-2" src="http://sudarmuthu.com/wp/wp-content/uploads/2010/02/androidtaskmanager2_thumb.jpg" border="0" alt="android-taskmanager-2" width="343" height="484" /></a></p>
<h2>Layouts</h2>
<p>Tony (the instructor) briefly explained about the different types of layouts and for the sample apps he used Relative Layout. You can read more about the <a href="http://developer.android.com/reference/android/widget/RelativeLayout.html">relative layout from the android documentation</a>.</p>
<p>The major pain point in using Relative layout is that, the controls should be specified in the order in which they are referenced and not in the order in which they will be displayed.</p>
<h2>EditText control</h2>
<p>EditText control is an editable control which can be used to get user input. It is similar to the HTML textbox or the Java Swing JTextField.</p>
<p>You can read more about <a href="http://developer.android.com/reference/android/widget/EditText.html">EditText control from android documentation</a>.</p>
<h2>Sharing data between views</h2>
<p>An application can have multiple activities (views) and to share data between these multiple activities, the android framework provides a class called <a href="http://developer.android.com/reference/android/app/Application.html">Application</a>. This Application class can be accessed from all the activities of the app by calling the <code>getApplication()</code> of the Activity class. Tony explained this about this class and also used it in the demo app to store and retrieve tasks from multiple activities.</p>
<p>You can find this class in the <code>TaskManagerApplication.java</code> in the sample app. You can download the source code of this demo app below.</p>
<h2>Safe cancelling</h2>
<p>Tony also explained about how to listen to text changes and make sure the user is not moving away from the activity when there are unsaved work.<a href="http://sudarmuthu.com/wp/wp-content/uploads/2010/02/androidtaskmanager3.jpg"><img style="display: inline; margin-left: 0px; margin-right: 0px; border: 0px;" title="android-taskmanager-3" src="http://sudarmuthu.com/wp/wp-content/uploads/2010/02/androidtaskmanager3_thumb.jpg" border="0" alt="android-taskmanager-3" width="244" height="145" align="right" /></a></p>
<p>You can check the <code>cancel()</code> method in <code>AddTaskActivity</code> class, where we will be showing an alert box (see screenshot) using the built in <code>AlertDialog</code>, whenever the user clicks the cancel button without saving the task that he has entered.</p>
<p>You can read about the <a href="http://developer.android.com/reference/android/app/AlertDialog.html">AlertDialog class in the android documentation</a>.</p>
<h2>Source code</h2>
<p>I have uploaded source code for yesterday’s session in <a href="http://github.com/sudar/android-samples">github and you can download it</a> from there. I am also working in this week’s homework and will be posting the explanation and source code once I am done.</p>
<p>You can also <a href="http://feeds.feedburner.com/SudarBlogs">subscribe to my blog’s RSS feed</a> or <a href="http://twitter.com/sudarmuthu">follow me in Twitter</a> to receive updates about my notes for the next sessions.</p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/android" title="Android" rel="tag">Android</a> | <a href="http://sudarmuthu.com/blog/tag/creativetech" title="CreativeTech" rel="tag">CreativeTech</a> | <a href="http://sudarmuthu.com/blog/tag/java" title="Java" rel="tag">Java</a> | <a href="http://sudarmuthu.com/blog/tag/notes" title="Notes" rel="tag">Notes</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2010/02/23/using-preference-api-in-android-applications.html" title="Using preference API in Android applications (Feb 23, 2010)">Using preference API in Android applications</a> (Feb 23, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/03/02/using-arrayadapter-and-listview-in-android-applications.html" title="Using ArrayAdapter and ListView in Android Applications (Mar 2, 2010)">Using ArrayAdapter and ListView in Android Applications</a> (Mar 2, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/05/30/developing-android-apps-part-2-week-one-my-notes.html" title="Developing Android Apps &#8211; Part 2 &#8211; Week one &#8211; My notes (May 30, 2010)">Developing Android Apps &#8211; Part 2 &#8211; Week one &#8211; My notes</a> (May 30, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/05/21/developing-android-apps-part-2-overview-my-notes.html" title="Developing Android Apps &#8211; Part 2 &ndash; Overview &#8211; My notes (May 21, 2010)">Developing Android Apps &#8211; Part 2 &ndash; Overview &#8211; My notes</a> (May 21, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/03/03/developing-android-applications-in-java-session-3-my-notes.html" title="Developing Android applications in Java &#8211; Session 3 &#8211; My notes (Mar 3, 2010)">Developing Android applications in Java &#8211; Session 3 &#8211; My notes</a> (Mar 3, 2010)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=EjhDELHTXew:Ihu2e-53l3E:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=EjhDELHTXew:Ihu2e-53l3E:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=EjhDELHTXew:Ihu2e-53l3E:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=EjhDELHTXew:Ihu2e-53l3E:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=EjhDELHTXew:Ihu2e-53l3E:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=EjhDELHTXew:Ihu2e-53l3E:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=EjhDELHTXew:Ihu2e-53l3E:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=EjhDELHTXew:Ihu2e-53l3E:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=EjhDELHTXew:Ihu2e-53l3E:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=EjhDELHTXew:Ihu2e-53l3E:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=EjhDELHTXew:Ihu2e-53l3E:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=EjhDELHTXew:Ihu2e-53l3E:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=EjhDELHTXew:Ihu2e-53l3E:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/EjhDELHTXew" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/02/18/developing-android-applications-in-java-session-1-my-notes.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/02/18/developing-android-applications-in-java-session-1-my-notes.html</feedburner:origLink></item>
		<item>
		<title>Android application that triggers the phone dial screen</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/saDAqheP5kM/android-application-that-triggers-the-phone-dial-screen.html</link>
		<comments>http://sudarmuthu.com/blog/2010/02/13/android-application-that-triggers-the-phone-dial-screen.html#comments</comments>
		<pubDate>Sat, 13 Feb 2010 16:16:00 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Notes]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/?p=1134</guid>
		<description><![CDATA[My solution to the first week's homework for the Android session]]></description>
			<content:encoded><![CDATA[<p>As you <a href="http://sudarmuthu.com/blog/2010/02/10/developing-android-applications-in-java-overview-my-notes.html">know</a>, I am following the free course on <a href="http://sudarmuthu.com/blog/2010/02/02/free-online-course-on-developing-android-applications-using-java.html">Developing Android applications</a> in Java by CreativeTech and O’Reilly (even you should, if you are interested in developing apps for android) and this <a href="http://forums.oreilly.com/content/Developing-Android-Applications/6793/Week-1-Homework/">week’s homework</a> in the course is to create an app which will show the phone dial screen when a button is clicked.</p>
<p>I just finished it and I thought of posting the source code and explanation so that it will be useful for others too.</p>
<h2>Creating the project</h2>
<p>The first step is to create the android project. You should follow the <a href="http://developer.android.com/guide/developing/eclipse-adt.html">instructions given in the android documentation</a>. You would need Eclipse and the android SDK to be installed to do this.</p>
<p>You will have an empty project to start with and with the <a href="http://sudarmuthu.com/blog/2010/02/12/the-structure-of-an-android-project.html">default project structure</a>, which I explained in my previous post.</p>
<h2>Adding the button to the view</h2>
<p>If you have followed the first session then you know that adding a button to the view is quite easy. All you have to do is to open your view file (/res/layout/main.xml) and add the following code.</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Button</span></span>
<span style="color: #009900;">    <span style="color: #000066;">android:id</span>=<span style="color: #ff0000;">&quot;@+id/dialer_button&quot;</span></span>
<span style="color: #009900;">    <span style="color: #000066;">android:layout_width</span>=<span style="color: #ff0000;">&quot;fill_parent&quot;</span></span>
<span style="color: #009900;">    <span style="color: #000066;">android:layout_height</span>=<span style="color: #ff0000;">&quot;wrap_content&quot;</span></span>
<span style="color: #009900;">    <span style="color: #000066;">android:text</span>=<span style="color: #ff0000;">&quot;@string/dialer&quot;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></div></div>

<p>You should also declare the value for the @string/dialer key in your values (/res/values/strings.xml) file by adding the following line</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;dialer&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Phone Dialer<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<h2>Adding the button to the activity</h2>
<p>After adding the button to the view, we have to declare the button in the activity. To do so, we have to add the following line in the Activity file.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #003399;">Button</span> dialerButton <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Button</span><span style="color: #009900;">&#41;</span>findViewById<span style="color: #009900;">&#40;</span>R.<span style="color: #006633;">id</span>.<span style="color: #006633;">dialer_button</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h2>Bind the Listener to the button</h2>
<p>After creating the button instance in the activity, we have to bind a click listener to it. In the click listener we have to invoke the Phone dialer intent. Add the following code to the activity</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">dialerButton.<span style="color: #006633;">setOnClickListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> OnClickListener<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	@Override
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> onClick<span style="color: #009900;">&#40;</span><span style="color: #003399;">View</span> v<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">//open the phone dialer on clicking the button</span>
		Intent intent <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Intent<span style="color: #009900;">&#40;</span>Intent.<span style="color: #006633;">ACTION_DIAL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		startActivity<span style="color: #009900;">&#40;</span>intent<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>In the above snippet the following line does the trick</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">Intent intent <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Intent<span style="color: #009900;">&#40;</span>Intent.<span style="color: #006633;">ACTION_DIAL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>It creates the intent, which will open the phone dialer.</p>
<h2>Finishing up</h2>
<p>So that’s it, you are done <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  All you have to do now is to save the project and run it in the emulator. If everything is done properly, you will see the following screen in the emulator. </p>
<p><a href="http://sudarmuthu.com/wp/wp-content/uploads/2010/02/androidhomework1.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="android-homework-1" border="0" alt="android-homework-1" src="http://sudarmuthu.com/wp/wp-content/uploads/2010/02/androidhomework1_thumb.jpg" width="323" height="601" /></a>&#160; <a href="http://sudarmuthu.com/wp/wp-content/uploads/2010/02/androidhomework2.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="android-homework-2" border="0" alt="android-homework-2" src="http://sudarmuthu.com/wp/wp-content/uploads/2010/02/androidhomework2_thumb.jpg" width="324" height="601" /></a> </p>
<p>When you click the button, it should open the phone dialer.</p>
<h2>Source code</h2>
<p>I have uploaded the entire project <a href="http://github.com/sudar/android-samples">source code into github</a> and you download it from there and verify it with your code.</p>
<p>Try to complete the homework, before the next session and do come back to view the notes and the homework for the next session too. <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>You can also <a href="http://feeds.feedburner.com/SudarBlogs">subscribe to my blog’s RSS feed</a> or <a href="http://twitter.com/sudarmuthu">follow me in Twitter</a> to receive updates about my notes for the next sessions.</p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/android" title="Android" rel="tag">Android</a> | <a href="http://sudarmuthu.com/blog/tag/java" title="Java" rel="tag">Java</a> | <a href="http://sudarmuthu.com/blog/tag/notes" title="Notes" rel="tag">Notes</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2010/02/23/using-preference-api-in-android-applications.html" title="Using preference API in Android applications (Feb 23, 2010)">Using preference API in Android applications</a> (Feb 23, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/03/02/using-arrayadapter-and-listview-in-android-applications.html" title="Using ArrayAdapter and ListView in Android Applications (Mar 2, 2010)">Using ArrayAdapter and ListView in Android Applications</a> (Mar 2, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/05/30/developing-android-apps-part-2-week-one-my-notes.html" title="Developing Android Apps &#8211; Part 2 &#8211; Week one &#8211; My notes (May 30, 2010)">Developing Android Apps &#8211; Part 2 &#8211; Week one &#8211; My notes</a> (May 30, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/05/21/developing-android-apps-part-2-overview-my-notes.html" title="Developing Android Apps &#8211; Part 2 &ndash; Overview &#8211; My notes (May 21, 2010)">Developing Android Apps &#8211; Part 2 &ndash; Overview &#8211; My notes</a> (May 21, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/03/03/developing-android-applications-in-java-session-3-my-notes.html" title="Developing Android applications in Java &#8211; Session 3 &#8211; My notes (Mar 3, 2010)">Developing Android applications in Java &#8211; Session 3 &#8211; My notes</a> (Mar 3, 2010)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=saDAqheP5kM:N7FvLj2cyOc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=saDAqheP5kM:N7FvLj2cyOc:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=saDAqheP5kM:N7FvLj2cyOc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=saDAqheP5kM:N7FvLj2cyOc:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=saDAqheP5kM:N7FvLj2cyOc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=saDAqheP5kM:N7FvLj2cyOc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=saDAqheP5kM:N7FvLj2cyOc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=saDAqheP5kM:N7FvLj2cyOc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=saDAqheP5kM:N7FvLj2cyOc:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=saDAqheP5kM:N7FvLj2cyOc:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=saDAqheP5kM:N7FvLj2cyOc:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=saDAqheP5kM:N7FvLj2cyOc:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=saDAqheP5kM:N7FvLj2cyOc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/saDAqheP5kM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/02/13/android-application-that-triggers-the-phone-dial-screen.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/02/13/android-application-that-triggers-the-phone-dial-screen.html</feedburner:origLink></item>
		<item>
		<title>The structure of an Android project</title>
		<link>http://feedproxy.google.com/~r/SudarBlogs/~3/2KshaIweyZk/the-structure-of-an-android-project.html</link>
		<comments>http://sudarmuthu.com/blog/2010/02/12/the-structure-of-an-android-project.html#comments</comments>
		<pubDate>Fri, 12 Feb 2010 16:32:19 +0000</pubDate>
		<dc:creator>Sudar</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Project Structure]]></category>

		<guid isPermaLink="false">http://sudarmuthu.com/blog/2010/02/12/the-structure-of-an-android-project.html</guid>
		<description><![CDATA[The structure of an android project.]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://sudarmuthu.com/blog/2010/02/10/developing-android-applications-in-java-overview-my-notes.html">notes for the first session</a> on the “<a href="http://sudarmuthu.com/blog/2010/02/02/free-online-course-on-developing-android-applications-using-java.html">Developing Android applications with Java</a>” course, I forgot to mention about the project structure, which Tony (the instructor) explained. So this is a follow-up post to my previous post where I wrote about the notes, which I took during the session.</p>
<h2>Android project structure</h2>
<p>After you create a new project in eclipse, you will see the following top-level folders in your package explorer.</p>
<p><a href="http://sudarmuthu.com/wp/wp-content/uploads/2010/02/androidprojectstructure1.jpg"><img style="display: inline; border-width: 0px;" title="android-project-structure-1" src="http://sudarmuthu.com/wp/wp-content/uploads/2010/02/androidprojectstructure1_thumb.jpg" border="0" alt="android-project-structure-1" width="297" height="382" /></a></p>
<p>Let me explain each of them in detail</p>
<h3>/src<a href="http://sudarmuthu.com/wp/wp-content/uploads/2010/02/androidprojectstructure2.jpg"><img style="display: inline; margin-left: 0px; margin-right: 0px; border-width: 0px;" title="android-project-structure-2" src="http://sudarmuthu.com/wp/wp-content/uploads/2010/02/androidprojectstructure2_thumb.jpg" border="0" alt="android-project-structure-2" width="277" height="75" align="right" /></a></h3>
<p>This folder will contain the Java source files that you will be creating. In the screenshot you can see the ‘activity’ files that were created for the sample project. The files inside this  folder will be organized according to the package structure. This is similar to the /src folder which is present in any normal Java project.</p>
<h3>/gen<a href="http://sudarmuthu.com/wp/wp-content/uploads/2010/02/androidprojectstructure3.jpg"><img style="display: inline; margin-left: 0px; margin-right: 0px; border-width: 0px;" title="android-project-structure-3" src="http://sudarmuthu.com/wp/wp-content/uploads/2010/02/androidprojectstructure3_thumb.jpg" border="0" alt="android-project-structure-3" width="269" height="60" align="right" /></a></h3>
<p>This is also a source folder, but will be contain Java source files that will be automatically generated by the android platform. Notable among the generated Java files is the R class, which you see in the screenshot. The framework will generate R class file and you <a href="http://developer.android.com/reference/android/R.html">can read more about</a> it in the android documentation.</p>
<h3>/Android {version Number}</h3>
<p>This is the folder, which will contain the libraries (jars) that are need for the project. In the screenshot, you can see that it contains the framework jar file. This is similar to the /lib folder which is present in any normal Java project.</p>
<h3>/res<a href="http://sudarmuthu.com/wp/wp-content/uploads/2010/02/androidprojectstructure4.jpg"><img style="display: inline; margin-left: 0px; margin-right: 0px; border-width: 0px;" title="android-project-structure-4" src="http://sudarmuthu.com/wp/wp-content/uploads/2010/02/androidprojectstructure4_thumb.jpg" border="0" alt="android-project-structure-4" width="176" height="156" align="right" /></a></h3>
<p>This directory contains all the external resources (images, data files etc) that are used by the android application. These external resources (content) will be referenced in the android application.</p>
<p>This contains the following sub-folders</p>
<ul>
<li>/res/drawable</li>
<li>/res/layout</li>
<li>/res/Values</li>
</ul>
<h4>/res/drawable</h4>
<p>This folder contains all images, pictures etc. If you want to include an image or an icon in your android application, then you will be placing it in this folder.</p>
<h4>/res/layout</h4>
<p>This folder contains the UI layouts that will be used in the project. These UI layouts are stored as XML files. You can read more about the <a href="http://developer.android.com/guide/topics/ui/index.html">UI layouts in the android documentation</a>.</p>
<h4>/res/Values</h4>
<p>This folder again contains XML files, which contain key values pairs that will be referenced in the application. These XML files declare Arrays, colors, dimensions, strings etc. The main idea of having these values in a separate XML file is that the values can be used based on the locale without actually changing the source code. For example the messages in the application can be in different languages based on the use locale.</p>
<h4>/assets</h4>
<p>This folder also contains external resources used in the application like the /res folder. But the main difference is that the resources are stored in raw format and can be read only programmatically.</p>
<h3>AndroidManifest.xml</h3>
<p>This is an XML file which contains meta information about the android application and is important file for every android application project. It contains information about various activities, views, services etc. It also contains the list of user permissions that are needed to run the android application.</p>
<p>That explains the project structure of the android application. You can read more about it in the <a href="http://developer.android.com/guide/topics/ui/index.html">android documentation</a>.</p>
<p>BTW how is your <a href="http://forums.oreilly.com/content/Developing-Android-Applications/6793/Week-1-Homework/">homework</a> coming along? Hope you all were able to finish it quickly. I will be posting the source code for the homework together with the explanation soon. So stay tuned. <img src='http://sudarmuthu.com/wpfiles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Update</strong>: I have also completed the homework for this session and have <a href="http://sudarmuthu.com/blog/2010/02/13/android-application-that-triggers-the-phone-dial-screen.html">posted my source code and explanation</a>.</p>
<p>You can also <a href="http://feeds.feedburner.com/SudarBlogs">subscribe to my blog’s RSS feed</a> or <a href="http://twitter.com/sudarmuthu">follow me in Twitter</a> to receive updates about my notes for the next sessions.</p>

	Tags: <a href="http://sudarmuthu.com/blog/tag/android" title="Android" rel="tag">Android</a> | <a href="http://sudarmuthu.com/blog/tag/eclipse" title="Eclipse" rel="tag">Eclipse</a> | <a href="http://sudarmuthu.com/blog/tag/java" title="Java" rel="tag">Java</a> | <a href="http://sudarmuthu.com/blog/tag/project-structure" title="Project Structure" rel="tag">Project Structure</a><br />

	<h3>Possibly Related posts</h3>
	<ul class="st-related-posts">
	<li><a href="http://sudarmuthu.com/blog/2010/02/23/using-preference-api-in-android-applications.html" title="Using preference API in Android applications (Feb 23, 2010)">Using preference API in Android applications</a> (Feb 23, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/03/02/using-arrayadapter-and-listview-in-android-applications.html" title="Using ArrayAdapter and ListView in Android Applications (Mar 2, 2010)">Using ArrayAdapter and ListView in Android Applications</a> (Mar 2, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/04/19/free-online-course-on-developing-android-applications-using-java-part-2.html" title="Free online course on developing android applications using Java &#8211; Part 2 (Apr 19, 2010)">Free online course on developing android applications using Java &#8211; Part 2</a> (Apr 19, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/02/02/free-online-course-on-developing-android-applications-using-java.html" title="Free online course on developing android applications using Java (Feb 2, 2010)">Free online course on developing android applications using Java</a> (Feb 2, 2010)</li>
	<li><a href="http://sudarmuthu.com/blog/2010/05/30/developing-android-apps-part-2-week-one-my-notes.html" title="Developing Android Apps &#8211; Part 2 &#8211; Week one &#8211; My notes (May 30, 2010)">Developing Android Apps &#8211; Part 2 &#8211; Week one &#8211; My notes</a> (May 30, 2010)</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=2KshaIweyZk:PYykhKN7XW4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=2KshaIweyZk:PYykhKN7XW4:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=2KshaIweyZk:PYykhKN7XW4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=2KshaIweyZk:PYykhKN7XW4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=2KshaIweyZk:PYykhKN7XW4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=2KshaIweyZk:PYykhKN7XW4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=2KshaIweyZk:PYykhKN7XW4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=2KshaIweyZk:PYykhKN7XW4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=2KshaIweyZk:PYykhKN7XW4:JEwB19i1-c4"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=2KshaIweyZk:PYykhKN7XW4:JEwB19i1-c4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=2KshaIweyZk:PYykhKN7XW4:wF9xT3WuBAs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?i=2KshaIweyZk:PYykhKN7XW4:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SudarBlogs?a=2KshaIweyZk:PYykhKN7XW4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SudarBlogs?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SudarBlogs/~4/2KshaIweyZk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sudarmuthu.com/blog/2010/02/12/the-structure-of-an-android-project.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://sudarmuthu.com/blog/2010/02/12/the-structure-of-an-android-project.html</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 1.110 seconds. --><!-- Cached page generated by WP-Super-Cache on 2010-07-30 10:40:44 -->
