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

<channel>
	<title>Android Software Developer</title>
	<atom:link href="http://www.androidsoftwaredeveloper.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.androidsoftwaredeveloper.com</link>
	<description>Thoughts and tips from an Android developer</description>
	<pubDate>Wed, 10 Mar 2010 19:18:24 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to do Logging</title>
		<link>http://www.androidsoftwaredeveloper.com/2010/03/10/how-to-do-logging/</link>
		<comments>http://www.androidsoftwaredeveloper.com/2010/03/10/how-to-do-logging/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 19:18:24 +0000</pubDate>
		<dc:creator>Simon Judge, Freelance Mobile Developer</dc:creator>
		
		<category><![CDATA[Coding]]></category>

		<category><![CDATA[debug]]></category>

		<guid isPermaLink="false">http://www.androidsoftwaredeveloper.com/?p=664</guid>
		<description><![CDATA[I have been looking into the options available for remote logging. However, before I continue, I should mention local logging is done using log.
e.g. log.v(TAG, "This is a log message");
The TAG is a unique string for your app so you can differentiate it from all the other log messages. You view the log messages in [...]]]></description>
			<content:encoded><![CDATA[<p>I have been looking into the options available for remote logging. However, before I continue, I should mention local logging is done using <a href="http://developer.android.com/intl/zh-TW/reference/android/util/Log.html" target="_blank">log</a>.</p>
<pre>e.g. log.v(TAG, "This is a log message");</pre>
<p>The TAG is a unique string for your app so you can differentiate it from all the other log messages. You view the log messages in the Eclipse LogCat screen. If it&#8217;s not already showing in your workspace then use Window&#8230; Show View&#8230; Other&#8230; Android &#8230; LogCat.</p>
<p>A problem with the Eclipse LogCat window is that once it receives too many log messages, they all scroll within a single line overwriting old ones. Also, the LogCat window is unreliable and sometimes shows nothing. Instead you can invoke</p>
<pre>adb logcat</pre>
<p>from the command line, while in the Android tools directory, that always works as expected.</p>
<p>Back to remote logging. This is logging by your testers when you don&#8217;t have direct access to the emulator or device and need logging sent to a  server.</p>
<p><a href="http://talkingandroid.com/2009/11/04/droiddrop-remote-logging-for-android/" target="_blank">Droddrop </a>seems  the most capable remote logging currently available. There&#8217;s also <a href="http://code.google.com/p/android-remote-stacktrace/" target="_blank">remote stacktrace</a> which does what it says&#8230; allows you to view exception information at a server. It can also be configured so that the server can also be your own if you don&#8217;t want to share your exceptions with the World.</p>
<p>There&#8217;s also an <a href="http://microlog.sourceforge.net/site/" target="_blank">Android version of microlog</a> that has been used available for years under Java ME. The Android version seems to be less capable and currently doesn&#8217;t do that much. However, there&#8217;s also a slightly more developer version at <a href="http://code.google.com/p/microlog4android/" target="_blank">microlog4android</a>.</p>
<p>Finally, if you need analytics as opposed to logging, you might like to take a look at <a href="http://www.flurry.com" target="_blank">Flurry</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.androidsoftwaredeveloper.com/2010/03/10/how-to-do-logging/feed/</wfw:commentRss>
		</item>
		<item>
		<title>NDK r3</title>
		<link>http://www.androidsoftwaredeveloper.com/2010/03/09/ndk-r3/</link>
		<comments>http://www.androidsoftwaredeveloper.com/2010/03/09/ndk-r3/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 09:19:01 +0000</pubDate>
		<dc:creator>Simon Judge, Freelance Mobile Developer</dc:creator>
		
		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Native (JNI)]]></category>

		<guid isPermaLink="false">http://www.androidsoftwaredeveloper.com/?p=653</guid>
		<description><![CDATA[Google have just released the latest NDK. The biggest change is support for OpenGL ES 2.0&#8230;
&#8220;Android 2.0 (API level 5) or higher can now directly access OpenGL ES 2.0 features. This brings the ability to control graphics rendering through vertex and fragment shader programs, using the GLSL shading language.&#8221;
As mentioned on Forbes, &#8216;Mobile Games On [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-205" title="androidrobot" src="http://www.androidsoftwaredeveloper.com/wp-content/uploads/androidrobot.gif" alt="androidrobot" width="69" height="70" />Google have <a href="http://android-developers.blogspot.com/2010/03/android-ndk-r3.html" target="_blank">just released the latest NDK</a>. The biggest change is support for OpenGL ES 2.0&#8230;</p>
<p><em>&#8220;Android 2.0 (API level 5) or higher can now directly access OpenGL ES 2.0 features. This brings the ability to control graphics rendering through vertex and fragment shader programs, using the GLSL shading language.&#8221;</em></p>
<p>As mentioned on Forbes, <a href="http://blogs.forbes.com/velocity/2010/03/04/mobile-games-on-android-havent-caught-on-yet/" target="_blank">&#8216;Mobile Games On Android Haven&#8217;t Caught On Yet&#8217;</a>. This is partly because there aren&#8217;t that many great games. Part of the reason is that Java isn&#8217;t great for creating real-time games and you really need native coding to achieve high frame rates. Access to (native) OpenGL ES 2.0 should encourage creation of some great games and might even eventually help some games get ported from iPhone.</p>
<p>As it happens, I have recently been doing some development with the previous NDK and have two tips to help you get set up a bit quicker if you are developing under Windows.</p>
<ul>
<li>When you install Cygwin ensure you include (tick) &#8216;make&#8217; in the install</li>
</ul>
<ul>
<li>Cygwin maps your hard drives under /cygdrive/c/, for example /cygdrive/c/ for c:\. However, if you cd to cygdrive you won&#8217;t see c listed. If you include it in a path it works.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.androidsoftwaredeveloper.com/2010/03/09/ndk-r3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google Android Seeding</title>
		<link>http://www.androidsoftwaredeveloper.com/2010/03/08/google-android-seeding/</link>
		<comments>http://www.androidsoftwaredeveloper.com/2010/03/08/google-android-seeding/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 17:43:26 +0000</pubDate>
		<dc:creator>Simon Judge, Freelance Mobile Developer</dc:creator>
		
		<category><![CDATA[Events]]></category>

		<category><![CDATA[phones]]></category>

		<guid isPermaLink="false">http://www.androidsoftwaredeveloper.com/?p=643</guid>
		<description><![CDATA[I have just received confirmation that I&#8217;ll be receiving a Nexus One. All developers with a rating of 3.5 stars or higher and more than 5,000 unique downloads will be receiving either a Droid or a Nexus One.
In my opinion, 5,000 downloads is actually quite low. I have three apps at the moment totalling over [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-644" title="nexusone" src="http://www.androidsoftwaredeveloper.com/wp-content/uploads/nexusone.gif" alt="nexusone" width="194" height="43" />I have just received confirmation that <a href="http://blogs.zdnet.com/mobile-gadgeteer/?p=2601" target="_blank">I&#8217;ll be receiving a Nexus One</a>. All developers with a rating of 3.5 stars or higher and more than 5,000 unique downloads will be receiving either a Droid or a Nexus One.</p>
<p>In my opinion, 5,000 downloads is actually quite low. I have three apps at the moment totalling over 120,000 downloads. I think Google is giving phones out to developers to encourage earlier developers to test their older apps on newer devices as well as encourage more apps to be written.</p>
<p>Purchasing the latest phones is an issue for developers. It can be costly ensuring an app runs on all phone variants. In my 14 year mobile career I can only remember having received (as a developer) an iPAQ from Redmond and very recently a Satio from Sony Ericsson.</p>
<p>Conversely, as a blogger I have received many more phones. Phone OEMs and network operators have been far more interested in getting the word out on new phones than ensuring that applications continue to work/continue to be developed. As usual, Google is taking an engineering rather than marketing driven approach. Seed developers with phones and see what happens.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.androidsoftwaredeveloper.com/2010/03/08/google-android-seeding/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Thoughts on Apple vs HTC Suit</title>
		<link>http://www.androidsoftwaredeveloper.com/2010/03/04/thoughts-on-apple-vs-htc-suit/</link>
		<comments>http://www.androidsoftwaredeveloper.com/2010/03/04/thoughts-on-apple-vs-htc-suit/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 19:53:51 +0000</pubDate>
		<dc:creator>Simon Judge, Freelance Mobile Developer</dc:creator>
		
		<category><![CDATA[Android]]></category>

		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.androidsoftwaredeveloper.com/?p=637</guid>
		<description><![CDATA[I have been thinking through the implications and reasons for the Apple vs HTC patent chaos. Engadget gives a great breakdown of the patents.
Many of the patents are so generic and involve &#8216;prior art&#8217; that I am surprised Apple has patents for them. Take Patent #6,424,354 from 2002: Object-Oriented Event Notification System With Listener Registration [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-639" title="htc" src="http://www.androidsoftwaredeveloper.com/wp-content/uploads/htc.gif" alt="htc" width="126" height="69" />I have been thinking through the implications and reasons for the Apple vs HTC patent chaos. Engadget gives a <a href="http://www.engadget.com/2010/03/02/apple-vs-htc-a-patent-breakdown/2" target="_blank">great breakdown of the patents</a>.</p>
<p>Many of the patents are so generic and involve &#8216;prior art&#8217; that I am surprised Apple has patents for them. Take <a href="http://www.google.com/patents/about?id=zIwLAAAAEBAJ&amp;dq=6,424,354" target="_blank">Patent #6,424,354</a> from 2002: Object-Oriented Event Notification System With Listener Registration Of Both Interests And Methods. Isn&#8217;t this the observer pattern from the classic 1994 <a href="http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1267730335&amp;sr=8-1" target="_blank">Design Patterns book</a> ?</p>
<p>Nevertheless, it&#8217;s likely that Apple has a least one, maybe more, valid patents. The problem is which ones? Why have Apple even included the ridiculous ones? It can only slow down the resolution process.</p>
<p>PC mag might have <a href="http://www.pcmag.com/article2/0,2817,2360928,00.asp" target="_blank">the answer</a>.</p>
<p><em>&#8220;Just slowing down the rapid growth of Android would be a win. Just getting manufactures to think twice before rolling out Android phones would be a boon. Even a few months of legal wrangling would help Apple pad its lead.&#8221;</em></p>
<p>This equally applies to Windows Phone Series 7 (and HTC&#8217;s other Windows Mobile v6.x devices), Symbian or any other platform.</p>
<p>I tend to believe this is the real reason. If Apple were serious about this they would have concentrated on one or two winnable patents. As it is, there&#8217;s chaos and this can only lengthen the time over which OEMs might think twice about Android (and Windows Mobile etc). I think Apple are more interested in disrupting things than stopping competitors&#8217; phone shipments, the latter of which they might have done much sooner has they had a more focussed legal suit.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.androidsoftwaredeveloper.com/2010/03/04/thoughts-on-apple-vs-htc-suit/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Fragmentation in the Web Space</title>
		<link>http://www.androidsoftwaredeveloper.com/2010/03/03/fragmentation-in-the-web-space/</link>
		<comments>http://www.androidsoftwaredeveloper.com/2010/03/03/fragmentation-in-the-web-space/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 15:17:53 +0000</pubDate>
		<dc:creator>Simon Judge, Freelance Mobile Developer</dc:creator>
		
		<category><![CDATA[Android]]></category>

		<category><![CDATA[Buzz]]></category>

		<category><![CDATA[Mobile Web]]></category>

		<guid isPermaLink="false">http://www.androidsoftwaredeveloper.com/?p=632</guid>
		<description><![CDATA[It&#8217;s interesting to see people complaining that they can&#8217;t get Google&#8217;s Buzz on pre-Android v2 devices. This demonstrates a point I wrote about a while ago. The deeper web browsers get into phone APIs, the more fragmentation there will be. The web is not a &#8216;golden bullet&#8217; and doesn&#8217;t solve fragmentation problems. What it does [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-633" title="buzz" src="http://www.androidsoftwaredeveloper.com/wp-content/uploads/buzz.gif" alt="buzz" width="159" height="75" />It&#8217;s interesting to see <a href="http://www.google.com/support/forum/p/Google+Mobile/thread?tid=411dd353e81ab937&amp;hl=en" target="_blank">people complaining that they can&#8217;t get Google&#8217;s Buzz</a> on pre-Android v2 devices. This demonstrates a point <a href="http://mobilephonedevelopment.com/archives/489" target="_blank">I wrote about a while ago</a>. The deeper web browsers get into phone APIs, the more fragmentation there will be. The web is not a &#8216;golden bullet&#8217; and doesn&#8217;t solve fragmentation problems. What it does do is concentrate them at one place that might be said to be an advantage in terms of development effort, cost and maintainablity.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.androidsoftwaredeveloper.com/2010/03/03/fragmentation-in-the-web-space/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Replacing Android Components</title>
		<link>http://www.androidsoftwaredeveloper.com/2010/03/02/replacing-android-components/</link>
		<comments>http://www.androidsoftwaredeveloper.com/2010/03/02/replacing-android-components/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 20:40:18 +0000</pubDate>
		<dc:creator>Simon Judge, Freelance Mobile Developer</dc:creator>
		
		<category><![CDATA[Android]]></category>

		<category><![CDATA[phones]]></category>

		<guid isPermaLink="false">http://www.androidsoftwaredeveloper.com/?p=622</guid>
		<description><![CDATA[In recent news, AT&#38;T&#8217;s Motorola Backflip is configured such that Yahoo has replaced Google as the search provider throughout the phone.
Therein lies a problem for many OEMs and network operators. It&#8217;s very difficult for them to remove something (e.g. Search, App Store, Email&#8230;) and replace it with something that&#8217;s better. The default apps and services [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-627" title="engadget" src="http://www.androidsoftwaredeveloper.com/wp-content/uploads/engadget.gif" alt="engadget" width="198" height="44" />In <a href="http://www.engadget.com/2010/03/01/motorola-backflip-for-atandt-unboxing-and-hands-on/" target="_blank">recent news</a>, AT&amp;T&#8217;s Motorola Backflip is configured such that Yahoo has replaced Google as the search provider throughout the phone.</p>
<p>Therein lies a problem for many OEMs and network operators. It&#8217;s very difficult for them to remove something (e.g. Search, App Store, Email&#8230;) and replace it with something that&#8217;s better. The default apps and services are so good that it&#8217;s difficult to compete (and differentiate). Instead, maybe they should be thinking about adding to the platform rather than replacing components.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.androidsoftwaredeveloper.com/2010/03/02/replacing-android-components/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Android Training Videos</title>
		<link>http://www.androidsoftwaredeveloper.com/2010/03/01/android-training-videos/</link>
		<comments>http://www.androidsoftwaredeveloper.com/2010/03/01/android-training-videos/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 09:28:01 +0000</pubDate>
		<dc:creator>Simon Judge, Freelance Mobile Developer</dc:creator>
		
		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Training]]></category>

		<guid isPermaLink="false">http://www.androidsoftwaredeveloper.com/?p=618</guid>
		<description><![CDATA[Jérôme Arnaud has emailed me about his Android training videos. Chapter 12, on Intents, is available free while the others are available for $9.95.
]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-617" title="androidselftraining" src="http://www.androidsoftwaredeveloper.com/wp-content/uploads/androidselftraining.gif" alt="androidselftraining" width="206" height="53" />Jérôme Arnaud has emailed me about his <a href="http://android.voxisland.com" target="_blank">Android training videos</a>. Chapter 12, on Intents, is available free while the others are available for $9.95.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.androidsoftwaredeveloper.com/2010/03/01/android-training-videos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Phone Comparison</title>
		<link>http://www.androidsoftwaredeveloper.com/2010/02/26/phone-comparison/</link>
		<comments>http://www.androidsoftwaredeveloper.com/2010/02/26/phone-comparison/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 18:06:36 +0000</pubDate>
		<dc:creator>Simon Judge, Freelance Mobile Developer</dc:creator>
		
		<category><![CDATA[phones]]></category>

		<guid isPermaLink="false">http://www.androidsoftwaredeveloper.com/?p=606</guid>
		<description><![CDATA[With all the Android phone announcements, it&#8217;s hard to keep up with the various new phone specifications. You might like to try androphones.com who are doing a great job comparing the various devices. There&#8217;s a large matrix where you can compare specifications&#8230;

]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-607" title="androidphonesicon" src="http://www.androidsoftwaredeveloper.com/wp-content/uploads/androidphonesicon.gif" alt="androidphonesicon" width="167" height="70" />With all the Android phone announcements, it&#8217;s hard to keep up with the various new phone specifications. You might like to try <a href="http://www.androphones.com/" target="_blank">androphones.com</a> who are doing a great job comparing the various devices. There&#8217;s a <a href="http://www.androphones.com/all-android-phones.php" target="_blank">large matrix</a> where you can compare specifications&#8230;</p>
<p style="text-align: center;"><img class="size-full wp-image-609 aligncenter" title="androidphones" src="http://www.androidsoftwaredeveloper.com/wp-content/uploads/androidphones.gif" alt="androidphones" width="467" height="199" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.androidsoftwaredeveloper.com/2010/02/26/phone-comparison/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SQLite Performance</title>
		<link>http://www.androidsoftwaredeveloper.com/2010/02/25/sqlite-performance/</link>
		<comments>http://www.androidsoftwaredeveloper.com/2010/02/25/sqlite-performance/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 13:22:12 +0000</pubDate>
		<dc:creator>Simon Judge, Freelance Mobile Developer</dc:creator>
		
		<category><![CDATA[Android]]></category>

		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Database]]></category>

		<guid isPermaLink="false">http://www.androidsoftwaredeveloper.com/?p=599</guid>
		<description><![CDATA[I have been doing some Android work involving medium size databases and have come across some barriers to using SQLite. With tens of thousands of records, performance degrades such that the use of the Android CursorAdapter together with a ListActivity are no longer viable.
More specifically, with just tens of thousands of records, opening the database [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-600" title="sqlite" src="http://www.androidsoftwaredeveloper.com/wp-content/uploads/sqlite.gif" alt="sqlite" width="167" height="54" />I have been doing some Android work involving medium size databases and have come across some barriers to using SQLite. With tens of thousands of records, performance degrades such that the use of the Android CursorAdapter together with a ListActivity are no longer viable.</p>
<p>More specifically, with just tens of thousands of records, opening the database cursor takes several seconds. Also, moving backwards using a cursor is far too slow. Digging deeper, other developers have commented on <a href="http://groups.google.com/group/android-developers/browse_thread/thread/42d90ad0e57ae304" target="_blank">problems with Listview.setAdapter()</a> and more specifically its call to <a href="http://groups.google.com/group/android-developers/browse_thread/thread/c1346ec6e2310c0c" target="_blank">cursor.getCount().</a></p>
<p>Anything more than 12,000 records and Android&#8217;s SQLite can&#8217;t provide the required performance for the UI performance to remain acceptable. In these cases you have to either limit the number of rows returned (via SQL) or resort to more custom ways to store your data. This goes some way to explaining why there aren&#8217;t any generic database applications on the Android Market.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.androidsoftwaredeveloper.com/2010/02/25/sqlite-performance/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Android Java Reflection</title>
		<link>http://www.androidsoftwaredeveloper.com/2010/02/24/android-java-reflection/</link>
		<comments>http://www.androidsoftwaredeveloper.com/2010/02/24/android-java-reflection/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 07:44:31 +0000</pubDate>
		<dc:creator>Simon Judge, Freelance Mobile Developer</dc:creator>
		
		<category><![CDATA[Android]]></category>

		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://www.androidsoftwaredeveloper.com/?p=554</guid>
		<description><![CDATA[I have recently had to use reflection in Java. It allows you to develop with the latest SDK (say 2.01 or 2.1) while still allowing code to be run on older 1.x devices. Ordinarily, running (calling) newer APIs on older phones would cause errors.
Reflection is essentially a facility to test if an API exists. If [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-561" title="reflection" src="http://www.androidsoftwaredeveloper.com/wp-content/uploads/reflection.gif" alt="reflection" width="137" height="91" />I have recently had to use reflection in Java. It allows you to develop with the latest SDK (say 2.01 or 2.1) while still allowing code to be run on older 1.x devices. Ordinarily, running (calling) newer APIs on older phones would cause errors.</p>
<p>Reflection is essentially a facility to test if an API exists. If it does then you can call the API. If it doesn&#8217;t then you can degrade gracefully with an error to the user or do something else instead.</p>
<p>There&#8217;s a great <a href="http://android-developers.blogspot.com/2009/04/backward-compatibility-for-android.html" target="_blank">article on the Android Developers Blog</a> explaining how it works.  It relies on a call to .class.getMethod() and catching a possible NoSuchMethodException.</p>
<p>Excessive use of reflection and/or not caching whether the api is there and/or using reflection repeatedly in time critical code, can cause performance problems. Also, this extra mechanism makes code less readable and, as more newer APIs become available, might make code harder to maintain.</p>
<p>One of the most useful places to use reflection is in testing. It allows common test harnesses to be built that can be run on both old and new code. Obviously, as it&#8217;s only test code, performance is less of an issue.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.androidsoftwaredeveloper.com/2010/02/24/android-java-reflection/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
