<?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>zrgiu - Mobile apps developer</title>
	<atom:link href="http://zrgiu.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://zrgiu.com/blog</link>
	<description>Android tips &#38; tricks, tech impressions and opinions</description>
	<lastBuildDate>Thu, 22 Dec 2011 09:56:08 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Android ICS for your pc/emulator</title>
		<link>http://zrgiu.com/blog/2011/12/android-ics-for-your-pcemulator/</link>
		<comments>http://zrgiu.com/blog/2011/12/android-ics-for-your-pcemulator/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 09:56:08 +0000</pubDate>
		<dc:creator>zrgiu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://zrgiu.com/blog/?p=97</guid>
		<description><![CDATA[The android-x86 project got updated recently to support Android 4.0 ICS! If you want to see the latest version of android running smooth on your computer (we all know how slow the official emulator is), this is definitely a solution worth trying.]]></description>
				<content:encoded><![CDATA[<p>The <a href="http://www.android-x86.org/download" target="_blank">android-x86 project</a> got updated recently to support Android 4.0 ICS!</p>
<p>If you want to see the latest version of android running smooth on your computer (we all know how slow the official emulator is), this is definitely a solution worth trying.</p>
]]></content:encoded>
			<wfw:commentRss>http://zrgiu.com/blog/2011/12/android-ics-for-your-pcemulator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running Android on your PC</title>
		<link>http://zrgiu.com/blog/2011/02/running-android-on-your-pc/</link>
		<comments>http://zrgiu.com/blog/2011/02/running-android-on-your-pc/#comments</comments>
		<pubDate>Fri, 11 Feb 2011 17:21:34 +0000</pubDate>
		<dc:creator>zrgiu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://zrgiu.com/blog/?p=94</guid>
		<description><![CDATA[I&#8217;ve recently discovered a neat way of running Android on my PC, thanks to some cool (and very very smart) developers: http://www.android-x86.org/getsourcecode I discovered the website while I was trying to find a way of running Honeycomb (Android 3.0) , since the emulator is slow as hell even on my quad-core machine. So, follow the [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve recently discovered a neat way of running Android on my PC, thanks to some cool (and very very smart) developers: <a href="http://www.android-x86.org/getsourcecode" target="_blank">http://www.android-x86.org/getsourcecode</a></p>
<p>I discovered the website while I was trying to find a way of running Honeycomb (Android 3.0) , since the emulator is slow as hell even on my quad-core machine.</p>
<p>So, follow the tutorial, make a Live CD Android (I&#8217;m using a USB drive) and enjoy! It runs smooooooth! <img src='http://zrgiu.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://zrgiu.com/blog/2011/02/running-android-on-your-pc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Antivirus Free is now in top 25 Free apps in &#8220;Tools&#8221;</title>
		<link>http://zrgiu.com/blog/2011/01/antivirus-free-is-now-in-top-25-free-apps-in-tools/</link>
		<comments>http://zrgiu.com/blog/2011/01/antivirus-free-is-now-in-top-25-free-apps-in-tools/#comments</comments>
		<pubDate>Fri, 28 Jan 2011 12:41:21 +0000</pubDate>
		<dc:creator>zrgiu</dc:creator>
				<category><![CDATA[My Apps]]></category>

		<guid isPermaLink="false">http://zrgiu.com/blog/?p=90</guid>
		<description><![CDATA[After just a couple of months since it&#8217;s launch, Antivirus Free is now in the top 25 applications in the &#8220;Tools&#8221; category on the Android Market. Thanks to all of those who supported this great free application!]]></description>
				<content:encoded><![CDATA[<p>After just a couple of months since it&#8217;s launch, <a href="http://zrgiu.com/blog/2011/01/antivirus-free/" target="_self">Antivirus Free</a> is now in the top 25 applications in the &#8220;Tools&#8221; category on the Android Market.</p>
<p>Thanks to all of those who supported this great free application!</p>
]]></content:encoded>
			<wfw:commentRss>http://zrgiu.com/blog/2011/01/antivirus-free-is-now-in-top-25-free-apps-in-tools/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Easy JSON parsing in Android</title>
		<link>http://zrgiu.com/blog/2011/01/easy-json-parsing-in-android/</link>
		<comments>http://zrgiu.com/blog/2011/01/easy-json-parsing-in-android/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 16:19:17 +0000</pubDate>
		<dc:creator>zrgiu</dc:creator>
				<category><![CDATA[Android tips]]></category>

		<guid isPermaLink="false">http://zrgiu.com/blog/?p=88</guid>
		<description><![CDATA[Here&#8217;s a very easy and fast way of parsing JSON I&#8217;ve been using the past few months: Jackson. It&#8217;s not Android-based, so you can use it on server or desktop applications as well, but I found it very useful on mobile because of the large amounts of data that resides in the cloud lately. Enough [...]]]></description>
				<content:encoded><![CDATA[<p>Here&#8217;s a very easy and fast way of parsing JSON I&#8217;ve been using the past few months: <a href="http://jackson.codehaus.org/" target="_blank">Jackson</a>. It&#8217;s not Android-based, so you can use it on server or desktop applications as well, but I found it very useful on mobile because of the large amounts of data that resides in the cloud lately.</p>
<p>Enough with the chit-chat, here is an example. Let&#8217;s take this simple json string:</p>
<blockquote>
<pre>{
  "name" : { "first" : "Joe", "last" : "Sixpack" },
  "gender" : "MALE",
  "verified" : false,
  "userImage" : "Rm9vYmFyIQ=="
}</pre>
</blockquote>
<p>And this very simple Java class:</p>
<blockquote>
<pre id="CA-acea469239a48bc6de21e742f9f55e96a4e7cd0f" dir="ltr" lang="en">public class User {
    public enum Gender { MALE, FEMALE };

    public static class Name {
      private String _first, _last;

      public String getFirst() { return _first; }
      public String getLast() { return _last; }

      public void setFirst(String s) { _first = s; }
      public void setLast(String s) { _last = s; }
    }

    private Gender _gender;
    private Name _name;
    private boolean _isVerified;
    private byte[] _userImage;

    public Name getName() { return _name; }
    public boolean isVerified() { return _isVerified; }
    public Gender getGender() { return _gender; }
    public byte[] getUserImage() { return _userImage; }

    public void setName(Name n) { _name = n; }
    public void setVerified(boolean b) { _isVerified = b; }
    public void setGender(Gender g) { _gender = g; }
    public void setUserImage(byte[] b) { _userImage = b; }
}

</pre>
</blockquote>
<p>After downloading and importing the Jackson libraries, you can turn that Json string into a User object:</p>
<blockquote>
<pre id="CA-12a5cc97156d6085afda6dfb1fdc733f31cf0d7b" dir="ltr" lang="en">ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally
User user = mapper.readValue(new File("user.json"), User.class);

</pre>
</blockquote>
<p>Simple, right?</p>
<p>Passing it a data source (File, InputStream, etc..) instead of a plain old String will cause the parser to parse the Json similar to SAX parsing, which is very fast.</p>
<p>For XML files, we&#8217;ll just have to parse them the old-fashion way. <img src='http://zrgiu.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://zrgiu.com/blog/2011/01/easy-json-parsing-in-android/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Android bitmaps and out of memory errors</title>
		<link>http://zrgiu.com/blog/2011/01/android-bitmaps-and-out-of-memory-errors/</link>
		<comments>http://zrgiu.com/blog/2011/01/android-bitmaps-and-out-of-memory-errors/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 11:18:19 +0000</pubDate>
		<dc:creator>zrgiu</dc:creator>
				<category><![CDATA[My Apps]]></category>

		<guid isPermaLink="false">http://zrgiu.com/blog/?p=84</guid>
		<description><![CDATA[One of the things I had to learn the hard way on Android is the correct way of handling Bitmaps. And honestly, I wouldn&#8217;t have thought this is the right way if someone at Google wouldn&#8217;t have suggested it to me. Every time you create a bitmap, either blank or from a source using BitmapFactory, [...]]]></description>
				<content:encoded><![CDATA[<p>One of the things I had to learn the hard way on Android is the correct way of handling Bitmaps. And honestly, I wouldn&#8217;t have thought this is the right way if someone at Google wouldn&#8217;t have suggested it to me.</p>
<p>Every time you create a bitmap, either blank or from a source using <strong>BitmapFactory</strong>, the full size of that bitmap is loaded into memory. If you have a 24bit, 300&#215;300 pixel bitmap, it will use 24*300*300 bytes, which is approximately 2Mb. Handling that kind of memory allocated in the java heap space would be slow, so the Android engineers came with the smart solution of allocating and managing that memory natively (using C).</p>
<p>Now, if you know just a little C, you&#8217;ll know that all memory allocations have to be done manually, and so are the de-allocations (freeing up the memory). And since java doesn&#8217;t have destructors, when would the <strong>Bitmap</strong> objects you have know how to clear that memory? They simply don&#8217;t, so you need to clear that memory manually, by calling the <strong>.recycle()</strong> method of your bitmap object. Simple yet game-changing trick.</p>
<p>How you keep track of the bitmaps is up to you, but (just like all of the other variables), avoid using statics. If you REALLY need global objects, extend Application and keep your stuff there.</p>
]]></content:encoded>
			<wfw:commentRss>http://zrgiu.com/blog/2011/01/android-bitmaps-and-out-of-memory-errors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quad-core processors on Android tablets</title>
		<link>http://zrgiu.com/blog/2011/01/quad-core-processors-on-android-tablets/</link>
		<comments>http://zrgiu.com/blog/2011/01/quad-core-processors-on-android-tablets/#comments</comments>
		<pubDate>Mon, 24 Jan 2011 16:21:08 +0000</pubDate>
		<dc:creator>zrgiu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://zrgiu.com/blog/?p=74</guid>
		<description><![CDATA[Most probably in less than a year we&#8217;ll have quad-core tablets. Source: engadget Finally, hopefully, I&#8217;ll be able to play some cool strategy games on a tablet. I honestly believe that multi-touch tablets are the perfect gaming devices, so I&#8217;m really looking forward to that!]]></description>
				<content:encoded><![CDATA[<p>Most probably in less than a year we&#8217;ll have quad-core tablets. Source: <a href="http://www.engadget.com/2011/01/24/nvidia-tegra-3-equipped-with-1-5ghz-quad-core-madness-teased-b/">engadget</a></p>
<p>Finally, hopefully, I&#8217;ll be able to play some cool strategy games on a tablet. I honestly believe that multi-touch tablets are the perfect gaming devices, so I&#8217;m really looking forward to that!</p>
]]></content:encoded>
			<wfw:commentRss>http://zrgiu.com/blog/2011/01/quad-core-processors-on-android-tablets/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Making your Android app look better</title>
		<link>http://zrgiu.com/blog/2011/01/making-your-android-app-look-better/</link>
		<comments>http://zrgiu.com/blog/2011/01/making-your-android-app-look-better/#comments</comments>
		<pubDate>Mon, 24 Jan 2011 13:15:14 +0000</pubDate>
		<dc:creator>zrgiu</dc:creator>
				<category><![CDATA[Android tips]]></category>

		<guid isPermaLink="false">http://zrgiu.com/blog/?p=68</guid>
		<description><![CDATA[We all know how ugly most of the applications on the Market are. Black screens, gray buttons, white texts, all native stuff which looks good but only in the right combination. Many developers realize that, and try to do their own buttons,  which still don&#8217;t look too professional, because they simply don&#8217;t fit in. And [...]]]></description>
				<content:encoded><![CDATA[<p>We all know how ugly most of the applications on the Market are. Black screens, gray buttons, white texts, all native stuff which looks good but only in the right combination. Many developers realize that, and try to do their own buttons,  which still don&#8217;t look too professional, because they simply <em>don&#8217;t fit in</em>. And of course, there are those who just copy some iPhone interface.</p>
<p>First of all, no matter what you do, if you use gradients or background images you&#8217;ll inevitably see the banding effect. Here&#8217;s an example (see the stripes?):</p>
<p><a href="http://zrgiu.com/blog/wp-content/uploads/2011/01/banding.png"><img class="alignnone size-thumbnail wp-image-69" title="banding" src="http://zrgiu.com/blog/wp-content/uploads/2011/01/banding-150x150.png" alt="" width="150" height="150" /></a></p>
<p>You can get rid of that with just two lines of code, carefully placed between <em>super.onCreate(&#8230;) </em>and<em> setContentView(&#8230;)</em> in your activity. This will activate dithering for all your activity, and increase the color range a lot:</p>
<blockquote><p>super.onCreate(savedInstanceState);<br />
getWindow().setFormat(PixelFormat.RGBA_8888);<br />
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DITHER);<br />
setContentView(R.layout.main);</p></blockquote>
<p>I&#8217;ll let you check out the result for yourself <img src='http://zrgiu.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Now, that background looks pretty cool, right? It&#8217;s simple, it&#8217;s light, and very customizable. So, how did I do it?</p>
<p>Xml drawables. They are powerful, customizable, good looking, light, and you can create entire interfaces using them. Let&#8217;s create  file in our drawables folder named <em>background.xml</em> and throw this inside:</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;shape xmlns:android=&#8221;http://schemas.android.com/apk/res/android&#8221;&gt;<br />
&lt;gradient<br />
android:angle=&#8221;90&#8243;<br />
android:endColor=&#8221;#fff&#8221;<br />
android:startColor=&#8221;#999&#8243;<br />
android:type=&#8221;linear&#8221;<br />
/&gt;<br />
&lt;/shape&gt;</p></blockquote>
<p>You can use it like any other drawables, and here&#8217;s an example:</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243;?&gt;<br />
&lt;LinearLayout xmlns:android=&#8221;http://schemas.android.com/apk/res/android&#8221;<br />
android:orientation=&#8221;vertical&#8221;<br />
android:layout_width=&#8221;fill_parent&#8221;<br />
android:layout_height=&#8221;fill_parent&#8221;<br />
android:background=&#8221;@drawable/background&#8221;<br />
&gt;<br />
&lt;/LinearLayout&gt;</p></blockquote>
<p>Simple right? Of course, you probably already knew these <img src='http://zrgiu.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Now let&#8217;s create some buttons. Here are three buttons, gray, green and blue</p>
<p>gray:</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;shape xmlns:android=&#8221;http://schemas.android.com/apk/res/android&#8221;&gt;<br />
&lt;solid android:color=&#8221;#F000&#8243;/&gt;<br />
&lt;stroke android:width=&#8221;1px&#8221; android:color=&#8221;#BB000000&#8243; /&gt;<br />
&lt;padding<br />
android:left=&#8221;10dp&#8221;<br />
android:top=&#8221;7dp&#8221;<br />
android:right=&#8221;10dp&#8221;<br />
android:bottom=&#8221;7dp&#8221;<br />
/&gt;<br />
&lt;corners<br />
android:bottomRightRadius=&#8221;5dp&#8221;<br />
android:bottomLeftRadius=&#8221;5dp&#8221;<br />
android:topLeftRadius=&#8221;5dp&#8221;<br />
android:topRightRadius=&#8221;5dp&#8221;<br />
/&gt;<br />
&lt;gradient<br />
android:angle=&#8221;90&#8243;<br />
android:startColor=&#8221;#777&#8243;<br />
android:centerColor=&#8221;#777&#8243;<br />
android:endColor=&#8221;#BBB&#8221;<br />
android:type=&#8221;linear&#8221;<br />
/&gt;</p>
<p>&lt;/shape&gt;</p></blockquote>
<p>green:</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;shape xmlns:android=&#8221;http://schemas.android.com/apk/res/android&#8221;&gt;<br />
&lt;solid android:color=&#8221;#F000&#8243;/&gt;<br />
&lt;stroke android:width=&#8221;1px&#8221; android:color=&#8221;#BB000000&#8243; /&gt;<br />
&lt;padding<br />
android:left=&#8221;10dp&#8221;<br />
android:top=&#8221;7dp&#8221;<br />
android:right=&#8221;10dp&#8221;<br />
android:bottom=&#8221;7dp&#8221;<br />
/&gt;<br />
&lt;corners<br />
android:bottomRightRadius=&#8221;5dp&#8221;<br />
android:bottomLeftRadius=&#8221;5dp&#8221;<br />
android:topLeftRadius=&#8221;5dp&#8221;<br />
android:topRightRadius=&#8221;5dp&#8221;<br />
/&gt;<br />
&lt;gradient<br />
android:angle=&#8221;90&#8243;<br />
android:startColor=&#8221;#739312&#8243;<br />
android:centerColor=&#8221;#86a621&#8243;<br />
android:endColor=&#8221;#9cc126&#8243;<br />
android:type=&#8221;linear&#8221;<br />
/&gt;</p>
<p>&lt;/shape&gt;</p></blockquote>
<p>blue:</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;shape xmlns:android=&#8221;http://schemas.android.com/apk/res/android&#8221;&gt;<br />
&lt;solid android:color=&#8221;#F000&#8243;/&gt;<br />
&lt;stroke android:width=&#8221;1px&#8221; android:color=&#8221;#BB000000&#8243; /&gt;<br />
&lt;padding<br />
android:left=&#8221;10dp&#8221;<br />
android:top=&#8221;7dp&#8221;<br />
android:right=&#8221;10dp&#8221;<br />
android:bottom=&#8221;7dp&#8221;<br />
/&gt;<br />
&lt;corners<br />
android:bottomRightRadius=&#8221;5dp&#8221;<br />
android:bottomLeftRadius=&#8221;5dp&#8221;<br />
android:topLeftRadius=&#8221;5dp&#8221;<br />
android:topRightRadius=&#8221;5dp&#8221;<br />
/&gt;<br />
&lt;gradient<br />
android:angle=&#8221;90&#8243;<br />
android:startColor=&#8221;#4747e0&#8243;<br />
android:centerColor=&#8221;#5b5bcd&#8221;<br />
android:endColor=&#8221;#6f6fcf&#8221;<br />
android:type=&#8221;linear&#8221;<br />
/&gt;</p>
<p>&lt;/shape&gt;</p></blockquote>
<p>Check out how they look:</p>
<p><a href="http://zrgiu.com/blog/wp-content/uploads/2011/01/buttons1.png"><img class="alignnone size-full wp-image-71" title="buttons" src="http://zrgiu.com/blog/wp-content/uploads/2011/01/buttons1.png" alt="" width="229" height="216" /></a></p>
<p>sexy, right ?</p>
<p>Here&#8217;s the layout I used with those buttons, which contains the text colors, shadows and everything else:</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;shape xmlns:android=&#8221;http://schemas.android.com/apk/res/android&#8221;&gt;<br />
&lt;solid android:color=&#8221;#F000&#8243;/&gt;<br />
&lt;stroke android:width=&#8221;1px&#8221; android:color=&#8221;#BB000000&#8243; /&gt;<br />
&lt;padding<br />
android:left=&#8221;10dp&#8221;<br />
android:top=&#8221;7dp&#8221;<br />
android:right=&#8221;10dp&#8221;<br />
android:bottom=&#8221;7dp&#8221;<br />
/&gt;<br />
&lt;corners<br />
android:bottomRightRadius=&#8221;5dp&#8221;<br />
android:bottomLeftRadius=&#8221;5dp&#8221;<br />
android:topLeftRadius=&#8221;5dp&#8221;<br />
android:topRightRadius=&#8221;5dp&#8221;<br />
/&gt;<br />
&lt;gradient<br />
android:angle=&#8221;90&#8243;<br />
android:startColor=&#8221;#4747e0&#8243;<br />
android:centerColor=&#8221;#5b5bcd&#8221;<br />
android:endColor=&#8221;#6f6fcf&#8221;<br />
android:type=&#8221;linear&#8221;<br />
/&gt;</p>
<p>&lt;/shape&gt;</p></blockquote>
<p>So, don&#8217;t be shy on using drawables, as they will make your applications a lot smaller, they scale perfectly on all screen-sizes, and adapt very well to tablets as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://zrgiu.com/blog/2011/01/making-your-android-app-look-better/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Praises from the competition</title>
		<link>http://zrgiu.com/blog/2011/01/easy-filters-antivirus-risk-detector/</link>
		<comments>http://zrgiu.com/blog/2011/01/easy-filters-antivirus-risk-detector/#comments</comments>
		<pubDate>Sun, 23 Jan 2011 20:25:48 +0000</pubDate>
		<dc:creator>zrgiu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://zrgiu.com/blog/?p=64</guid>
		<description><![CDATA[In spite of what I think of my writing skills and my apps&#8217; descriptions, it looks like someone else thinks it&#8217;s good enough to copy them to their apps I&#8217;ve recently discovered an application on the Android market, called &#8220;Antivirus &#8211; Risk Detector&#8221; by Easy Filters, which competes with Antivirus Free. It&#8217;s nothing like my [...]]]></description>
				<content:encoded><![CDATA[<p>In spite of what I think of my writing skills and my apps&#8217; descriptions, it looks like someone else thinks it&#8217;s good enough to copy them to their apps <img src='http://zrgiu.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I&#8217;ve recently discovered an application on the Android market, called &#8220;Antivirus &#8211; Risk Detector&#8221; by Easy Filters, which competes with <a href="http://zrgiu.com/blog/2011/01/antivirus-free/" target="_self">Antivirus Free</a>. It&#8217;s nothing like my application, excepting the description. 90% of it is copied from mine (they could say they wrote it themselves, since they have some misspelled words here and there <img src='http://zrgiu.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ), and you can check it out for yourself <a href="http://www.appbrain.com/app/antivirus-risk-detector/com.riskdetector.android" target="_blank">here</a>. Honestly, I don&#8217;t mind it, and I really feel flattered. It&#8217;s a big deal when a company with over 1 million in total app downloads considers I&#8217;m good enough <img src='http://zrgiu.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>So, thank you Easy Filters. I really appreciate it!</p>
]]></content:encoded>
			<wfw:commentRss>http://zrgiu.com/blog/2011/01/easy-filters-antivirus-risk-detector/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Android, drawables and paddings</title>
		<link>http://zrgiu.com/blog/2011/01/android-drawables-and-paddings/</link>
		<comments>http://zrgiu.com/blog/2011/01/android-drawables-and-paddings/#comments</comments>
		<pubDate>Sun, 23 Jan 2011 12:35:24 +0000</pubDate>
		<dc:creator>zrgiu</dc:creator>
				<category><![CDATA[Android tips]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[background]]></category>
		<category><![CDATA[drawable]]></category>
		<category><![CDATA[padding]]></category>

		<guid isPermaLink="false">http://zrgiu.com/blog/?p=47</guid>
		<description><![CDATA[I learned one important thing today: When you do layout from code and you use drawables (nine-patches or xml-defined drawables), always using setPadding only after setBackground. I know, this might be a childish thing that Android developers already know about, but it made me bang my head around the walls for 15 minutes today Explanation: [...]]]></description>
				<content:encoded><![CDATA[<p>I learned one important thing today: When you do layout from code and you use drawables (nine-patches or xml-defined drawables), always using <strong>setPadding </strong>only after <strong>setBackground</strong>. I know, this might be a childish thing that Android developers already know about, but it made me bang my head around the walls for 15 minutes today <img src='http://zrgiu.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Explanation: nine-patches and xml-drawables already contain padding information, so calling <strong>setBackground</strong> will also override any padding you previously set.</p>
<p>Remember: if your padding doesn&#8217;t work, check out for background setters!</p>
]]></content:encoded>
			<wfw:commentRss>http://zrgiu.com/blog/2011/01/android-drawables-and-paddings/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Optimizing earnings from your Android apps</title>
		<link>http://zrgiu.com/blog/2011/01/optimizing-earnings-from-your-android-apps/</link>
		<comments>http://zrgiu.com/blog/2011/01/optimizing-earnings-from-your-android-apps/#comments</comments>
		<pubDate>Sat, 22 Jan 2011 19:57:44 +0000</pubDate>
		<dc:creator>zrgiu</dc:creator>
				<category><![CDATA[Android tips]]></category>
		<category><![CDATA[admob]]></category>
		<category><![CDATA[adwhirl]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[millennial]]></category>
		<category><![CDATA[money]]></category>

		<guid isPermaLink="false">http://zrgiu.com/blog/?p=42</guid>
		<description><![CDATA[As opposed to Apple's AppStore, 65% of the apps on the Android Market are free. So, where's the trick ? Well, most of them show ads, you (the user) view those ads and when something interesting is shown you even click them. And that's when the developer makes money. Sometimes $0.01 per click, sometimes $3.5 per click (at least that's my record). Usually, those ads come from Google's AdMob, Millennial Media or ZestAdz (there are more, but these are the largest three).]]></description>
				<content:encoded><![CDATA[<p>As opposed to Apple&#8217;s AppStore, 65% of the apps on the Android Market are free. So, where&#8217;s the trick ? Well, most of them show ads, you (the user) view those ads and when something interesting is shown you even click them. And that&#8217;s when the developer makes money. Sometimes $0.01 per click, sometimes $3.5 per click (at least that&#8217;s my record). Usually, those ads come from <a href="http://www.admob.com/" target="_blank">Google&#8217;s AdMob</a>, <a href="http://www.admob.com/">Millennial Media</a> or <a href="http://zestadz.com/">ZestAdz</a> (there are more, but these are the largest three). And most of the time, all ads on one application come from just one of these advertisers.</p>
<p>Also, most of the time, if an application is ran 100 times by some user, the advertisers will only server 50 ads, leaving 50 impressions useless for your pockets. And this is where <a href="http://www.adwhirl.com/">AdWhirl </a>comes in. This service will help you fill out those 50 empty impressions, by fetching ads from different advertisers to make the most of your app. Personally, I use AdMob and Millennial Media, and I consider both of them to be great services. And my revenue doubled when I switched from AdMob to AdWhirl which mediates both networks.</p>
<p>From a technical point of view, you still need to include all of the manifest stuff from both AdMob and Millennial (activities and permissions), and the libraries for them (including AdWhirl), but you don&#8217;t need to create or add AdViews to your layouts or Activities. All you need to do is to create (usually from code) an  AdWhirlLayout and set your publisher ID, and you&#8217;re done. And of course, here&#8217;s the <a href="https://www.adwhirl.com/doc/android/AdWhirlAndroidSDKSetup.html">official tutorial</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://zrgiu.com/blog/2011/01/optimizing-earnings-from-your-android-apps/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
