<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DkcCRXY8fSp7ImA9WhRbFUk.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657</id><updated>2012-02-06T08:01:04.875-08:00</updated><category term="Wonton Games first post" /><category term="Logo" /><title>Wonton Games</title><subtitle type="html">Android Game Developer</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://wonton-games.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/WontonGames" /><feedburner:info uri="wontongames" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CUcERXo_eCp7ImA9WhZTEEk.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-7986799012507782885</id><published>2011-03-13T11:25:00.000-07:00</published><updated>2011-03-13T12:03:24.440-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-13T12:03:24.440-07:00</app:edited><title>Workout Buddy Update</title><content type="html">Woohoo! New Workout Buddy finally released! Go and check it out!&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://market.android.com/details?id=com.workout.buddy"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Workout Buddy on Android Market&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-pBWZq9tRjpA/TX0L_UXHtrI/AAAAAAAAAKc/hmcqlDOXJlw/s1600/qrcode.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://lh6.googleusercontent.com/-pBWZq9tRjpA/TX0L_UXHtrI/AAAAAAAAAKc/hmcqlDOXJlw/s1600/qrcode.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-7986799012507782885?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dfjCk-mOQ8whVnIXLjS8M9sUT9w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dfjCk-mOQ8whVnIXLjS8M9sUT9w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dfjCk-mOQ8whVnIXLjS8M9sUT9w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dfjCk-mOQ8whVnIXLjS8M9sUT9w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/mv4scfdFug8" height="1" width="1"/&gt;</content><link rel="related" href="http://wonton-games.blogspot.com/2010/07/workout-buddy.html" title="Workout Buddy Update" /><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/7986799012507782885/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=7986799012507782885" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/7986799012507782885?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/7986799012507782885?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/mv4scfdFug8/workout-buddy-update.html" title="Workout Buddy Update" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh6.googleusercontent.com/-pBWZq9tRjpA/TX0L_UXHtrI/AAAAAAAAAKc/hmcqlDOXJlw/s72-c/qrcode.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2011/03/workout-buddy-update.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MERHo_fSp7ImA9Wx9aEkU.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-2014631742282560085</id><published>2011-03-04T15:30:00.000-08:00</published><updated>2011-03-04T15:30:05.445-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-04T15:30:05.445-08:00</app:edited><title>Workout Buddy Progress</title><content type="html">Finished implementing the drag and drop method for Workout Buddy.&lt;br /&gt;
&lt;br /&gt;
Almost ready to go, I just need to replicate it over to the cardio and heart rate tabs and iron out a few bugs and performance issues. Here is a sneak peak!&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-ObbjfSMbo0c/TXF0RS9HJNI/AAAAAAAAAKQ/IyNsbkjwxoU/s1600/device1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="https://lh6.googleusercontent.com/-ObbjfSMbo0c/TXF0RS9HJNI/AAAAAAAAAKQ/IyNsbkjwxoU/s320/device1.png" width="213" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Original Set&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-ssqMlKPxWf0/TXF0RhufYdI/AAAAAAAAAKU/TapdYMf8kH4/s1600/device2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="https://lh3.googleusercontent.com/-ssqMlKPxWf0/TXF0RhufYdI/AAAAAAAAAKU/TapdYMf8kH4/s320/device2.png" width="213" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Using the icon on the left to drag entry to a new position&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-2DDt_S0YVM0/TXF0RwbjKuI/AAAAAAAAAKY/cHYkTwEMv_k/s1600/device3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="https://lh4.googleusercontent.com/-2DDt_S0YVM0/TXF0RwbjKuI/AAAAAAAAAKY/cHYkTwEMv_k/s320/device3.png" width="213" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Letting go of the entry drops it in to position.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
Got to thank CommonsGuy for the open source touchlist which is a modified version of Android's playlist drag and drop feature.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://github.com/commonsguy/cwac-touchlist"&gt;https://github.com/commonsguy/cwac-touchlist&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-2014631742282560085?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Rdg0T-gLq9atTZfDV8bjEVIfJQY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Rdg0T-gLq9atTZfDV8bjEVIfJQY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Rdg0T-gLq9atTZfDV8bjEVIfJQY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Rdg0T-gLq9atTZfDV8bjEVIfJQY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/fsLB1e8MkZs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/2014631742282560085/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=2014631742282560085" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/2014631742282560085?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/2014631742282560085?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/fsLB1e8MkZs/workout-buddy-progress.html" title="Workout Buddy Progress" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh6.googleusercontent.com/-ObbjfSMbo0c/TXF0RS9HJNI/AAAAAAAAAKQ/IyNsbkjwxoU/s72-c/device1.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2011/03/workout-buddy-progress.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUGR344cCp7ImA9Wx9bEko.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-92258167404499071</id><published>2011-02-08T00:51:00.000-08:00</published><updated>2011-02-21T00:50:26.038-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-21T00:50:26.038-08:00</app:edited><title>Workout Buddy Fix and Updates</title><content type="html">So we have gotten a lot of feedback for workout buddy and when we have time we will implement some improvements. These include things like being able to go to previous workout weeks and edit them. Being able to toggle which entries you would like so if you are doing push-ups it is not required to enter a weight, you can just toggle it off.&lt;br /&gt;
&lt;br /&gt;
Also if we are able to get around to it there might be a paid version available as well. It will obviously have more features than the free version, better graphics and no advertisement. One features we are looking into are having a calendar function instead of using weeks so you can input specific days that you actually go to the gym or do a certain workout.&lt;br /&gt;
&lt;br /&gt;
Lots of ideas, but short on time... "Reading" break is coming up next week so there might be some extra free time in between studying for midterms to get at least the improvements for the free Workout Buddy done.&lt;br /&gt;
&lt;br /&gt;
Wonton Games&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update: I have decided to scrap the paid version and keep it all free. Most developers seem to make more money from&amp;nbsp;advertisement&amp;nbsp;anyways there would not be a whole lot more in the paid app to make it worth while&lt;/b&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-92258167404499071?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QrFEckexvA8gbXPcqLdwDCwyk54/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QrFEckexvA8gbXPcqLdwDCwyk54/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QrFEckexvA8gbXPcqLdwDCwyk54/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QrFEckexvA8gbXPcqLdwDCwyk54/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/Sfn6AiQRnJ8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/92258167404499071/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=92258167404499071" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/92258167404499071?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/92258167404499071?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/Sfn6AiQRnJ8/workout-buddy-fix-and-paid-version.html" title="Workout Buddy Fix and Updates" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2011/02/workout-buddy-fix-and-paid-version.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04MSH07cCp7ImA9Wx9VEUo.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-5761357458495840280</id><published>2011-01-27T15:46:00.000-08:00</published><updated>2011-01-27T15:46:29.308-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-27T15:46:29.308-08:00</app:edited><title>Dead Zebra Android Collectibles</title><content type="html">Forgot to add this a while ago but I was lucky enough to get the Xmas themed Android collectible from Dead Zebra. I&amp;nbsp;originally&amp;nbsp;wanted the the case of 16 random android figures but they were all sold out. I can't wait till they release more!!!&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_hmNcPpDB070/TUIDs0QlarI/AAAAAAAAAJ8/1QuKQyfh9Rk/s1600/162782_476392622953_508307953_5547340_7420109_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="191" src="http://1.bp.blogspot.com/_hmNcPpDB070/TUIDs0QlarI/AAAAAAAAAJ8/1QuKQyfh9Rk/s320/162782_476392622953_508307953_5547340_7420109_n.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_hmNcPpDB070/TUIDtaw_pnI/AAAAAAAAAKA/9kBiKyg2tds/s1600/164020_476392547953_508307953_5547339_5125891_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_hmNcPpDB070/TUIDtaw_pnI/AAAAAAAAAKA/9kBiKyg2tds/s320/164020_476392547953_508307953_5547339_5125891_n.jpg" width="191" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-5761357458495840280?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9x2XnMaNu7rnCbwAcTAATxlruGA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9x2XnMaNu7rnCbwAcTAATxlruGA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9x2XnMaNu7rnCbwAcTAATxlruGA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9x2XnMaNu7rnCbwAcTAATxlruGA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/OXOX3mKdmFQ" height="1" width="1"/&gt;</content><link rel="related" href="http://shop.deadzebra.com/categories/Android" title="Dead Zebra Android Collectibles" /><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/5761357458495840280/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=5761357458495840280" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/5761357458495840280?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/5761357458495840280?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/OXOX3mKdmFQ/dead-zebra-android-collectibles.html" title="Dead Zebra Android Collectibles" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_hmNcPpDB070/TUIDs0QlarI/AAAAAAAAAJ8/1QuKQyfh9Rk/s72-c/162782_476392622953_508307953_5547340_7420109_n.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2011/01/dead-zebra-android-collectibles.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYNSXY_eCp7ImA9Wx9QFk0.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-6089779896493793929</id><published>2010-12-28T23:03:00.000-08:00</published><updated>2010-12-28T23:03:18.840-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-28T23:03:18.840-08:00</app:edited><title>AndEngine</title><content type="html">On our way developing a new game using AndEngine created by the brilliant Nicolas Gramlich. It has a lot of built in functions for 2D games that should make developing new games a lot easier for all the people with a non-programming background (like me!).&lt;br /&gt;
&lt;br /&gt;
I'll post updates when I have them ;)&lt;br /&gt;
&lt;br /&gt;
Cameron&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-6089779896493793929?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ymKWrgDehg8_cDf--Xx_zYnxANQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ymKWrgDehg8_cDf--Xx_zYnxANQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ymKWrgDehg8_cDf--Xx_zYnxANQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ymKWrgDehg8_cDf--Xx_zYnxANQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/WqAi37SzyPQ" height="1" width="1"/&gt;</content><link rel="related" href="http://www.andengine.org/blog/" title="AndEngine" /><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/6089779896493793929/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=6089779896493793929" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/6089779896493793929?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/6089779896493793929?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/WqAi37SzyPQ/andengine.html" title="AndEngine" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2010/12/andengine.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAGQXs4eyp7ImA9Wx5aEUs.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-824557985979864077</id><published>2010-11-07T13:52:00.000-08:00</published><updated>2010-11-07T13:52:00.533-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-07T13:52:00.533-08:00</app:edited><title>Learning</title><content type="html">It's almost been a year since I started learning about Android and Java, and about 4 months since releasing our first app. I've learned how the market behaves, what people expect of an app, what they like and&amp;nbsp;definitely&amp;nbsp;what they hate.&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Some things that have surprised me are how only 4% of people who play Wonton Drop actually look at the options page or tutorial. After looking into this I realized most successful game have the options either in game when you hit menu or right when you start the game it asks you what difficulty you would like or other such options. People don't like to read instructions, I think I am one of the very few rare people who will read the instruction manual to a PS3 or Xbox360 game before playing. I even know people who don't bother reading Ikea instruction manuals, and just try to put it together themselves.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;That said all you can do is take the feedback that you get and make a better product the second time round. The customer is usually right. I'm very proud of Wonton Drop, my first game, and first actual piece of intense coding that runs well and has no bugs (that I'm aware of). But in truth it is boring and very one dimensional. Oh well you live and learn and our next game will be awesome ;)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;There are a bunch of ideas floating around and hopefully we will materialize one during the winter break.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;I want to thank everyone who has downloaded our apps and game and has given us feedback either through the market, in forums or emailing us directly. All of your feedback will help us deliver better and more entertaining games!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Cameron&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-824557985979864077?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ifJNh4cSgl2486z6f54H5T36AoA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ifJNh4cSgl2486z6f54H5T36AoA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ifJNh4cSgl2486z6f54H5T36AoA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ifJNh4cSgl2486z6f54H5T36AoA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/1UPAPw786XE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/824557985979864077/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=824557985979864077" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/824557985979864077?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/824557985979864077?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/1UPAPw786XE/learning.html" title="Learning" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2010/11/learning.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8NRH0_eSp7ImA9Wx5UFUQ.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-5577211889076129170</id><published>2010-10-19T14:34:00.000-07:00</published><updated>2010-10-20T11:21:35.341-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-20T11:21:35.341-07:00</app:edited><title>Scoreloop</title><content type="html">I got an email from this company Scoreloop a few days ago. At first I though it was some sort of spam or one of those sites that want developers to sign up and publish their apk on their site. But as I read it more and checked out their site it looked pretty legit. (Other reputable games were using Scoreloop as well)&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Scoreloop is a company that gives out a &lt;b&gt;free &lt;/b&gt;SDK to Android and iPhone developers that implements a global highscore system. Not only that, it allows you to set up challenges and awards within your game along with many other features.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;This was fantastic because for our game Wonton Drop, we only implemented a local highscore system because setting up a global database seemed like a ton of work and most global highscores I have seen for games have been hacked so its impossible to get a decent position. Scoreloop provided a secure, stable way to allow us to have a global highscore for &lt;b&gt;free&lt;/b&gt;! You can also have multiple highscore tables for settings such as easy, medium and hard.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;So far so good, the only problem i'm trying to figure out is the posting of scores to facebook and twitter. Since this is a new SDK for Android im thinking its just a glitch they haven't worked out yet but I submitted a trouble ticket.&lt;br /&gt;
&lt;br /&gt;
Update: Scoreloop had a server problem, should be fixed soon.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Did I mention all of this is &lt;b&gt;free&lt;/b&gt;!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;So download/play Wonton Drop and see if you can beat my highscore! I'm under cameo24. I think my highest is 600 on easy.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Cameron&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-5577211889076129170?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dbvbF65LyYiSHfliIap3KzIt2nw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dbvbF65LyYiSHfliIap3KzIt2nw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dbvbF65LyYiSHfliIap3KzIt2nw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dbvbF65LyYiSHfliIap3KzIt2nw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/Ka3Qh-sVwIg" height="1" width="1"/&gt;</content><link rel="related" href="http://www.scoreloop.com/" title="Scoreloop" /><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/5577211889076129170/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=5577211889076129170" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/5577211889076129170?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/5577211889076129170?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/Ka3Qh-sVwIg/scoreloop.html" title="Scoreloop" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2010/10/scoreloop.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8NRnczeyp7ImA9Wx5aF0o.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-1214564363144055420</id><published>2010-10-12T18:26:00.000-07:00</published><updated>2010-11-14T15:21:37.983-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-14T15:21:37.983-08:00</app:edited><title>Tutorial: Countdown Timer and Notification Service</title><content type="html">&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;This tutorial is from my "Steak Timer" and "Steak Timer Plus" apps. I had to learn how to make a countdown timer, display the time and if the app was put into the background (home button) then it would notify the user in the notification bar when the timer was done.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;In truth it is pretty easy to do, it was just the setup that required some work to understand. Like most programs in Android, once you figure a piece of code out you generally can use it multiple times.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;To start here are all the variables you will require:&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;div class="MsoNormal"&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt; long &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;countdownTime&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;; &amp;nbsp;//Amount of time you wish to count down in milliseconds&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt; TextView mTime; &amp;nbsp; &amp;nbsp; &amp;nbsp; //Where the time will be displayed&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt; MyCount1 counter1; &amp;nbsp;//Counter function&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt; String ns; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //String for notification&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt; NotificationManager mNotificationManager;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt; int icon; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//icon that will show up in notification bar, usually smaller version of laucher icon&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt; CharSequence tickerText;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt; long when;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt; Notification notification;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt; Intent notificationIntent;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt; PendingIntent contentIntent;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt; Context context;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt; CharSequence contentTitle;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt; CharSequence contentText;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt; Boolean mFocusFlag = true; &amp;nbsp; &amp;nbsp; &amp;nbsp; //do we have focus&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN" style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt; static final int HELLO_ID = 1; &amp;nbsp; &amp;nbsp;//notification id&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 10pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;I will explain them more when they come up. Next is calling the counter function. This can be done wherever you like, I did it in the onCreate function of a activity dedicated to just display the count down.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;counter1 = new MyCount1(countdownTime, 1000);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;counter1.start();&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;The first parameter in MyCount1 is countdownTime which is the time you wish to count down from in milliseconds. Pretty self&amp;nbsp;explanatory. The second is at what interval do you want to count down by (in ms). For me I chose in seconds.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Next is implementing the MyCount1 function&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;public class MyCount1 extends CountDownTimer {&lt;br /&gt;
public MyCount1(long millisInFuture, long countDownInterval) {&lt;br /&gt;
super(millisInFuture, countDownInterval);&lt;br /&gt;
}&lt;br /&gt;
public void onFinish() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//When timer is finished do something&lt;br /&gt;
if(mFocusFlag == false){&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mNotificationManager.notify(HELLO_ID, notification);&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
public void onTick(long millisUntilFinished) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if((millisUntilFinished/1000%60) &amp;lt; 10){&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mTime.setText("Time = " + millisUntilFinished/60000 + ":0" + (millisUntilFinished / 1000)%60);&lt;br /&gt;
}else{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mTime.setText("Time = " + millisUntilFinished/60000 + ":" + (millisUntilFinished / 1000)%60);&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;In the onFinish function you can whatever you like to happen when the timer is done counting down. If you just want the text to display done then make&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;mTime.setText("Done");&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Since you don't want a notification to go off if the app is still open we put it inside an if statement stating that if mFocusFlag is false (meaning the app isn't in focus/on top) then show the notification, otherwise don't.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;The onTick() function displays the time in the correct format by breaking up the milliseconds into minutes and seconds. We need an if function here because when the time remaining on the seconds side is less than 10, we need to insert a 0 to properly display the timer. If we didn't do this, this is how it would look like:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;2:12&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;2:11&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;2:10&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;2:9&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;2:8&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;2:7&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;ETC.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Next is setting up the notification parameters&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
@Override&lt;br /&gt;
public void onWindowFocusChanged(boolean hasFocus){&lt;br /&gt;
if(hasFocus == false){&lt;br /&gt;
mFocusFlag = false;&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
ns = Context.NOTIFICATION_SERVICE;&lt;br /&gt;
mNotificationManager = (NotificationManager) getSystemService(ns);&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
icon = R.drawable.iconbar;&lt;br /&gt;
tickerText = "THE STEAK!!!";&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
when = System.currentTimeMillis();&lt;br /&gt;
notification = new Notification(icon, tickerText, when);&lt;br /&gt;
context = getApplicationContext();&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
contentTitle = "Steak Timer";&lt;br /&gt;
contentText = "Click to Check the Steak";&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
notification.defaults |= Notification.DEFAULT_SOUND;&lt;br /&gt;
notification.defaults |= Notification.DEFAULT_VIBRATE;&lt;br /&gt;
notification.flags |= Notification.FLAG_AUTO_CANCEL;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
notificationIntent = new Intent(this, StartTimer.class);&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);&lt;br /&gt;
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);&lt;br /&gt;
}else{&lt;br /&gt;
mFocusFlag = true;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;When the app is minimized or put into the background (i.e. home button) this function gets called by the system. We check to see that it was called when being put into the background, if mFocus=false we setup a notification.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;The icon = R.drawable.iconbar is the graphic you wish to display when they pull down the notification bar. The tickerText is what will be displayed on in the actual notification "bar" before it is pulled down. Content title and text are just what you wish to display in the notification pullout as seen below.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_hmNcPpDB070/TLUIEZJzieI/AAAAAAAAAJI/4WEm1sZnHg4/s1600/Screenshot2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_hmNcPpDB070/TLUIEZJzieI/AAAAAAAAAJI/4WEm1sZnHg4/s320/Screenshot2.png" width="212" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Everything else is pretty much standard. You can set a specific ringtone if you wish but I decided to just leave it as whatever the user already has as default. I'm not 100% sure what notification intent actually does.....&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Also a side note, you should set in your apps AndroidManifest.xml the Launch mode to singleTop. This will ensure when people click your notification that it re-opens the same instance that was close and not try to open a brand new one. This caused me a lot of headaches figuring what was wrong.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Another thing to know is that if your counter/timer is started, and the application/activity gets killed (e.g. back button) the counter is still running! And you will get a notification when the counter is finished even though the user thought they killed the app. In order to prevent this put in your onDestroy:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;counter1.cancel();&lt;/span&gt;&lt;/div&gt;&lt;div&gt;This ensures that the counter will shut off completely.&lt;/div&gt;&lt;div&gt;That should be it. You can mix and match a lot of things around here to suit your needs. As long as you have the basics down of creating a counter and notification you can customize it a lot.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Cameron&lt;br /&gt;
&lt;br /&gt;
Update: I just found out the CountDownTimer() works on real time. And when the screen/backlight goes off the cpu is also turned "off". So the CountDownTimer actually stops counting. When you turn the screen back on, it figures out how long the screen has been off for and adjust the timer and continues to count down. In order for this to work you need to implement a partial lock on the cpu, with allows it to stay on even if the backlight goes off while your application is running. This is not recommended because if you have a long timer it will waste the users battery.&lt;br /&gt;
&lt;br /&gt;
Another method is to add in a AlarmManager which goes off at the same time as the CountDownTimer. How it works is the AlarmManager has the ability to wake the cpu when it goes off. Once this happens, your CountDownTimer will realize that the full time has passed and send the notification off. This way seems a little bit hacky to me, so if you are starting from scratch it would probably be better to implement the whole thing with AlarmManager instead. Just a heads up ;)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-1214564363144055420?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/va0AXEYUb06S4o8TR1c_2S9Hg7c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/va0AXEYUb06S4o8TR1c_2S9Hg7c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/va0AXEYUb06S4o8TR1c_2S9Hg7c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/va0AXEYUb06S4o8TR1c_2S9Hg7c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/fe8007TQcDw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/1214564363144055420/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=1214564363144055420" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/1214564363144055420?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/1214564363144055420?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/fe8007TQcDw/tutorial-countdown-timer-and.html" title="Tutorial: Countdown Timer and Notification Service" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_hmNcPpDB070/TLUIEZJzieI/AAAAAAAAAJI/4WEm1sZnHg4/s72-c/Screenshot2.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2010/10/tutorial-countdown-timer-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUMR34zeSp7ImA9Wx9RE08.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-6125811379963358368</id><published>2010-10-10T02:18:00.000-07:00</published><updated>2010-12-14T02:24:46.081-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-14T02:24:46.081-08:00</app:edited><title>Tutorial: Android Market License Verification Library (LVL)</title><content type="html">Android has just recently released a new licensing plan that will hopefully cut down on piracy of paid apps. The documentation here:&amp;nbsp;&lt;a href="http://developer.android.com/guide/publishing/licensing.html"&gt;Licensing Your Applications&lt;/a&gt;&amp;nbsp;is long and seemingly over complicated. Most people will probably want a plug and play type license that does not require have to micro-manage everything. The good news is that Google has provided a standard and &lt;b&gt;recommended &lt;/b&gt;licensing system which I will show you how to implement below&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
If you have certain license requirement for your app and want complete control over how and when you app checks the license you can do that as well. For my purposes I only need a simple license.&lt;br /&gt;
&lt;br /&gt;
I'll begin by assuming you are using Eclipse for developing. The first step is to make sure Eclipse and the Android SDK is up to date. Make sure you have downloaded the Android Market License package. I am putting this code in a splash page, so while it is checking the license it displays the "Wonton Games" logo and once its done it starts the main page intent. Most of the time it is so quick that the logo never gets displayed but in the odd chance it takes awhile it will just seem like its loading instead of a black screen.&lt;br /&gt;
&lt;br /&gt;
Google recommends setting up the license as an Android project library. This way all of your apps will reference&amp;nbsp;this license project and include it in their apk when compiled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 1.3em; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;If you are working in Eclipse with ADT, you need to add the LVL to your workspace as a new development project, in the same way as you would a new application project.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ol style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 1.3em; margin-bottom: 0.8em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 2em; padding-right: 0px; padding-top: 0px;"&gt;&lt;li style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 1.3em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;Use the New Project Wizard to create a new project from existing sources. Select the LVL's&amp;nbsp;&lt;code style="line-height: 1em;"&gt;library&lt;/code&gt;&amp;nbsp;directory (the directory containing the library's AndroidManifest.xml file) as the project root.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 1.3em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;When you are creating the library project, you can select any application name, package, and set other fields as needed.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 1.3em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;For the library's build target, select Android 1.5 (API level 3) or higher.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&amp;nbsp;Now you need to link this library to your application. Go to the Package Explorer window on the left in Eclipse, right click your application and choose properties, go to the Android tab, and push add and select the com_android_vending_licensing package.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_hmNcPpDB070/TLM2hA5057I/AAAAAAAAAJE/fNL6KfaL0Fs/s1600/Tutorial+pic.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_hmNcPpDB070/TLM2hA5057I/AAAAAAAAAJE/fNL6KfaL0Fs/s320/Tutorial+pic.PNG" width="292" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
The first step would be to add the check license permission to the AndroidManifest.xml inside &amp;lt; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;uses-permission android:name="com.android.vending.CHECK_LICENSE"&lt;/span&gt;&lt;/blockquote&gt;&amp;nbsp;Now time to implement the actual code.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #999999;"&gt;public class Splash extends Activity {&lt;br /&gt;
private LicenseChecker mChecker;&lt;br /&gt;
private LicenseCheckerCallback mLicenseCheckerCallback;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&lt;br /&gt;
private static final String BASE64_PUBLIC_KEY = "Copy from developer account";&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&lt;br /&gt;
// Generate 20 random bytes, and put them here.&lt;br /&gt;
private static final byte[] SALT = new byte[] {&lt;br /&gt;
-20, 30, 50, -70, 33, -100, 32, -90, -88, 104, 12,&lt;br /&gt;
-10, 72, -34, 115, 21, 62, 35, -12, 97&lt;br /&gt;
};&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&lt;br /&gt;
private AESObfuscator mObsfuscator;&lt;br /&gt;
private String android_id;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;The BASE64_PUBLIC_KEY you can find by going to&amp;nbsp;&lt;a href="http://market.android.com/publish/Home"&gt;Developer Console&lt;/a&gt;&amp;nbsp;and clicking on edit. If you scroll down the page you will see your public key.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Next is the 20 random numbers. This is called an Obfuscator which basically takes these numbers to make your code harder for pirates to crack. Find a random number generator and fill out this array.(I don't know what the limit for numbers is so I just randomly chose between -100 and 100)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;The android_id string will be a persons unique phone id which will coincide with the license checking.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Next we have the onCreate function.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;/** Called when the activity is first created. */&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;@Override&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;public void onCreate(Bundle icicle) {&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; super.onCreate(icicle);&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; setContentView(R.layout.splash);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; android_id = Secure.getString(this.getContentResolver(), Secure.ANDROID_ID);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mObsfuscator = new AESObfuscator(SALT, getPackageName(), android_id);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ServerManagedPolicy serverPolicy = new ServerManagedPolicy(this,mObsfuscator);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mLicenseCheckerCallback = new MyLicenseCheckerCallback();&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mChecker = new LicenseChecker(&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this, serverPolicy,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; BASE64_PUBLIC_KEY &amp;nbsp;// Your public licensing key.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; );&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mChecker.checkAccess(mLicenseCheckerCallback); &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Then here we are getting the unique android id, putting it into the Obsfuscator variable along with out 20 random numbers. And it is recommended to use the pre-configured ServerManagedPolicy which I have done as well.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Next we implement ourselves what to do if the license check returns "allow" or "don't allow"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;private class MyLicenseCheckerCallback implements LicenseCheckerCallback {&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void allow() {&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (isFinishing()) {&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Don't update UI if Activity is finishing.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Should allow user access.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Log.w("LicenseChecker", "Allow");&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Intent i = new Intent(Splash.this, Main.class);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;startActivity(i);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;finish();&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void dontAllow() {&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (isFinishing()) {&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Don't update UI if Activity is finishing.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Log.w("LicenseChecker", "Don't Allow");&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;showDialog(0);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Here when license checker returns allow, I start my main activity. If it returns do not allow then I show a dialog that states that the app is not licensed properly and to please buy the real version on the android market. It also has a link directly to the app in the market. This is kind of neat because if someone does manage to get your apk and tries to install it on their phone, they will get this message and might decide to just buy it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;This next code is part of the license checker callback and it is required by Android just in case something goes wrong that it will catch the error and notify the user. I just added a popup message that someone suggested to put in here.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;@Override&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;public void applicationError(ApplicationErrorCode errorCode) {&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;if (isFinishing()) {&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;// Don't update UI if Activity is finishing.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;return;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;toast("Error: " + errorCode.name());&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Almost there =P This next part is implementing the showDialog and toast.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;@Override&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;protected Dialog onCreateDialog(int id) {&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;// We have only one dialog.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;return new AlertDialog.Builder(this)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;.setTitle("Application Not Licensed")&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;.setCancelable(false)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;.setMessage(&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;"This application is not licensed. Please purchase it from Android Market")&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;.setPositiveButton("Buy App",&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;new DialogInterface.OnClickListener() {&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;@Override&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;public void onClick(DialogInterface dialog,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;int which) {&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;Intent marketIntent = new Intent(&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;Intent.ACTION_VIEW,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;Uri.parse("market://details?id=" + getPackageName()));&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;startActivity(marketIntent);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;finish();&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;})&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;.setNegativeButton("Exit",&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;new DialogInterface.OnClickListener() {&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;@Override&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;public void onClick(DialogInterface dialog,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;int which) {&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;finish();&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;}).create();&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;public void toast(String string) {&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;Toast.makeText(this, string, Toast.LENGTH_SHORT).show();&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Standard alert dialog, where you can see the buy app button is linked to the uri.parse which equals to the Android market link, plus your application package. This will open the Android Market and link directly to your app. And the exit button just exits your application.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;This last piece of code is just removing the license checker so the app doesn't FC on close&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;@Override&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;protected void onDestroy() {&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;super.onDestroy();&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mChecker.onDestroy();&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;And thats it! Here is the full source code:&amp;nbsp;&lt;a href="http://www.lillian-wong.com/Android/Splash.java"&gt;Android License&lt;/a&gt;&lt;/div&gt;&lt;div&gt;A simple&amp;nbsp;implementation&amp;nbsp;that will hopefully do its job. Hope this helps!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
For testing the license code follow this link:&amp;nbsp;&lt;a href="http://developer.android.com/guide/publishing/licensing.html#test-env"&gt;License Testing&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Update: Apparently there is already a hack around this new license. Google's response was any determined hacker willing to disassemble and reassemble code can eventually hack around the service, but hopefully they can make it complicated enough that it won't be worth their time to hack it in the first place. The obfuscation code above helps, but I don't know by how much. If you are concerned there are much more complicated techniques on the web. Check out the link for full details:&amp;nbsp;&lt;a href="http://android-developers.blogspot.com/2010/09/securing-android-lvl-applications.html"&gt;Securing Android LVL Apps&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Cameron&amp;nbsp;&lt;/div&gt;&lt;div&gt;Wonton Games&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-6125811379963358368?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EVR327SBXI80qcxmF8fzTswklPQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EVR327SBXI80qcxmF8fzTswklPQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EVR327SBXI80qcxmF8fzTswklPQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EVR327SBXI80qcxmF8fzTswklPQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/IcURDqnFg04" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/6125811379963358368/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=6125811379963358368" title="12 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/6125811379963358368?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/6125811379963358368?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/IcURDqnFg04/tutorial-android-market-license.html" title="Tutorial: Android Market License Verification Library (LVL)" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_hmNcPpDB070/TLM2hA5057I/AAAAAAAAAJE/fNL6KfaL0Fs/s72-c/Tutorial+pic.PNG" height="72" width="72" /><thr:total>12</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2010/10/tutorial-android-market-license.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EARHo8eCp7ImA9WhZTGEw.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-1456324563646451014</id><published>2010-10-08T20:20:00.000-07:00</published><updated>2011-03-22T11:47:25.470-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-22T11:47:25.470-07:00</app:edited><title>Steak Timer Plus</title><content type="html">Steak Timer Plus helps you cook perfect steaks every time!&lt;br /&gt;
Push the home button to run in the background and it will notify you when it needs to be put on, flipped or is done!&lt;br /&gt;
&lt;br /&gt;
This upgrade from the free Steak Timer includes better graphics, no ads, time multiple steaks, and the ability to keep track of individual steaks by being able to name them! You can also make changes to the steak and save them even after you have added them to the grill.&lt;br /&gt;
&lt;br /&gt;
The timer will also figure out which steak will take the longest to cook and tell you how long to wait for the other steaks before putting them on so that they will finish all at the same time.&lt;br /&gt;
&lt;br /&gt;
Download for $0.99 CAD on the Android Market.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-vEvKrovnmHc/TYjulE_burI/AAAAAAAAALE/TLmmI99ZJqI/s1600/screenshot1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://lh4.googleusercontent.com/-vEvKrovnmHc/TYjulE_burI/AAAAAAAAALE/TLmmI99ZJqI/s320/screenshot1.png" width="192" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-PtPYTeZpHXg/TYjumTufIwI/AAAAAAAAALI/Qjt-Mb6ZU5E/s1600/screenshot2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://lh5.googleusercontent.com/-PtPYTeZpHXg/TYjumTufIwI/AAAAAAAAALI/Qjt-Mb6ZU5E/s320/screenshot2.png" width="192" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-3bFBd8F0_kY/TYjunciRpPI/AAAAAAAAALM/aUg781QGxJw/s1600/screenshot3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://lh3.googleusercontent.com/-3bFBd8F0_kY/TYjunciRpPI/AAAAAAAAALM/aUg781QGxJw/s320/screenshot3.png" width="192" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: -webkit-auto;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_hmNcPpDB070/TK_fVw-LG3I/AAAAAAAAAIs/v_mlv7Jdyjw/s1600/qrcode.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/_hmNcPpDB070/TK_fVw-LG3I/AAAAAAAAAIs/v_mlv7Jdyjw/s200/qrcode.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;a href="https://market.android.com/details?id=com.wontongames.steaktimer.plus"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Android Market: Steak Timer Plus&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
***Trying out new licensing system, if it gives you an "Application not licensed" error it could be your cached license has expired. Just connect to the internet and open the app again and it should retrieve a new one from the market.***&lt;br /&gt;
&lt;br /&gt;
Wonton Games&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-1456324563646451014?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3KhoxFfIgY94-I-EFQ6AsMffLdw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3KhoxFfIgY94-I-EFQ6AsMffLdw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3KhoxFfIgY94-I-EFQ6AsMffLdw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3KhoxFfIgY94-I-EFQ6AsMffLdw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/F7rmnxmY3qk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/1456324563646451014/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=1456324563646451014" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/1456324563646451014?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/1456324563646451014?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/F7rmnxmY3qk/steak-timer-plus.html" title="Steak Timer Plus" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh4.googleusercontent.com/-vEvKrovnmHc/TYjulE_burI/AAAAAAAAALE/TLmmI99ZJqI/s72-c/screenshot1.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2010/10/steak-timer-plus.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4BQHk9eyp7ImA9Wx5VEk4.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-5456218538720858009</id><published>2010-10-04T16:29:00.000-07:00</published><updated>2010-10-04T16:29:11.763-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-04T16:29:11.763-07:00</app:edited><title>Steak Timer Plus Soon To Be Released!</title><content type="html">Our original steak timer was a great success, many positive reviews! Thanks to everyone for commenting!&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;One theme that kept coming up was the need for multiple timers. If you like your steak rare but your spouse likes it medium or well done, then it wasn't possible to do both on the original Steak Timer.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;So...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Introducing Steak Timer Plus! It is capable of timing up to 6 steaks at a time, has updated graphics and can run in the background and notify you when your steaks need to be flipped or are done. You can even name each individual steak to keep track of whose it is.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Steak Timer Plus will be $0.99 on the Android Market in a few days and will be an alternative or upgrade to the original, free one.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-5456218538720858009?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qnVGIDPtvxXCSe9wMjNzqG_Lu9E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qnVGIDPtvxXCSe9wMjNzqG_Lu9E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qnVGIDPtvxXCSe9wMjNzqG_Lu9E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qnVGIDPtvxXCSe9wMjNzqG_Lu9E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/XVPXF4nIPkE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/5456218538720858009/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=5456218538720858009" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/5456218538720858009?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/5456218538720858009?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/XVPXF4nIPkE/steak-timer-plus-soon-to-be-released.html" title="Steak Timer Plus Soon To Be Released!" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2010/10/steak-timer-plus-soon-to-be-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkAASHk_eyp7ImA9Wx5WGEQ.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-495034340122214554</id><published>2010-09-30T17:59:00.000-07:00</published><updated>2010-09-30T17:59:09.743-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-30T17:59:09.743-07:00</app:edited><title>Canadian Developers can finally sell apps!</title><content type="html">It's official, we can now start selling apps!&lt;br /&gt;
&lt;br /&gt;
The Android community as well as Wonton Games have been waiting for this for a long time coming. It's great to see that they have added 20 counties to selling apps and 32 countries are available to download paid apps as well!&lt;br /&gt;
&lt;br /&gt;
This means that we will have more incentive to create higher quality apps (you will be paying for them after all) and be able to spend more time devoted to making awesome apps because it is more economically viable (although I heard some developers say they make more money with advertising than actually selling the apps).&lt;br /&gt;
&lt;br /&gt;
Will keep everyone updated on our plans for future apps and games!&lt;br /&gt;
&lt;br /&gt;
Wonton Games&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-495034340122214554?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ymChMYlZ290mHPsufoCN80-VoTU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ymChMYlZ290mHPsufoCN80-VoTU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ymChMYlZ290mHPsufoCN80-VoTU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ymChMYlZ290mHPsufoCN80-VoTU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/Q-ZieAcYLzk" height="1" width="1"/&gt;</content><link rel="related" href="http://android-developers.blogspot.com/2010/09/more-countries-more-sellers-more-buyers.html" title="Canadian Developers can finally sell apps!" /><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/495034340122214554/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=495034340122214554" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/495034340122214554?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/495034340122214554?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/Q-ZieAcYLzk/canadian-developers-can-finally-sell.html" title="Canadian Developers can finally sell apps!" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2010/09/canadian-developers-can-finally-sell.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcASXY7cCp7ImA9Wx5RGEo.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-8821213220559999953</id><published>2010-08-26T15:26:00.000-07:00</published><updated>2010-08-26T18:54:08.808-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-26T18:54:08.808-07:00</app:edited><title>Android Market App Review Needed</title><content type="html">So far developing for Android has been great. I love the open platform, the willingness of other developers to help, and just the overall sense of community.&amp;nbsp;If you need an app, suggest it on a forum and in a few days someone will have created you one. Will it look pretty? Probably not. Will it work really well? You bet!&lt;br /&gt;
&lt;br /&gt;
Now with Apple's strict market terms and conditions, said app would probably never have made it into the market do to the non-slick look of the app. But who cares, sometimes you just need something to work. This is why I love the Android market because you can immediately upload something to the market and have people download it right away without waiting weeks to see if it will get approved by "big brother". But there seems to be a downfall to this...&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
When I first release an app I love to go to the "Just In" section of the market and see my hard work sitting there waiting to be enjoyed by other people. But usually to my dismay, 30 seconds after I posted my app that I created with sweat, blood and tears, it is surrounded by "Hot Asian Chick" and "Naked Girl Puzzle" apps that usually do nothing but have ads in them. After a couple of minutes my app is already 20 apps down the list without anyone having a chance to discover it. Even if people take the time to scroll down there are so many scam apps that they are likely to either give up and just go to the Top Free/Paid page and overlook any decent apps. I'm not against the +18 apps, but I am against apps the have no purpose but provide ad space for&amp;nbsp;sleazy&amp;nbsp;developers.&lt;br /&gt;
&lt;br /&gt;
While that was more of a selfish example, another one is user security and malicious apps. You can just take a look on StackOverFlow.com and find people asking how to make Android apps that run in the background undetected, or report data without anyone knowing. It's quite obvious that the Android platform is wide open to attacks. Just recently there was a scare over a background app that was collecting information from peoples phones and sending it to a server in China. It turned out to be a false alarm but an alarm none the less.&lt;br /&gt;
&lt;br /&gt;
As much as it pains me to say it, I believe Apple is on the right track with regards to reviewing apps, but they are way too strict and&amp;nbsp;over controlling. The Android platform should still allow you to upload apps immediately, because no one likes to wait, but have them queued up for review to make sure they are not malicious. They shouldn't&amp;nbsp;necessarily&amp;nbsp;be judged on how they look because most developers are people who can write code, not&amp;nbsp;necessarily&amp;nbsp;draw pretty graphics. Their apps should not be rejected because of looks or how well it performs, that is done by the users who review them and leave ratings/comments.&lt;br /&gt;
&lt;br /&gt;
If Google doesn't step up and implement a way of controlling this then the market will be overrun with&amp;nbsp;malicious&amp;nbsp;or scam type apps.&lt;br /&gt;
&lt;br /&gt;
Cameron&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-8821213220559999953?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/nlymC0yL7I30V3dRG5eWtKiYqe0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nlymC0yL7I30V3dRG5eWtKiYqe0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/nlymC0yL7I30V3dRG5eWtKiYqe0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nlymC0yL7I30V3dRG5eWtKiYqe0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/6ERhf1AdQv0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/8821213220559999953/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=8821213220559999953" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/8821213220559999953?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/8821213220559999953?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/6ERhf1AdQv0/android-market-app-review-needed.html" title="Android Market App Review Needed" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><thr:total>1</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2010/08/android-market-app-review-needed.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUFRHg9fSp7ImA9Wx5RE04.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-8387998174462216060</id><published>2010-08-20T13:46:00.000-07:00</published><updated>2010-08-20T13:46:55.665-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-20T13:46:55.665-07:00</app:edited><title>Tutorial: Android Standard Buttons</title><content type="html">This is more of a passing of general knowledge that I think is useful more than a tutorial...&lt;br /&gt;
&lt;br /&gt;
I have been wondering for awhile if the dedicated hardware buttons on Android phones were a&amp;nbsp;mandatory requirement or not. Specifically the Home, Back, and Menu buttons.&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
For most of my apps/games I don't bother making a soft back button because there already is a physical one, no need to be&amp;nbsp;redundant. But I got to thinking what if one day an Android phone comes along that doesn't have one! Then I gotta be aware of this and go back and change all my apps/games!&lt;br /&gt;
&lt;br /&gt;
Well, good news, I asked the question here,&amp;nbsp;&lt;a href="http://stackoverflow.com/questions/3524758/are-the-4-android-buttons-standard-ex-back-button-menu-button"&gt;Standard Android Buttons&lt;/a&gt;, and good ol' Dianne Hackborn from Google (aka hackbod) has the answer.&lt;br /&gt;
&lt;br /&gt;
The Home, Back, and Menu buttons are mandatory for all Android Phones. It doesn't matter how they are implemented (hard/soft), as long as they are there. Also Android phones have to be touchscreen (capacitive or resistive) and a dedicated search button is recommended.&lt;br /&gt;
&lt;br /&gt;
I knew there was official documentation on this somewhere, I just couldn't find it.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://source.android.com/compatibility/index.html"&gt;Android Compatibility&lt;/a&gt;&amp;nbsp;(Under Current CDD)&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; clear: both; font-size: 14px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;"8.7. Navigation keys&lt;/div&gt;&lt;div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; clear: both; font-size: 14px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;The Home, Menu and Back functions are essential to the Android navigation paradigm. Device implementations MUST make these functions available to the user at all times, regardless of application state. These functions SHOULD be implemented via dedicated buttons. They MAY be implemented using software, gestures, touch panel, etc., but if so they MUST be always accessible and not obscure or interfere with the available application display area. Device implementers SHOULD also provide a dedicated search key. Device implementers MAY also provide send and end keys for phone calls."&lt;/div&gt;&lt;div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; clear: both; font-size: 14px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;Cameron&lt;/div&gt;&lt;div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; clear: both; font-size: 14px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;Wonton Games&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-8387998174462216060?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DPkSLQiz4KL34PVzwOJW7b2xrzg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DPkSLQiz4KL34PVzwOJW7b2xrzg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/DPkSLQiz4KL34PVzwOJW7b2xrzg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DPkSLQiz4KL34PVzwOJW7b2xrzg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/q7XnOsA401c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/8387998174462216060/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=8387998174462216060" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/8387998174462216060?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/8387998174462216060?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/q7XnOsA401c/tutorial-android-standard-buttons.html" title="Tutorial: Android Standard Buttons" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2010/08/tutorial-android-standard-buttons.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8MR34zfCp7ImA9Wx5REUs.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-6711892515213588972</id><published>2010-08-18T12:48:00.000-07:00</published><updated>2010-08-18T12:48:06.084-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-18T12:48:06.084-07:00</app:edited><title>Still Alive</title><content type="html">Well we are still chuggin' along. So far its just been over a month since we released our first app and I think we have learned a lot. Like how the market works/behaves, what things people like and don't, that upgrading databases are complicated...&lt;br /&gt;
&lt;br /&gt;
Overall it's been a good experience. There are lot's of updates we would like to do to our current apps &amp;amp; game, and we also have lots of ideas for new games. But summer is ending soon and a new school year is approaching meaning we will have a lot less time to work on Wonton Games.&lt;br /&gt;
&lt;br /&gt;
Doing this has been a great experience and I would love to make it my full time job. Hopefully everything will work out and when schools over I can dedicate myself to this 100%.&lt;br /&gt;
&lt;br /&gt;
In the mean time, look for lots of updates to our current products as well as some new ones before summer ends!&lt;br /&gt;
&lt;br /&gt;
Cameron&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-6711892515213588972?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/agXgf1QAjS0oX_lB1DaYL2twJzk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/agXgf1QAjS0oX_lB1DaYL2twJzk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/agXgf1QAjS0oX_lB1DaYL2twJzk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/agXgf1QAjS0oX_lB1DaYL2twJzk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/Q3l6NkpZdP4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/6711892515213588972/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=6711892515213588972" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/6711892515213588972?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/6711892515213588972?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/Q3l6NkpZdP4/still-alive.html" title="Still Alive" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2010/08/still-alive.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkIBRXg_eCp7ImA9Wx9bFE0.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-545775508384337512</id><published>2010-08-07T10:10:00.000-07:00</published><updated>2011-02-22T11:55:54.640-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-22T11:55:54.640-08:00</app:edited><title>Steak Timer</title><content type="html">Steak Timer helps you cook perfect steaks every time! Select the thickness of steak, desired doneness and let Steak Timer do the rest (Except physically cook your food).&lt;br /&gt;
&lt;br /&gt;
Push the home button to run in background while you do other things on your phone, and it will notify you when the steak needs to be flipped or is done!&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_hmNcPpDB070/TJWT5OHhnBI/AAAAAAAAAIU/TN2ERLi787Q/s1600/Screenshot1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_hmNcPpDB070/TJWT5OHhnBI/AAAAAAAAAIU/TN2ERLi787Q/s320/Screenshot1.png" width="214" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_hmNcPpDB070/TF0lu8uEFZI/AAAAAAAAAHo/owBvOrrM-QA/s1600/Screenshot2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_hmNcPpDB070/TF0lu8uEFZI/AAAAAAAAAHo/owBvOrrM-QA/s320/Screenshot2.png" width="214" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_hmNcPpDB070/TF0mf6ayoeI/AAAAAAAAAHw/jxqdwxriiCQ/s1600/qrcode.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/_hmNcPpDB070/TF0mf6ayoeI/AAAAAAAAAHw/jxqdwxriiCQ/s200/qrcode.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="https://market.android.com/details?id=com.wontongames.steaktimer"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Android Market: Steak Timer&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks to "thebrain" on&amp;nbsp;&lt;a href="http://www.androidforums.com/"&gt;http://www.androidforums.com/&lt;/a&gt;&amp;nbsp;for requesting this app!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-545775508384337512?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/PG1TLfE4WeDJHbqDUfNX7bCBb3o/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PG1TLfE4WeDJHbqDUfNX7bCBb3o/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/PG1TLfE4WeDJHbqDUfNX7bCBb3o/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PG1TLfE4WeDJHbqDUfNX7bCBb3o/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/D_bHFrw6_7A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/545775508384337512/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=545775508384337512" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/545775508384337512?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/545775508384337512?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/D_bHFrw6_7A/steak-timer.html" title="Steak Timer" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_hmNcPpDB070/TJWT5OHhnBI/AAAAAAAAAIU/TN2ERLi787Q/s72-c/Screenshot1.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2010/08/steak-timer.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8ASXg_fyp7ImA9Wx5TGU0.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-645850399381610185</id><published>2010-08-04T01:00:00.000-07:00</published><updated>2010-08-04T01:00:48.647-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-04T01:00:48.647-07:00</app:edited><title>Wonton Drop Gameplay Video</title><content type="html">Here is a demo of our game Wonton Drop!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/o_9nSFK_MoY&amp;amp;hl=en_US&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/o_9nSFK_MoY&amp;amp;hl=en_US&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="240"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
Wonton Games&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-645850399381610185?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/iRyTvToSNf7NMLzMLt09VwA3-U4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iRyTvToSNf7NMLzMLt09VwA3-U4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/iRyTvToSNf7NMLzMLt09VwA3-U4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iRyTvToSNf7NMLzMLt09VwA3-U4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/0uHhoJZT8ek" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/645850399381610185/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=645850399381610185" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/645850399381610185?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/645850399381610185?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/0uHhoJZT8ek/wonton-drop-gameplay-video.html" title="Wonton Drop Gameplay Video" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2010/08/wonton-drop-gameplay-video.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cAR3o7eyp7ImA9Wx5WGUo.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-6974586351817992113</id><published>2010-08-03T14:18:00.000-07:00</published><updated>2010-10-01T16:17:26.403-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-01T16:17:26.403-07:00</app:edited><title>AdMob vs Mobclix vs Adsense for mobile BETA</title><content type="html">In the few short weeks our applications and games have been released I have tried various ad agencies to see which ones produced the best results. Since it has only been a few weeks this is not really a review, but more of a general impression of these companies.&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Admob&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;Pros:&lt;/b&gt;&lt;br /&gt;
-Very easy to integrate into your application&lt;br /&gt;
-Good analytic tools.&lt;br /&gt;
&lt;b&gt;Cons:&lt;/b&gt;&lt;br /&gt;
-Very bad fill rate, 40%&lt;br /&gt;
-low eCPM&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Mobclix&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;Pros:&lt;/b&gt;&lt;br /&gt;
-10+ networks for Android all serving you ads&lt;br /&gt;
-Good fill rate, 90-100%&lt;br /&gt;
-Very good and helpful support team/staff&lt;br /&gt;
-Ok eCPM&lt;br /&gt;
-Analytics just came out, look pretty good.&lt;br /&gt;
&lt;b&gt;Cons:&lt;/b&gt;&lt;br /&gt;
-Unprofessional looking ads&lt;br /&gt;
-Ok eCPM&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Adsense for Mobile BETA&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;Pros:&lt;/b&gt;&lt;br /&gt;
-It's Google, very experienced in Ad market&lt;br /&gt;
-Professional looking ads&lt;br /&gt;
-Good eCPM&lt;br /&gt;
-100% fill rate&lt;br /&gt;
&lt;b&gt;Cons:&lt;/b&gt;&lt;br /&gt;
-In beta so it has an unpolished site and support&lt;br /&gt;
-Google Analytics are a pain to implement&lt;br /&gt;
-Outdated sdk install documents&lt;br /&gt;
&lt;br /&gt;
Right now I prefer Adsense, but I was doing pretty decent on Mobclix. I got approved for the beta so I thought I might as well try it out. Google is a big company, very experienced in the ad market so I thought they must be pretty good. Also Google just aquired Admob so they will probably integrate that with Adsense anyways. We'll see how it goes. I'll update again in a few weeks and see how my stats look then.&lt;br /&gt;
&lt;br /&gt;
Update:&lt;br /&gt;
-As of Oct.1 2010, my Adsense eCPM is lower than it was in Mobclix. That said, I only stayed with Mobclix for a few weeks and my eCPM there might have gone down after awhile. I think I will stick it out with Adsense because you can have youtube, site, mobile site, and mobile application ad revenue all in one place/account. Also as stated above, I find Adsense to have very good and professional looking ads from&amp;nbsp;reputable&amp;nbsp;companies.&lt;br /&gt;
&lt;br /&gt;
Cameron&lt;br /&gt;
Wonton Games&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-6974586351817992113?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oBzQ1T2GqyotsoWmKKgi00Ngyy4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oBzQ1T2GqyotsoWmKKgi00Ngyy4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oBzQ1T2GqyotsoWmKKgi00Ngyy4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oBzQ1T2GqyotsoWmKKgi00Ngyy4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/EQYA6NMm35U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/6974586351817992113/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=6974586351817992113" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/6974586351817992113?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/6974586351817992113?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/EQYA6NMm35U/admob-vs-mobclix-vs-adsense-for-mobile.html" title="AdMob vs Mobclix vs Adsense for mobile BETA" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2010/08/admob-vs-mobclix-vs-adsense-for-mobile.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEEQnY4fSp7ImA9Wx9bFE0.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-887186076008957854</id><published>2010-07-31T12:12:00.000-07:00</published><updated>2011-02-22T11:56:43.835-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-22T11:56:43.835-08:00</app:edited><title>Wonton Drop</title><content type="html">Wonton Drop is now on the Android Market!&lt;br /&gt;
&lt;br /&gt;
The object of the game is to catch the&amp;nbsp;falling&amp;nbsp;wontons into the pot, and avoid catching the Android Robots.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_hmNcPpDB070/TFR0cFst95I/AAAAAAAAAGw/VAW7XCNtGyc/s1600/Screenshot2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/_hmNcPpDB070/TFR0cFst95I/AAAAAAAAAGw/VAW7XCNtGyc/s320/Screenshot2.png" width="214" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_hmNcPpDB070/TFR0gu9tpyI/AAAAAAAAAG4/hlY4ElBVHhc/s1600/Screenshot1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/_hmNcPpDB070/TFR0gu9tpyI/AAAAAAAAAG4/hlY4ElBVHhc/s320/Screenshot1.png" width="214" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_hmNcPpDB070/TFR0lZ4WVwI/AAAAAAAAAHA/raoKqZaPTxY/s1600/qrcode.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_hmNcPpDB070/TFR0lZ4WVwI/AAAAAAAAAHA/raoKqZaPTxY/s200/qrcode.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://market.android.com/details?id=com.wontondrop.game"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Android Market: Wonton Drop&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;a href="http://meandmydroid.blogspot.com/2010/08/game-news.html"&gt;Wonton Drop Review on MeAndMyDroid&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, sans-serif;"&gt;&lt;a href="http://www.omgandroid.com/wonton-drop/"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Wonton Drop Review on OMGAndroid&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Wonton Games&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-887186076008957854?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CyOF63Z9FX4vwz7ucdUjfgUkaEs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CyOF63Z9FX4vwz7ucdUjfgUkaEs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CyOF63Z9FX4vwz7ucdUjfgUkaEs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CyOF63Z9FX4vwz7ucdUjfgUkaEs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/vOaS3Y9CyTg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/887186076008957854/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=887186076008957854" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/887186076008957854?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/887186076008957854?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/vOaS3Y9CyTg/wonton-drop.html" title="Wonton Drop" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_hmNcPpDB070/TFR0cFst95I/AAAAAAAAAGw/VAW7XCNtGyc/s72-c/Screenshot2.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2010/07/wonton-drop.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYFSXozeyp7ImA9WxFaEEk.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-5177899172574555103</id><published>2010-07-13T11:01:00.000-07:00</published><updated>2010-07-13T11:01:58.483-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-13T11:01:58.483-07:00</app:edited><title>Android Dev Phone 2 - HTC Magic</title><content type="html">It's here! The Google development phone! Now we can get into some serious testing and developing! We are probably going to abuse this phone to death =D&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_hmNcPpDB070/TDyoaZVcR9I/AAAAAAAAAFo/OQdVp9ZWc6E/s1600/P1020520.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/_hmNcPpDB070/TDyoaZVcR9I/AAAAAAAAAFo/OQdVp9ZWc6E/s200/P1020520.JPG" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/_hmNcPpDB070/TDyofUZsjSI/AAAAAAAAAFw/jDCYG8MoN84/s1600/P1020521.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/_hmNcPpDB070/TDyofUZsjSI/AAAAAAAAAFw/jDCYG8MoN84/s200/P1020521.JPG" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/_hmNcPpDB070/TDyoiGAkUYI/AAAAAAAAAF4/c30NNzABXT4/s1600/P1020522.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://3.bp.blogspot.com/_hmNcPpDB070/TDyoiGAkUYI/AAAAAAAAAF4/c30NNzABXT4/s200/P1020522.JPG" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/_hmNcPpDB070/TDyok62WYXI/AAAAAAAAAGA/HTrzDbf4iTg/s1600/P1020523.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/_hmNcPpDB070/TDyok62WYXI/AAAAAAAAAGA/HTrzDbf4iTg/s200/P1020523.JPG" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/_hmNcPpDB070/TDyopHxcT3I/AAAAAAAAAGI/QXCZmHI_pOI/s1600/P1020524.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://3.bp.blogspot.com/_hmNcPpDB070/TDyopHxcT3I/AAAAAAAAAGI/QXCZmHI_pOI/s200/P1020524.JPG" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Wonton Games&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-5177899172574555103?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Wu1aEJmNCncFll3p81IfulV5si8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Wu1aEJmNCncFll3p81IfulV5si8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Wu1aEJmNCncFll3p81IfulV5si8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Wu1aEJmNCncFll3p81IfulV5si8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/04GcHRPIIeg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/5177899172574555103/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=5177899172574555103" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/5177899172574555103?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/5177899172574555103?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/04GcHRPIIeg/android-dev-phone-2-htc-magic.html" title="Android Dev Phone 2 - HTC Magic" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_hmNcPpDB070/TDyoaZVcR9I/AAAAAAAAAFo/OQdVp9ZWc6E/s72-c/P1020520.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2010/07/android-dev-phone-2-htc-magic.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUACRXY7fyp7ImA9WxFaEUk.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-3865103474796940570</id><published>2010-07-12T12:00:00.000-07:00</published><updated>2010-07-14T15:49:24.807-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-14T15:49:24.807-07:00</app:edited><title>Tutorial: General Info and Typical Mistakes</title><content type="html">After working with Android for a while now, there are some simple errors that I often get just from not paying attention to my coding and making stupid mistakes. So I will share them with you.&lt;br /&gt;
&lt;br /&gt;
These &lt;span style="font-family: inherit;"&gt;simple mistakes &lt;/span&gt;often cause hours of frustration trying to figure out what did I change to create this bug or error!&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;1. Declaring or setting variables before setting the content view.&lt;/b&gt;&lt;br /&gt;
Often times when I am in a rush or have a great idea and I want to test some code quickly, I will initialize a variable near the top to easily keep track of it. By doing so I sometimes put the variable before I have called the setcontentview().&lt;br /&gt;
&lt;br /&gt;
Ex.&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #999999;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #999999;"&gt;private RadioGroup RadioGroup1;&lt;br /&gt;
@Override&lt;br /&gt;
protected void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
super.onCreate(savedInstanceState);&lt;br /&gt;
RadioGroup1 = (RadioGroup) findViewById(R.id.mRadioGroup1); &amp;nbsp;/* error: initializing variable before setContentView */&lt;br /&gt;
setContentView(R.layout.main); &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Above you can see I tried to set the RadioGroup1 = mRadioGroup1 which is located in the main layout before I called the main layout. This will give you a nullpointerexception because R.id.mRadioGroup1 doesn't exist for this view yet and points to nothing. Just put the RadioGroup1 after the setContentView() and everything will be fine ;)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. Trying to figure out if an EditText entry is blank.&lt;/b&gt;&lt;br /&gt;
This one always gets me cause I keep thinking that a blank EditText would be equal to null or "". However it doesn't work like that.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Ex.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;private EditText&amp;nbsp;mNameText;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;@Override&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;protected void onCreate(Bundle savedInstanceState) {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;super.onCreate(savedInstanceState);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;mNameText = (EditText) findViewById(R.id.name);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;if(mNameText == null || mNameText == ""){&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;//do something&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #999999;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;The above won't work and the //do something will never get called. In order to fix this the argument inside the if statement needs to be mNameText.length() == 0. This means that if the character length of the string in mNameText is 0, then there are no characters in the edit text box.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;b&gt;General Info&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. Home vs Back Buttons&lt;/b&gt;&lt;br /&gt;
When I first started developing for Android I thought the home and back button were similar. Meaning home would minimize all programs and go to the home page, while back would minimize the front most page and go to the page behind it. Not quite...&lt;br /&gt;
&lt;br /&gt;
I was correct about the home button, it does "minimize" the current apps and takes you to the home page. So when you click on the application icon again it launches from where you left off.&lt;br /&gt;
&lt;br /&gt;
For the back button, it actually destroys whatever process or app is currently on top, and returns to the previous view&amp;nbsp;underneath whether that is the homepage, another app, or a different activity in the same app.&lt;br /&gt;
&lt;br /&gt;
Here is Google's technical explanation&lt;br /&gt;
"&lt;span class="Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px; line-height: 16px;"&gt;All the activities in a task move together as a unit. The entire task (the entire activity stack) can be brought to the foreground or sent to the background. Suppose, for instance, that the current task has four activities in its stack — three under the current activity. The user presses the HOME key, goes to the application launcher, and selects a new application (actually, a new&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px; line-height: 16px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px; line-height: 16px;"&gt;&lt;i&gt;task&lt;/i&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px; line-height: 16px;"&gt;). The current task goes into the background and the root activity for the new task is displayed. Then, after a short period, the user goes back to the home screen and again selects the previous application (the previous task). That task, with all four activities in the stack, comes forward. When the user presses the BACK key, the screen does not display the activity the user just left (the root activity of the previous task). Rather, the activity on the top of the stack is removed and the previous activity in the same task is displayed."&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="font-size: small; line-height: 16px;"&gt;&lt;b&gt;2. Displaying game or app fullscreen (no notification bar)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="font-size: small; line-height: 16px;"&gt;Simple enough to do but you just need to know how to do it ;)&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="font-size: small; line-height: 16px;"&gt;In the Android Manifest, under the applications tab, enter this into Theme &lt;span style="color: #cccccc;"&gt;@android:style/Theme.NoTitleBar.Fullscreen&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black; font-family: inherit;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style="color: white; font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="font-size: small; line-height: 16px;"&gt;The "NoTitleBar" gets rid of the strip that displays your application's name at the top and "Fullscreen" obviously makes it fullscreen. &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="font-size: small; line-height: 16px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px; line-height: 16px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Cameron&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-3865103474796940570?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/FSNMl2Y9MoSmwo0vgCnLgj0Nh3g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FSNMl2Y9MoSmwo0vgCnLgj0Nh3g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/FSNMl2Y9MoSmwo0vgCnLgj0Nh3g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FSNMl2Y9MoSmwo0vgCnLgj0Nh3g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/twhyct1EvjY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/3865103474796940570/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=3865103474796940570" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/3865103474796940570?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/3865103474796940570?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/twhyct1EvjY/tutorial-general-info-and-typical.html" title="Tutorial: General Info and Typical Mistakes" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2010/07/tutorial-general-info-and-typical.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0AHQn8yeSp7ImA9WhZTGEw.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-8637697424671736713</id><published>2010-07-11T21:17:00.000-07:00</published><updated>2011-03-22T11:48:53.191-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-22T11:48:53.191-07:00</app:edited><title>Workout Buddy</title><content type="html">This is our first application officially launched into the Android Market!&lt;br /&gt;
&lt;br /&gt;
Workout Buddy keeps track of your weightlifting and cardio workouts so you don't have to remember what settings or weights you used the last time.&lt;br /&gt;
&lt;br /&gt;
It is meant to be clean and simple so you are spending more time working out instead of fiddling with a complicated app.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="text-align: auto;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-JxVbsu6FmKI/TYju7FHBdPI/AAAAAAAAALQ/_uNQgHSkCZE/s1600/screenshot+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://lh6.googleusercontent.com/-JxVbsu6FmKI/TYju7FHBdPI/AAAAAAAAALQ/_uNQgHSkCZE/s320/screenshot+2.png" width="192" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-2l8CQ4V2vE4/TYju7spTJMI/AAAAAAAAALU/t_0TEyKPZW0/s1600/screenshot+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://lh6.googleusercontent.com/-2l8CQ4V2vE4/TYju7spTJMI/AAAAAAAAALU/t_0TEyKPZW0/s320/screenshot+3.png" width="192" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-0OjZKIT1AoM/TYju8-kMixI/AAAAAAAAALY/SGvtldtDLNY/s1600/screenshot1a.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://lh4.googleusercontent.com/-0OjZKIT1AoM/TYju8-kMixI/AAAAAAAAALY/SGvtldtDLNY/s320/screenshot1a.png" width="192" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-ZkwOctZAUlQ/TYju9lMsLyI/AAAAAAAAALc/gOLfC4eHemg/s1600/screenshot1b.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://lh3.googleusercontent.com/-ZkwOctZAUlQ/TYju9lMsLyI/AAAAAAAAALc/gOLfC4eHemg/s320/screenshot1b.png" width="192" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_hmNcPpDB070/TD4xuDmi85I/AAAAAAAAAGQ/RfnPsmPz670/s1600/qrcode.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_hmNcPpDB070/TD4xuDmi85I/AAAAAAAAAGQ/RfnPsmPz670/s320/qrcode.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://market.android.com/details?id=com.workout.buddy"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Android Market: Workout Buddy&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;Wonton Games&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-8637697424671736713?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/HG6IgCSCzzRXZwbLIvqs-oBrq3c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HG6IgCSCzzRXZwbLIvqs-oBrq3c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/HG6IgCSCzzRXZwbLIvqs-oBrq3c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HG6IgCSCzzRXZwbLIvqs-oBrq3c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/0NF_xWWQWTI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/8637697424671736713/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=8637697424671736713" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/8637697424671736713?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/8637697424671736713?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/0NF_xWWQWTI/workout-buddy.html" title="Workout Buddy" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh6.googleusercontent.com/-JxVbsu6FmKI/TYju7FHBdPI/AAAAAAAAALQ/_uNQgHSkCZE/s72-c/screenshot+2.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2010/07/workout-buddy.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0IAQHs6cSp7ImA9WxFbE0s.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-2065011089071471042</id><published>2010-07-05T15:33:00.000-07:00</published><updated>2010-07-05T15:39:01.519-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-05T15:39:01.519-07:00</app:edited><title>Tutorial: Multiple Screen Support</title><content type="html">&lt;div class="MsoNormal"&gt;One of the great things about Android is also an annoying thing for developers; the ability to run on multiple devices. When it comes to developing games and apps you need to think of how to incorporate the multiple screen resolutions so that it is compatible across the widest range of devices. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;When I started to tackle this problem it was the most confusing aspect of Android development that I had encountered. Even with a very thorough article on the development website (&lt;a href="http://developer.android.com/guide/practices/screens_support.html"&gt;Multiple Screen Support&lt;/a&gt;), I still found it a little confusing. So I will walk through how to setup your manifest and Eclipse workspace to achieve the desired results.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The way Android classifies different screen sizes are by pixel density.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;v:shapetype coordsize="21600,21600" filled="f" id="_x0000_t75" o:preferrelative="t" o:spt="75" path="m@4@5l@4@11@9@11@9@5xe" stroked="f"&gt;  &lt;v:stroke joinstyle="miter"&gt;  &lt;v:formulas&gt;   &lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;   &lt;v:f eqn="sum @0 1 0"&gt;   &lt;v:f eqn="sum 0 0 @1"&gt;   &lt;v:f eqn="prod @2 1 2"&gt;   &lt;v:f eqn="prod @3 21600 pixelWidth"&gt;   &lt;v:f eqn="prod @3 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @0 0 1"&gt;   &lt;v:f eqn="prod @6 1 2"&gt;   &lt;v:f eqn="prod @7 21600 pixelWidth"&gt;   &lt;v:f eqn="sum @8 21600 0"&gt;   &lt;v:f eqn="prod @7 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @10 21600 0"&gt;  &lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;  &lt;v:path gradientshapeok="t" o:connecttype="rect" o:extrusionok="f"&gt;  &lt;o:lock aspectratio="t" v:ext="edit"&gt; &lt;/o:lock&gt;&lt;/v:path&gt;&lt;/v:stroke&gt;&lt;/v:shapetype&gt;&lt;v:shape id="Picture_x0020_1" o:spid="_x0000_i1025" style="height: 182.25pt; mso-wrap-style: square; visibility: visible; width: 432.75pt;" type="#_x0000_t75"&gt;  &lt;v:imagedata o:title="" src="file:///C:\Users\Cameron\AppData\Local\Temp\msohtmlclip1\01\clip_image001.emz"&gt; &lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_hmNcPpDB070/TDJcX-cYUEI/AAAAAAAAAFI/TkcWALX5FgA/s1600/Multi+Screen.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="166" src="http://4.bp.blogspot.com/_hmNcPpDB070/TDJcX-cYUEI/AAAAAAAAAFI/TkcWALX5FgA/s400/Multi+Screen.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Table by Google&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Now a higher screen density means you can display more information, or pixels, in a smaller space. So if you just develop your game or app for a HVGA screen, then when you try and run in on a WVGA screen it will appear smaller. In order to correct this you must make 3 different sizes for each PNG image you use. &lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;In your Android Project in Eclipse, under the “res” folder, you will find the “drawable” folder. In order for Android to tell which folder contains the correct density images you will need to use qualifiers. To do this delete the drawable folder and recreate 3 new ones named “drawable-hdpi”, “drawable-mdpi”, and “drawable-ldpi”. These will contain your different sized images and the naming will tell Android which folder to use depending on which device is running your application. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;If you develop your game using the HVGA screen size as recommended, to adjust your images you need to increase the image size by 1.5 times to get an HDPI image, and shrink it by 0.75 times to get a LDPI image. An example is the MDPI launcher icon; it is a 48x48 PNG file. Times the resolution by 1.5 to get 72x72, the size needed for a HDPI screen to display the icon at relatively the same size. And to get a LDPI image times the resolution by 0.75 to get 36x36. Once you have converted all of your graphics to the appropriate size, you need to modify the Android Manifest.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;To tell Android how to handle multiple screens you need to go to the Android Manifest, then Manifest extras, and then add then “Support Screens” option. Under the attributes for support screens you have small screen, normal screens, large screens, resizable and any density. At last count the majority of android devices are normal screens (20/22 Android devices). It is up to you if your app can handle smaller or larger screens.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;Resizable &lt;/b&gt;basically means fit to screen. So if there is a resolution that is out of the norm for Android, devices like 640x480, then it will stretch the game to fit the screen. Otherwise it will just leave a black border.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;If &lt;b&gt;Any Density&lt;/b&gt; is false, then Android will only take resources from the “drawable-mdpi” and if the app is being run on a HDPI screen, it will auto convert the PNG up to the correct pixel density. It is not recommended to use this since it is not guaranteed to produce desired results. Plus you optimally want full control over your app and since we have already designated HDPI, MDPI, and LDPI folders we put Any Density to true meaning we can handling any density ourselves.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;These are the setting that I used:&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Small screens: &lt;b&gt;false&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Normal Screens: &lt;b&gt;true&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Large Screens: &lt;b&gt;false&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Resizable: &lt;b&gt;true&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Any Density: &lt;b&gt;true&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;To test out that this is working, make 3 Android Virtual Devices (AVD’s) and run your app. A WVGA or FWVGA, HVGA and QVGA should be good. I recommend making a specific PNG image in each density a different color, so you can tell if the right folder is being used. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;If you read the article by Google linked at the beginning it goes into more detail. Hope this makes sense and helps someone!&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Cameron&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
PS: The emulator is not a&amp;nbsp;substitute&amp;nbsp;for an actual device. Many times what works on the emulator doesn't on an actual phone and vise versa. Just a word of caution.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-2065011089071471042?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OryNzvotmd0WsotNYglOIkTqddI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OryNzvotmd0WsotNYglOIkTqddI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/OryNzvotmd0WsotNYglOIkTqddI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OryNzvotmd0WsotNYglOIkTqddI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/-dRePjQ-8v0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/2065011089071471042/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=2065011089071471042" title="12 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/2065011089071471042?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/2065011089071471042?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/-dRePjQ-8v0/tutorial-multiple-screen-support.html" title="Tutorial: Multiple Screen Support" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_hmNcPpDB070/TDJcX-cYUEI/AAAAAAAAAFI/TkcWALX5FgA/s72-c/Multi+Screen.png" height="72" width="72" /><thr:total>12</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2010/07/tutorial-multiple-screen-support.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QFRns6fip7ImA9WxFUF0Q.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-5194589164344579717</id><published>2010-06-28T22:42:00.000-07:00</published><updated>2010-06-28T23:01:57.516-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-28T23:01:57.516-07:00</app:edited><title>Emulator Problems</title><content type="html">Sometimes when I run a FWVGA or WVGA emulator it causes my app to run in compatibility mode (small inner rectangle instead of&amp;nbsp;full screen). If I delete the emulator and recreate another one this usually solves the problem.&lt;br /&gt;
&lt;br /&gt;
Normally when I first start the emulator it looks like this:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_hmNcPpDB070/TCmGaxEdS-I/AAAAAAAAAEQ/g0tlmQuUMcw/s1600/FWVGA+working.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/_hmNcPpDB070/TCmGaxEdS-I/AAAAAAAAAEQ/g0tlmQuUMcw/s200/FWVGA+working.png" width="195" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;But when it screws up it looks like this:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_hmNcPpDB070/TCmGvlOUqtI/AAAAAAAAAEY/mLUVGxNe9DY/s1600/FWVGA+not+working.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_hmNcPpDB070/TCmGvlOUqtI/AAAAAAAAAEY/mLUVGxNe9DY/s200/FWVGA+not+working.png" width="198" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;I'm trying to ask around and if I find a solution or what is causing this I will post it. If anyone knows why, feel free to email me under contact or post a comment on the entry.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;Cameron&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-5194589164344579717?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/D-vYK_MXAxycRa4I5fNUrDs5bgc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/D-vYK_MXAxycRa4I5fNUrDs5bgc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/D-vYK_MXAxycRa4I5fNUrDs5bgc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/D-vYK_MXAxycRa4I5fNUrDs5bgc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/Znt7mxQGqJ4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/5194589164344579717/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=5194589164344579717" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/5194589164344579717?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/5194589164344579717?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/Znt7mxQGqJ4/emulator-problems.html" title="Emulator Problems" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_hmNcPpDB070/TCmGaxEdS-I/AAAAAAAAAEQ/g0tlmQuUMcw/s72-c/FWVGA+working.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2010/06/emulator-problems.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcMRns_fip7ImA9WxFUEkg.&quot;"><id>tag:blogger.com,1999:blog-4952541711132970657.post-2960269215597201826</id><published>2010-06-22T18:21:00.000-07:00</published><updated>2010-06-22T18:21:27.546-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-22T18:21:27.546-07:00</app:edited><title>New and Improved Logo</title><content type="html">Hi guys,&lt;br /&gt;
&lt;br /&gt;
I re-designed the logo, and I think it looks a lot better and represents us a bit more, so I hope you guys like the new and improved change! Right now, we are just working on some graphics for the free game, and hopefully we would be able to release it by mid July. So please stay tune for some more exciting news!!!&lt;br /&gt;
&lt;br /&gt;
Lillian&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4952541711132970657-2960269215597201826?l=wonton-games.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fS80Wldlktqrm_mIarGgcYJsYDI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fS80Wldlktqrm_mIarGgcYJsYDI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/fS80Wldlktqrm_mIarGgcYJsYDI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fS80Wldlktqrm_mIarGgcYJsYDI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WontonGames/~4/B0KTC5X7rco" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wonton-games.blogspot.com/feeds/2960269215597201826/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4952541711132970657&amp;postID=2960269215597201826" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/2960269215597201826?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4952541711132970657/posts/default/2960269215597201826?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WontonGames/~3/B0KTC5X7rco/new-and-improved-logo.html" title="New and Improved Logo" /><author><name>Wonton Games</name><uri>http://www.blogger.com/profile/02300640478826364317</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/_hmNcPpDB070/TCFbyVGCNdI/AAAAAAAAADc/QgDfBxOKbjU/S220/wonton+pixe+avatarl.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://wonton-games.blogspot.com/2010/06/new-and-improved-logo.html</feedburner:origLink></entry></feed>

