<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>James Becwar</title>
	<atom:link href="http://www.jamesbecwar.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jamesbecwar.com</link>
	<description>Android Development</description>
	<lastBuildDate>Tue, 17 Jul 2012 16:34:24 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>Problems Using Google Analytic in Android in the application class</title>
		<link>http://www.jamesbecwar.com/2012/07/17/problems-using-google-analytic-in-android-in-the-application-class/</link>
		<comments>http://www.jamesbecwar.com/2012/07/17/problems-using-google-analytic-in-android-in-the-application-class/#comments</comments>
		<pubDate>Tue, 17 Jul 2012 16:34:24 +0000</pubDate>
		<dc:creator>jbecwar</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://www.jamesbecwar.com/?p=400</guid>
		<description><![CDATA[For a while now you have been able to use Google Analytics to track user Analytics in Android applications.  Its pretty simple to use, but I found one bug that other people may run in to.  The application I&#8217;m working on has its static application data stored in a custom instance that implements the Android application class.  When I [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.jamesbecwar.com/wp-content/uploads/2012/07/ga.png"><img class="aligncenter  wp-image-403" title="Google Analytics" src="http://www.jamesbecwar.com/wp-content/uploads/2012/07/ga.png" alt="" width="713" height="325" /></a></p>
<p>For a while now you have been able to use Google Analytics to track user Analytics <a href="https://developers.google.com/analytics/devguides/collection/android/">in Android applications</a>.  Its pretty simple to use, but I found one bug that other people may run in to.  The application I&#8217;m working on has its static application data stored in a custom instance that implements the Android application class.  When I first started working with Analytics I placed the tracker in the application class, and had the tracker start during the constructor of the application.  This didn&#8217;t work at all, as the tracker.startNewSession would throw null pointer exceptions try to create a database.</p>
<p>Lucky for me, all my activities extend a custom activity, so I could add the tracker there.  At first I wasn&#8217;t too happy to have an instance of the tracker per activity, but it turns out that getInstance() function is actually getting an instance of a static class, so in reality there is only one instance of the tracker in memory.</p>
<p>Hope this helps someone getting started with Google Analytics in Android.</p>
<p>-James</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jamesbecwar.com/2012/07/17/problems-using-google-analytic-in-android-in-the-application-class/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reader (or Spammer) used MobFox network to increase revenue, maybe</title>
		<link>http://www.jamesbecwar.com/2011/05/09/reader-used-mobfox-network-to-increase-revenue/</link>
		<comments>http://www.jamesbecwar.com/2011/05/09/reader-used-mobfox-network-to-increase-revenue/#comments</comments>
		<pubDate>Mon, 09 May 2011 15:57:47 +0000</pubDate>
		<dc:creator>jbecwar</dc:creator>
				<category><![CDATA[Ad Networks]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Mobile Monetization]]></category>
		<guid isPermaLink="false">http://jamesbecwar.com/?p=390</guid>
		<description><![CDATA[Update 5/13/11:  Recived the following email from Martin at MobFox: Hi James, I just became aware of the article about MobFox on this website. Could you forward me the spam e-mail which you received? We currently do not have any specific rules for our Affiliates but we&#8217;ll introduce some very soon to prevent such a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jamesbecwar.com/wp-content/uploads/2011/05/logoMobileSection02.png"><img class="aligncenter size-medium wp-image-391" title="Mobfox Logo" src="http://jamesbecwar.com/wp-content/uploads/2011/05/logoMobileSection02-246x300.png" alt="Mobfox Logo" width="246" height="300" /></a></p>
<p>Update 5/13/11:  Recived the following email from Martin at MobFox:</p>
<p style="padding-left: 30px;">Hi James,</p>
<p style="padding-left: 30px;">I just became aware of the article about MobFox on this website.</p>
<p style="padding-left: 30px;">Could you forward me the spam e-mail which you received? We currently do not have any specific rules for our Affiliates but we&#8217;ll introduce some very soon to prevent such a behaviour of our partners / affiliates.</p>
<p style="padding-left: 30px;">To clarify, Affiliates that promote the MobFox network to sign up other developers usually receive a % of the referred developer&#8217;s publisher earnings.</p>
<p style="padding-left: 30px;">Thank You,<br />
<span style="color: #888888;">Martin / MobFox.com</span></p>
<p>&nbsp;</p>
<p>Update 5/10/11:  Looks like I got spammed, lol.  I disabled the links as I dont&#8217; want to give them any google bounce.</p>
<p>Alessandro De Carli wrote me and let me know that he ditched AdMob for MobFox and saw a major increase in revenue.  He has a blog at http://www.papers.ch<a title="Alessandro De Carli's Blog" href="http://papers.ch"> </a> Just thought I would pass it along.</p>
<p>-James</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jamesbecwar.com/2011/05/09/reader-used-mobfox-network-to-increase-revenue/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Why I&#8217;m not publishing on The Amazon AppStore</title>
		<link>http://www.jamesbecwar.com/2011/04/15/why-im-not-publishing-on-the-amazon-appstore/</link>
		<comments>http://www.jamesbecwar.com/2011/04/15/why-im-not-publishing-on-the-amazon-appstore/#comments</comments>
		<pubDate>Fri, 15 Apr 2011 16:29:08 +0000</pubDate>
		<dc:creator>jbecwar</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Mobile Monetization]]></category>
		<guid isPermaLink="false">http://jamesbecwar.com/?p=382</guid>
		<description><![CDATA[As I&#8217;m sure you have heard Amazon has released there &#8220;AppStore&#8221; on to the world for Android. Many developers are up in arms over the strange terms that Amazon has required of publishers. There was a pretty good article today why publishers should stay away from the current Amazon AppStore. I just wanted to add [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-384" title="Amazon Appstore" src="http://jamesbecwar.com/wp-content/uploads/2011/04/amazon_appstore.png" alt="" width="241" height="189" /></p>
<p>As I&#8217;m sure you have heard Amazon has released there &#8220;<a title="amazon app store" href="http://www.amazon.com/mobile-apps" target="_blank">AppStore</a>&#8221; on to the world for Android.  Many developers are up in arms over the strange terms that Amazon has required of publishers.  There was a <a title="app store dispute" href="http://http://igdaboard.wordpress.com/2011/04/14/important-advisory-about-amazon%E2%80%99s-appstore-distribution-terms-2/" target="_blank">pretty good article</a> today why publishers should stay away from the current Amazon AppStore.</p>
<p>I just wanted to add one more comment about the topic.  Google makes money from Android in two ways.  One is selling the Android + Google Services (like maps/market) to manufactures.  The other way is by taking a cut of market sales.  Their cut is 30% off the top.  But for the 30% they distribute, market, track and most importantly they use some of that money to improve both Android and the services built on top of Android.  Frankly its a good value for me.  Even if Amazon perfectly matched Google&#8217;s terms,  I wouldn&#8217;t use them.  They just don&#8217;t give back to the Android development community like Google does.</p>
<p>-James</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jamesbecwar.com/2011/04/15/why-im-not-publishing-on-the-amazon-appstore/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>How to Add bitmaps from Camera Activity Dynamically to Gallery</title>
		<link>http://www.jamesbecwar.com/2011/04/12/how-to-add-bitmaps-from-camera-activity-dynamically-to-gallery/</link>
		<comments>http://www.jamesbecwar.com/2011/04/12/how-to-add-bitmaps-from-camera-activity-dynamically-to-gallery/#comments</comments>
		<pubDate>Tue, 12 Apr 2011 14:47:36 +0000</pubDate>
		<dc:creator>jbecwar</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://jamesbecwar.com/?p=370</guid>
		<description><![CDATA[So I spent a few hours this morrning looking for a demo on how to add bitmaps that I got from the Camera Activity Dynamicly to a Gallery View.  Here is the code I came up with.  Let me know if there is a better way. import java.util.ArrayList; import java.util.Stack; import java.util.Vector; import android.app.Activity; import [...]]]></description>
			<content:encoded><![CDATA[<p>So I spent a few hours this morrning looking for a demo on how to add bitmaps that I got from the Camera Activity Dynamicly to a Gallery View.  Here is the code I came up with.  Let me know if there is a better way.<br />
</p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.ArrayList</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.Stack</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.Vector</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.app.Activity</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.content.Context</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.content.Intent</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.graphics.Bitmap</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.hardware.Camera</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.os.Bundle</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.provider.MediaStore</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.view.View</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.view.View.OnClickListener</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.view.ViewGroup</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.widget.BaseAdapter</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.widget.Button</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.widget.Gallery</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.widget.ImageView</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Pictures <span style="color: #000000; font-weight: bold;">extends</span> Activity <span style="color: #000000; font-weight: bold;">implements</span> OnClickListener <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000066; font-weight: bold;">int</span> PICTURE_RESULT <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Acontext+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Context</span></a> ctx <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abutton+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Button</span></a> next <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abutton+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Button</span></a> addPhoto <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; Gallery gal <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; ImageAdapter images <span style="color: #339933;">=</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; @Override<br />
&nbsp; &nbsp; <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>Bundle savedInstanceState<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">super</span>.<span style="color: #006633;">onCreate</span><span style="color: #009900;">&#40;</span>savedInstanceState<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; setContentView<span style="color: #009900;">&#40;</span>R.<span style="color: #006633;">layout</span>.<span style="color: #006633;">pictures</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; ctx <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">getBaseContext</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; next <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abutton+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Button</span></a><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">findViewById</span><span style="color: #009900;">&#40;</span>R.<span style="color: #006633;">id</span>.<span style="color: #006633;">widget30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; next.<span style="color: #006633;">setOnClickListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; addPhoto <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abutton+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Button</span></a><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">findViewById</span><span style="color: #009900;">&#40;</span>R.<span style="color: #006633;">id</span>.<span style="color: #006633;">widget35</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; addPhoto.<span style="color: #006633;">setOnClickListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; images <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ImageAdapter<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; gal <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>Gallery<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">findViewById</span><span style="color: #009900;">&#40;</span>R.<span style="color: #006633;">id</span>.<span style="color: #006633;">widget36</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; gal.<span style="color: #006633;">setAdapter</span><span style="color: #009900;">&#40;</span>images<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; @Override<br />
&nbsp; &nbsp; <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><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aview+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">View</span></a> v<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>v <span style="color: #339933;">==</span> next<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>v <span style="color: #339933;">==</span> addPhoto<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Intent intent <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Intent<span style="color: #009900;">&#40;</span>MediaStore.<span style="color: #006633;">ACTION_IMAGE_CAPTURE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">startActivityForResult</span><span style="color: #009900;">&#40;</span>intent, PICTURE_RESULT<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; @Override<br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> onActivityResult<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> reqCode, <span style="color: #000066; font-weight: bold;">int</span> resultCode, Intent data<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">super</span>.<span style="color: #006633;">onActivityResult</span><span style="color: #009900;">&#40;</span>reqCode, resultCode, data<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>reqCode <span style="color: #339933;">==</span> PICTURE_RESULT<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>resultCode <span style="color: #339933;">==</span> Activity.<span style="color: #006633;">RESULT_OK</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Bundle b <span style="color: #339933;">=</span> data.<span style="color: #006633;">getExtras</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Bitmap pic <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>Bitmap<span style="color: #009900;">&#41;</span> b.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;data&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>pic <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;images.<span style="color: #006633;">AddImage</span><span style="color: #009900;">&#40;</span>pic<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gal.<span style="color: #006633;">setAdapter</span><span style="color: #009900;">&#40;</span>images<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> &nbsp;<span style="color: #666666; font-style: italic;">//forces the gallery to add the new images.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #009900;">&#125;</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> ImageAdapter <span style="color: #000000; font-weight: bold;">extends</span> BaseAdapter <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">private</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Acontext+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Context</span></a> mContext<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">private</span> Vector<span style="color: #339933;">&lt;</span>Bitmap<span style="color: #339933;">&gt;</span> images <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Vector<span style="color: #339933;">&lt;</span>Bitmap<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> ImageAdapter<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Acontext+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Context</span></a> c<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mContext <span style="color: #339933;">=</span> c<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> AddImage<span style="color: #009900;">&#40;</span>Bitmap b<span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; images.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>b<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; @Override<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">int</span> getCount<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">return</span> images.<span style="color: #006633;">size</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; @Override<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aobject+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Object</span></a> getItem<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> arg0<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">return</span> images.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span>arg0<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; @Override<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">long</span> getItemId<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> arg0<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">return</span> arg0<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; @Override<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aview+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">View</span></a> getView<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> position, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aview+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">View</span></a> convertView, ViewGroup parent<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ImageView img<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>convertView <span style="color: #339933;">==</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; img <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ImageView<span style="color: #009900;">&#40;</span>mContext<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; img <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>ImageView<span style="color: #009900;">&#41;</span>convertView<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; img.<span style="color: #006633;">setImageBitmap</span><span style="color: #009900;">&#40;</span>images.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span>position<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">return</span> img<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span></div></div>
<p>
And the xml layout:</p>
<div class="codecolorer-container xml default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;utf-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;LinearLayout</span></span><br />
<span style="color: #009900;"><span style="color: #000066;">android:id</span>=<span style="color: #ff0000;">&quot;@+id/widget34&quot;</span></span><br />
<span style="color: #009900;"><span style="color: #000066;">android:layout_width</span>=<span style="color: #ff0000;">&quot;fill_parent&quot;</span></span><br />
<span style="color: #009900;"><span style="color: #000066;">android:layout_height</span>=<span style="color: #ff0000;">&quot;fill_parent&quot;</span></span><br />
<span style="color: #009900;"><span style="color: #000066;">xmlns:android</span>=<span style="color: #ff0000;">&quot;http://schemas.android.com/apk/res/android&quot;</span></span><br />
<span style="color: #009900;"><span style="color: #000066;">android:orientation</span>=<span style="color: #ff0000;">&quot;vertical&quot;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Button</span></span><br />
<span style="color: #009900;"><span style="color: #000066;">android:id</span>=<span style="color: #ff0000;">&quot;@+id/widget35&quot;</span></span><br />
<span style="color: #009900;"><span style="color: #000066;">android:layout_width</span>=<span style="color: #ff0000;">&quot;209px&quot;</span></span><br />
<span style="color: #009900;"><span style="color: #000066;">android:layout_height</span>=<span style="color: #ff0000;">&quot;wrap_content&quot;</span></span><br />
<span style="color: #009900;"><span style="color: #000066;">android:text</span>=<span style="color: #ff0000;">&quot;Add Photo&quot;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Button<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Gallery</span></span><br />
<span style="color: #009900;"><span style="color: #000066;">android:id</span>=<span style="color: #ff0000;">&quot;@+id/widget36&quot;</span></span><br />
<span style="color: #009900;"><span style="color: #000066;">android:layout_width</span>=<span style="color: #ff0000;">&quot;fill_parent&quot;</span></span><br />
<span style="color: #009900;"><span style="color: #000066;">android:layout_height</span>=<span style="color: #ff0000;">&quot;fill_parent&quot;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Gallery<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Button</span></span><br />
<span style="color: #009900;"><span style="color: #000066;">android:id</span>=<span style="color: #ff0000;">&quot;@+id/widget30&quot;</span></span><br />
<span style="color: #009900;"><span style="color: #000066;">android:layout_width</span>=<span style="color: #ff0000;">&quot;wrap_content&quot;</span></span><br />
<span style="color: #009900;"><span style="color: #000066;">android:layout_height</span>=<span style="color: #ff0000;">&quot;wrap_content&quot;</span></span><br />
<span style="color: #009900;"><span style="color: #000066;">android:text</span>=<span style="color: #ff0000;">&quot;Next&quot;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Button<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/LinearLayout<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jamesbecwar.com/2011/04/12/how-to-add-bitmaps-from-camera-activity-dynamically-to-gallery/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Android Openness and Fragmentation</title>
		<link>http://www.jamesbecwar.com/2011/04/07/android-openness-and-fragmentation/</link>
		<comments>http://www.jamesbecwar.com/2011/04/07/android-openness-and-fragmentation/#comments</comments>
		<pubDate>Thu, 07 Apr 2011 18:43:35 +0000</pubDate>
		<dc:creator>jbecwar</dc:creator>
				<category><![CDATA[Android]]></category>
		<guid isPermaLink="false">http://jamesbecwar.com/?p=364</guid>
		<description><![CDATA[There has been a lot of talk about Openness and Fragmentation in Android over the past few months.  Frankly most of the articles have been misleading at best and flat out wrong at times. There are two major issues surrounding Android right now: Android 3.0 images was released in Feburary.  Motorola rolled out the Xoom [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jamesbecwar.com/wp-content/uploads/2011/04/android-in-jail-behind-bars.jpg"><img class="aligncenter size-medium wp-image-367" title="android-in-jail-behind-bars" src="http://jamesbecwar.com/wp-content/uploads/2011/04/android-in-jail-behind-bars-300x221.jpg" alt="" width="300" height="221" /></a></p>
<p>There has been a lot of talk about Openness and Fragmentation in Android over the past few months.  Frankly most of the articles have been misleading at best and flat out wrong at times.</p>
<p>There are two major issues surrounding Android right now:</p>
<p>Android 3.0 images was released in Feburary.  Motorola rolled out the Xoom which uses Android 3.0.  Publicly the source code to Android 3.0 isn&#8217;t available.  Frankly I don&#8217;t know how Google can do this, as many things such as the Linux kernel is GPL licenced and must be released.  Linksys got sued by the FSF for the same issue, <a href="http://www.linuxfordevices.com/c/a/News/Cisco-sued-for-Linksys-GPL-violation/" target="_blank">you can read about it here</a>.  Frankly this bothers me a lot, Google is flat out disregarding copyright law.  In other words, Google = Evil.</p>
<p>The Second issue is the lack of hardware that is both unlocked and rooted.  Of course  you could root your own phone, but I would much rather just buy an unlocked / rooted phone where everything is on the up and up.  For a long time now Google has sold developer phones that were unlocked and rooted.  Now they are out of stock and have been for quite some time.  Whats the point of having open source if you have closed hardware?  Don&#8217;t give me the bull about how the carries want it locked, they sell tons of myfi&#8217;s and usb 3g cards that lets anything on to their networks.  It works the same in the phone, there is a little wireless radio chip that handles the network communication.</p>
<p>The lack of open hardware is what is causing the issue of fragmentation.  Users have phones with old Android loads and want to upgrade them to latest and greatest.  Users see their phones as mini-computers where they should be able to upgrade.  In fact due to carrier upgrades, users know they can upgrade them.  Manufactures see phones as consumer electronic devices that get thrown away after 12 months or so, so they stop updating them. In other words Manufactures and Carriers = Evil.</p>
<p>Journalists see all the operating systems in use as fragmentation, but to me its not.  An application that runs on Android 1.0 will run just fine on 3.0.  Its similar to Windows, where you might have windows xp and windows 7 on the same networking, running the same programs, but operating systems are diffrent.  To me fragmentation is more like the Unix enviroments of the 80&#8242;s and 90&#8242;s where you had things like AIX and Solaris which were pretty close from an operating system view but couldn&#8217;t run application written for each other, unless explicitly designed to.  This problem doesn&#8217;t exist in Android as of today.</p>
<p>So we get to openness and freedom.  I started thinking about current consumer products and how open/free they are.</p>
<p>Generic PC and Linux: Free/Open software and hardware (most of the time, on the hardware) I would say this as open as it gets</p>
<p>Generic PC and Windows: Open hardware / Closed os, but runs any software.  I would consider this open/free, but not as much as if it was running Linux. I can upgrade and do what I want.</p>
<p>Mac PC and Mac OS: Semi open hardware / Semi Open Hardware.  I don&#8217;t consider this free, Apple is stingy with drivers and information at times. You can run Linux pretty well, and Windows, but you can tell its second fiddle.  Start getting a little nervous about my rights&#8230;</p>
<p>Android Device: Closed hardware, Open source OS (except for &#8216;skins&#8217; like sense, and when you can&#8217;t get it like 3.0)  Its just not free to me, whats the point of a open source operating system if you can&#8217;t run it on your device?  Annoying long term.</p>
<p>iOS Device: Closed Hardware, Closed Source.  Not free.  Won&#8217;t use.  Don&#8217;t even want to write apps for it.</p>
<p>I have been hearing many people talk about how Android is the Windows of the Phone world.  Nothing could be farther from the truth.  Windows is closed source, Android is mostly open source.  Windows runs on open hardware, Android runs on locked down devices.  The ramifications are totally different.  Locked devices like Android make it hard for things like Linux to happen, how would you get started? I know you can root your phone, but you shouldn&#8217;t have to, its YOUR phone.  There may come a day where a phone or device can&#8217;t be rooted.</p>
<p>Why does this matter?  Closed hardware makes updates much harder.  Its pissing off users of older devices.  It makes it much harder for developers.  Its unethical to call something open source and then not release it to everyone, because you are worried that the market will flood with cheep tablets.  I hope that the Android team does something about it.  I sincerely believe that Android could be the dominate Operating system stack for all computers in the near future.  I hope they don&#8217;t drive it in to the ground and turn it in to cable tv.</p>
<p>If someone from the Microsoft Windows Phone team reads this, if you kept your os closed and hardware open you could win (no pun) the game.  Android developers are getting fed up.</p>
<p>So what do you think?</p>
Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.
<p>-James</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jamesbecwar.com/2011/04/07/android-openness-and-fragmentation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Want a free BlackBerry Playbook?</title>
		<link>http://www.jamesbecwar.com/2011/02/25/want-a-free-blackberry-playbook/</link>
		<comments>http://www.jamesbecwar.com/2011/02/25/want-a-free-blackberry-playbook/#comments</comments>
		<pubDate>Fri, 25 Feb 2011 15:12:30 +0000</pubDate>
		<dc:creator>jbecwar</dc:creator>
				<category><![CDATA[RIM]]></category>
		<guid isPermaLink="false">http://www.jamesbecwar.com/?p=357</guid>
		<description><![CDATA[Want a free BlackBerry Playbook?  RIM is running a promotion where if you get an app for the Playbook accepted in to the BlackBerry App World, before launch, they will give you a free playbook.  You can read more about the free playbook here.  I&#8217;m not in any way connected to RIM. -James]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jamesbecwar.com/wp-content/uploads/2011/02/download.jpg"><img class="alignleft size-medium wp-image-358" title="Blackberry Playbook" src="http://www.jamesbecwar.com/wp-content/uploads/2011/02/download-244x300.jpg" alt="" width="244" height="300" /></a>Want a free BlackBerry Playbook?  RIM is running a promotion where if you get an app for the Playbook accepted in to the BlackBerry App World, before launch, they will give you a free playbook.  You can read more about the <a href="http://us.blackberry.com/developers/tablet/playbook_offer.jsp">free playbook here</a>.  I&#8217;m not in any way connected to RIM.</p>
<p>-James</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jamesbecwar.com/2011/02/25/want-a-free-blackberry-playbook/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Android 1.x users now make up only about 10% of the market.</title>
		<link>http://www.jamesbecwar.com/2011/02/20/android-1-x-users-now-make-up-only-about-10-of-the-market/</link>
		<comments>http://www.jamesbecwar.com/2011/02/20/android-1-x-users-now-make-up-only-about-10-of-the-market/#comments</comments>
		<pubDate>Sun, 20 Feb 2011 23:47:16 +0000</pubDate>
		<dc:creator>jbecwar</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[Private Browser]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://www.jamesbecwar.com/?p=350</guid>
		<description><![CDATA[I was looking at the platform versions that were using Android Market for the first two weeks of February.  Android 1.x users now make up 10.1% of the users using Android market.  I haven&#8217;t been able to figure out how many users use the market in a given month, so I&#8217;m unsure how many users 10% [...]]]></description>
			<content:encoded><![CDATA[<p>I was looking at the <a href="http://developer.android.com/resources/dashboard/platform-versions.html">platform versions that were using Android Market </a>for the first two weeks of February.  Android 1.x users now make up 10.1% of the users using Android market.  I haven&#8217;t been able to figure out how many users use the market in a given month, so I&#8217;m unsure how many users 10% is.</p>
<p>For many applications the API changes in 1.x to 2.x isn&#8217;t that important.  In fact of all my applications, Only <a href="http://www.jamesbecwar.com/private-browser/">Private Browser</a> could make good use of the 2.x API.  (Photo of the Day uses live wallpapers, so it has to use 2.x, so it doesn&#8217;t count.)  I would recommend supporting the lowest API version that fits your applications design, because why cut your market by 10% if you don&#8217;t have too.  Also, there might be less competition in the 1.x market, because all the new applications will probably target 2.x just because its newer.</p>
<p>There are a lot of great API improvements in 2.x.  Opengl support is better, the webkit object actually exports the plugin interface, and the you can catch ssl certificate errors, and redirections.  There are a ton of other great changes that are documented in the <a href="http://developer.android.com/sdk/api_diff/5/changes.html">API differences pages</a>.</p>
<p>So what do you guys think, Should I drop support for 1.x in Private Browser?  Are you going to drop support for 1.x in the near future?  Take the poll and leave a comment and let me know what you think.  Frankly I&#8217;m on the fence right now.</p>
<p>-James</p>
Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.
]]></content:encoded>
			<wfw:commentRss>http://www.jamesbecwar.com/2011/02/20/android-1-x-users-now-make-up-only-about-10-of-the-market/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Android Savvy</title>
		<link>http://www.jamesbecwar.com/2011/01/11/android-savvy/</link>
		<comments>http://www.jamesbecwar.com/2011/01/11/android-savvy/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 16:32:32 +0000</pubDate>
		<dc:creator>jbecwar</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://www.jamesbecwar.com/?p=340</guid>
		<description><![CDATA[I found a cool meta Android site called Android Savvy.  I have been talking to the author and he&#8217;s a really nice guy.  Check it out. -James]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.androidsavvy.com/index.php?option=com_content&amp;view=frontpage&amp;Itemid=10"><img class="aligncenter size-medium wp-image-341" title="Android Savvy" src="http://www.jamesbecwar.com/wp-content/uploads/2011/01/androidsavvyheader-300x47.png" alt="" /><br />
</a></p>
<p>I found <a href="http://www.androidsavvy.com/index.php?option=com_content&amp;view=frontpage&amp;Itemid=10">a cool meta Android site called Android Savvy</a>.  I have been talking to the author and he&#8217;s a really nice guy.  Check it out.</p>
<p>-James</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jamesbecwar.com/2011/01/11/android-savvy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Physic Libraries In Android</title>
		<link>http://www.jamesbecwar.com/2011/01/11/physic-libraries-in-android/</link>
		<comments>http://www.jamesbecwar.com/2011/01/11/physic-libraries-in-android/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 15:51:49 +0000</pubDate>
		<dc:creator>jbecwar</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://www.jamesbecwar.com/?p=336</guid>
		<description><![CDATA[I came a cross a cool HTML5 pinball demo that was using the Box2d library.  Turns out there is a java port called JBox2D.  Might make for some cool Android games&#8230; I even found a quick Android intro! -James]]></description>
			<content:encoded><![CDATA[<p>I came a cross <a href="http://ie.microsoft.com/testdrive/Graphics/CanvasPinball/default.html">a cool HTML5 pinball demo</a> that was using the <a href="http://www.box2d.org">Box2d library</a>.  Turns out there is a <a href="http://www.jbox2d.org/">java port called JBox2D</a>.  Might make for some cool Android games&#8230; I even found a <a href="http://www.anddev.org/how-to_2d_physics_with_box2d-t5099.html">quick Android intro</a>!</p>
<p>-James</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jamesbecwar.com/2011/01/11/physic-libraries-in-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Review of Adwhirl</title>
		<link>http://www.jamesbecwar.com/2011/01/04/review-of-adwhirl/</link>
		<comments>http://www.jamesbecwar.com/2011/01/04/review-of-adwhirl/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 22:36:07 +0000</pubDate>
		<dc:creator>jbecwar</dc:creator>
				<category><![CDATA[Ad Networks]]></category>
		<category><![CDATA[AdMob]]></category>
		<category><![CDATA[AdSense]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[MobClix]]></category>
		<category><![CDATA[Mobile Monetization]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://www.jamesbecwar.com/?p=46</guid>
		<description><![CDATA[I recently tried a product called AdWhirl from AdMob.  AdWhirl is an open source ad aggregation tool.  Basically you put an AdWhirl ad in your application, it will query the various ad agencies and try to find the best ad to place on your page.  In other words, you could run ads AdMob, Quartro, iAd, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jamesbecwar.com/wp-content/uploads/2010/12/adwhirl.png"><img class="aligncenter size-medium wp-image-290" title="adwhirl" src="http://www.jamesbecwar.com/wp-content/uploads/2010/12/adwhirl-300x184.png" alt="adwhirl" width="300" height="184" /></a>I recently tried a product called <a title="AdWhirl" href="http://www.adwhirl.com" target="_blank">AdWhirl</a> from <a title="AdMob" href="http://www.admob.com" target="_blank">AdMob</a>.  AdWhirl is an open source ad aggregation tool.  Basically you put an AdWhirl ad in your application, it will query the various ad agencies and try to find the best ad to place on your page.  In other words, you could run ads AdMob, Quartro, iAd, your own ad network, etc.  The idea is excellent.</p>
<p>The setup is not for the faint of heart.  AdMob will let you use their server, but you should really setup your own AdWhirl server so you are in control.  You will also need to register directly with each and every ad network you will be using.  Registration can take weeks, so you should do it as soon as possible.  On the application side, you will need to include the library (jar) for each platform, which can make for some large applications.  After that there is some minor configuration, but nothing too bad.</p>
<p>I really like the idea, but this implementation isn&#8217;t for me.  When there is an update to the ad network libraries you have to update your application.  I would have liked it better if the jars were loaded on the server, so the clients didn&#8217;t have to talk directly with each and every client.  I also don&#8217;t like having to run the service on my own server, for busy applications, it might eat up a signficant part of the savings.</p>
<p>The absolute worst part is getting paid by multipal ad networks!  In the industry  you have Net-5, Net-30, Net-60, Net-90.  Its really had to stay on top of.  A check can eaisly go missing and you would never know it.</p>
<p>When would I use AdWhirl?  If I had an application that generated a lot of views (inventory). I might want to sell my own inventory, AdWhirl would allow me to sell a portion of my inventory, and still use a network for the remaining.  Excessive inventory is a huge problem publishers, and AdWhirl is a good solution for it.</p>
<p>-James</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jamesbecwar.com/2011/01/04/review-of-adwhirl/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
