<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Chris Risner . Com</title><link>http://chrisrisner.com</link><description>Chris Risner . Com</description><ttl>60</ttl><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/chrisrisnercom" /><feedburner:info uri="chrisrisnercom" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title><![CDATA[ Updates to the Windows Azure iOS Toolkit ]]></title><link>http://feedproxy.google.com/~r/chrisrisnercom/~3/7xonXT5FhI4/Updates-to-the-Windows-Azure-iOS-Toolkit</link><guid isPermaLink="false">http://chrisrisner.com/Updates-to-the-Windows-Azure-iOS-Toolkit</guid><description>&lt;p&gt;&lt;img style="margin: 0px 0px 5px 5px; display: inline; float: right" title="Windows Azure on iOS" alt="Windows Azure on iOS" align="right" src="http://chrisrisner.com/upload/iOSImage3.png" width="178" height="334" /&gt;One of my first official duties when starting with &lt;a title="Microsoft and Windows Azure" href="http://chrisrisner.com/Returning-from-Whence-I-Came!"&gt;Microsoft and Windows Azure&lt;/a&gt; was to get familiar with the &lt;a title="Windows Azure iOS Toolkit" href="https://github.com/WindowsAzure-Toolkits/wa-toolkit-ios"&gt;iOS&lt;/a&gt; and &lt;a title="Windows Azure Android Toolkit" href="https://github.com/WindowsAzure-Toolkits/wa-toolkit-android"&gt;Android&lt;/a&gt; Toolkits.&amp;#160; These toolkits make it easy to get up and running with connecting an iOS or Android application to a Windows Azure backend.&amp;#160; Coupled with the &lt;a title="Cloud Ready Packages" href="https://github.com/windowsazure-toolkits/wa-toolkit-cloudreadypackages"&gt;Cloud Ready Packages&lt;/a&gt;, an iOS or Android developer can get a backend capable of storing data using blobs, tables, or queues as well as using &lt;a title="Windows Azure Access Control Service" href="http://www.windowsazure.com/en-us/home/features/access-control/"&gt;Windows Azure’s Access Control Service&lt;/a&gt; for user authentication and proxies.&amp;#160; Setting up the backend just requires some configuration and doesn’t necessitate learning or knowing any .Net.&amp;#160; I’ll talk more in the future about the Cloud Ready Packages and configuring them, but today, I’m going to focus on the &lt;a title="Windows Azure iOS Toolkit" href="https://github.com/WindowsAzure-Toolkits/wa-toolkit-ios"&gt;Windows Azure iOS Toolkit&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Late last week, we were able to push out some changes to the iOS Toolkit to both clean up some of the code as well as to showcase a few more sample programs.&amp;#160; Before diving into some of the changes, I’d like to prop out &lt;a title="Scott Densmore" href="http://scottdensmore.typepad.com/"&gt;Scott Densmore&lt;/a&gt;.&amp;#160; In Scott’s spare time, he...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span stlye="float: left"&gt;Read the rest of the article &lt;a href="http://chrisrisner.com/Updates-to-the-Windows-Azure-iOS-Toolkit"&gt;here.&lt;/a&gt;&lt;/span&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OEMb9m1iuc7QYC8SSryljT62Q1Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OEMb9m1iuc7QYC8SSryljT62Q1Q/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/OEMb9m1iuc7QYC8SSryljT62Q1Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OEMb9m1iuc7QYC8SSryljT62Q1Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chrisrisnercom/~4/7xonXT5FhI4" height="1" width="1"/&gt;</description><pubDate>Wed, 23 May 2012 17:03:00 GMT</pubDate><feedburner:origLink>http://chrisrisner.com/Updates-to-the-Windows-Azure-iOS-Toolkit</feedburner:origLink></item><item><title><![CDATA[ Returning from Whence I Came! ]]></title><link>http://feedproxy.google.com/~r/chrisrisnercom/~3/fZv92aMF8VI/Returning-from-Whence-I-Came!</link><guid isPermaLink="false">http://chrisrisner.com/Returning-from-Whence-I-Came!</guid><description>&lt;p&gt;&lt;img style="margin: 0px 0px 5px 5px; display: inline; float: right" title="Windows Azure" alt="Windows Azure" align="right" src="http://chrisrisner.com/upload/windowsazurevertical.jpg" width="253" height="109" /&gt;It’s kind of funny that just over a year ago &lt;a title="Committing Treason against Microsoft" href="http://chrisrisner.com/Committing-Treason-against-Microsoft"&gt;I wrote about switching my focus from Microsoft related technologies to mobile and more specifically, iOS development&lt;/a&gt;.&amp;#160; Since then I switched down to doing a lot more &lt;a title="31 Days of Android" href="http://chrisrisner.com/31-Days-of-Android"&gt;Android&lt;/a&gt; and a little less iOS.&amp;#160; As luck would have it, this ended up leading to a pretty great opportunity.&amp;#160; About a month ago I took a new position with a company you may have heard of in passing:&amp;#160; &lt;a title="Microsoft" href="http://www.microsoft.com"&gt;Microsoft&lt;/a&gt;.&amp;#160; Specifically I am a Technical Evangelist for Windows Azure.&amp;#160; &lt;/p&gt;  &lt;p&gt;“Woah, woah, woah, Chris! I thought you were doing iOS and Android development?”&lt;/p&gt;  &lt;p&gt;I will still be doing mobile development.&amp;#160; I’ll just be focusing more on how to connect Android and iOS applications to the Windows Azure platform.&amp;#160; There are a mess of options out there for back ends when it comes to mobile applications.&amp;#160; Obviously when it comes to “the Cloud”, Azure is a big player.&amp;#160; The platform is scalable, constantly being improved, and is just at the beginning of what it’s capable of.&amp;#160; I see nothing but opportunity when it comes to Azure and working with iOS and Android developers.&amp;#160; &lt;/p&gt;  &lt;p&gt;I will truly miss working with my former teammates, but I’m very excited about the opportunities I’ll have with Microsoft.&amp;#160; Erin and I (and &lt;a title="Riley!" href="http://chrisrisner.com/upload/Riley.jpg"&gt;Riley&lt;/a&gt;) are very excited about moving out to Washington in a few months and experiencing a whole new place for all of us.&amp;#160; &lt;/p&gt;  &lt;p&gt;I look forward...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span stlye="float: left"&gt;Read the rest of the article &lt;a href="http://chrisrisner.com/Returning-from-Whence-I-Came!"&gt;here.&lt;/a&gt;&lt;/span&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/C4LleZmhaFGirF_ml3DhHRRbelo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/C4LleZmhaFGirF_ml3DhHRRbelo/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/C4LleZmhaFGirF_ml3DhHRRbelo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/C4LleZmhaFGirF_ml3DhHRRbelo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chrisrisnercom/~4/fZv92aMF8VI" height="1" width="1"/&gt;</description><pubDate>Thu, 10 May 2012 00:14:00 GMT</pubDate><feedburner:origLink>http://chrisrisner.com/Returning-from-Whence-I-Came!</feedburner:origLink></item><item><title><![CDATA[ Married ]]></title><link>http://feedproxy.google.com/~r/chrisrisnercom/~3/2eFe-uBwGSE/Married</link><guid isPermaLink="false">http://chrisrisner.com/Married</guid><description>&lt;p&gt;&lt;img style="margin: 0px 0px 5px 5px; display: inline; float: right" align="right" src="http://chrisrisner.com/upload/erin_and_chris_wdding.jpg" width="250" height="444" /&gt;My site has been pretty dead as of late.&amp;#160; However, it’s for a pretty damn good reason (well, depending on who you ask):&amp;#160; I got married.&amp;#160; &lt;/p&gt;  &lt;p&gt;Two years ago in November, I asked my fiancée to marry me and she was foolish enough to say yes.&amp;#160; When we couldn’t decide to get married in Michigan, where I am from, or Arizona, where she is from, we decided on somewhere completely different: Kauai in Hawaii.&amp;#160; &lt;/p&gt;  &lt;p&gt;We couldn’t invite a lot of people but we were very fortunate that so many people were able to come and join us.&amp;#160; On Sunday, March 11th Erin and I were joined in what I’m assured was an official ceremony (as long as our marriage does not run for President).&amp;#160; It was raining on the day of the wedding but as you can see from the picture, things were still beautiful.&amp;#160; Afterwards, we stayed in Kauai for our honeymoon and had a fantastic time there.&amp;#160; We stayed at the fanciest hotel either of us have ever been to (the Princeville St Regis), hiked down to a natural ocean pool (that many people have died trying to swim in), went on a boat and plane tour, tried out paddle boarding and surfing, and just totally had a blast.&amp;#160; If you’re thinking about going to Hawaii, I’d recommend Kauai (even though I haven’t been to the other islands yet).&amp;#160; &lt;/p&gt;  &lt;p&gt;On the beer front, Kauai doesn’t really get a lot of craft beers imported.&amp;#160; They do, however, have a few local breweries.&amp;#160; Of particular note is the &lt;a title="Coconut Porter from Maui Brewing Company" href="http://www.mauibrewingco.com/mbc/MBCCannedBeer.html"&gt;Coconut Porter from Maui Brewing Company&lt;/a&gt; and &lt;a title="Hapa Ale" href="http://www.hawaiinuibrewing.com/HawaiiNuiBrewing/Local_Beer.html"&gt;Hawaii Nui Brewing’s Hapa Ale&lt;/a&gt;.&amp;#160; I’m not really sure if there is anywhere stateside ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span stlye="float: left"&gt;Read the rest of the article &lt;a href="http://chrisrisner.com/Married"&gt;here.&lt;/a&gt;&lt;/span&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eqNT6azRY5qTw9t03lWnyYxzhtA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eqNT6azRY5qTw9t03lWnyYxzhtA/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/eqNT6azRY5qTw9t03lWnyYxzhtA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eqNT6azRY5qTw9t03lWnyYxzhtA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chrisrisnercom/~4/2eFe-uBwGSE" height="1" width="1"/&gt;</description><pubDate>Mon, 26 Mar 2012 23:03:00 GMT</pubDate><feedburner:origLink>http://chrisrisner.com/Married</feedburner:origLink></item><item><title><![CDATA[ CodeMash 2012 ]]></title><link>http://feedproxy.google.com/~r/chrisrisnercom/~3/BxNPTX2Ekxk/CodeMash-2012</link><guid isPermaLink="false">http://chrisrisner.com/CodeMash-2012</guid><description>&lt;p&gt;&lt;img style="margin: 0px 0px 5px 5px; display: inline; float: right" align="right" src="http://chrisrisner.com/upload/logo-codemash.gif" /&gt;Last week was &lt;a title="CodeMash" href="http://codemash.org"&gt;CodeMash 2012&lt;/a&gt;.&amp;#160; This was the seventh iteration of the conference and the first time I’ve been back since the first year.&amp;#160; If there is one thing that I can attest to, having missed the 5 years in between, this conference has gotten a lot bigger.&amp;#160; To put things in perspective (since I don’t have the actual number of attendees from 2007), &lt;a title="Cost of CodeMash 2007" href="https://twitter.com/#!/codemash/status/159820089225515008"&gt;CodeMash 2007 (the first year) cost $35,082.83&lt;/a&gt;.&amp;#160; This year (2012), &lt;a href="https://twitter.com/#!/codemash/status/159826042599636993"&gt;they spent $22,400 on BACON&lt;/a&gt;!&amp;#160; I only wish I could spend this much on pig.&amp;#160; This year there were roughly 1200 attendees and 130 speakers.&amp;#160; &lt;/p&gt;  &lt;p&gt;Thankfully, after submitting a few different session abstracts, I was chosen to speak on an Introduction to Android Development.&amp;#160; While I wasn’t really prepared to speak on the topic when I was accepted, in-between then and the conference, I wrote my &lt;a title="31 Days of Android" href="http://chrisrisner.com/31-Days-of-Android"&gt;31 Days of Android series&lt;/a&gt;.&amp;#160; After having written that, I was more than prepared to create the presentation and speak about it confidently.&amp;#160; I was still a little nervous as this would be the largest crowd of people (that I didn’t already know) that I would be speaking to.&amp;#160; That said, things went pretty well.&amp;#160; I had one of the largest rooms at the Kalahari conference center (outside of the ballrooms). While it wasn’t jam packed, I’d say there were probably about 100 people give or take a few.&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 0px 0px 5px 6px; display: inline; float: right" align="right" src="http://chrisrisner.com/upload/speaking_at_codemash_2012.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;My talk did...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span stlye="float: left"&gt;Read the rest of the article &lt;a href="http://chrisrisner.com/CodeMash-2012"&gt;here.&lt;/a&gt;&lt;/span&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BUpVhJOypQiB8evXqf23KaPAktI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BUpVhJOypQiB8evXqf23KaPAktI/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/BUpVhJOypQiB8evXqf23KaPAktI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BUpVhJOypQiB8evXqf23KaPAktI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chrisrisnercom/~4/BxNPTX2Ekxk" height="1" width="1"/&gt;</description><pubDate>Fri, 20 Jan 2012 00:37:00 GMT</pubDate><feedburner:origLink>http://chrisrisner.com/CodeMash-2012</feedburner:origLink></item><item><title><![CDATA[ 31 Days of Android–Postmortem and What’s Next ]]></title><link>http://feedproxy.google.com/~r/chrisrisnercom/~3/IWEMcZVcgvk/31-Days-of-Android–Postmortem-and-What%27s-Next</link><guid isPermaLink="false">http://chrisrisner.com/31-Days-of-Android–Postmortem-and-What%27s-Next</guid><description>&lt;p&gt;&lt;img style="margin: 0px 0px 5px 5px; display: inline; float: right" title="31 Days of Android" alt="31 Days of Android" align="right" src="http://chrisrisner.com/upload/android-200.png" /&gt;It’s been just over a week since I wrapped up the last day of the &lt;a title="31 Days of Android" href="http://chrisrisner.com/31-Days-of-Android"&gt;31 Days of Android&lt;/a&gt;.&amp;#160; This was a really fun series to work on but it took a lot out of me.&amp;#160; Today I’d like to talk about some of the lessons learned during and after writing the series.&amp;#160; These are tips that might be useful to you if you’re planning a long running series and are certainly things I’d like to remember going forward.&amp;#160; Unlike the rest of the series, there won’t be any coding in this article.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Don’t Overcommit&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Naming a blog series “&lt;a title="31 Days of Android" href="http://chrisrisner.com/31-Days-of-Android"&gt;31 Days of Android&lt;/a&gt;” and starting to post an article every day, kind of implies that you’re going to post an article every day for 31 days straight.&amp;#160; Not 7 for the first 7 days and then 1 every other day for the next 48 days.&amp;#160; It may not seem like it due to the quality of some of the articles (I can admit that many of them could be better) but each one takes a while to write.&amp;#160; While some of them took a few hours, most of them took much longer.&amp;#160; If you’re going to try to get one out every day, make sure you’ve got the time to commit to it or plan ahead.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Plan Ahead&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If you’re going to get an article out every day and you know, or even suspect, that it’s going to take a while to write each one, write as many as you can ahead of time.&amp;#160; I didn’t start the series until I had written rough drafts for about 8 articles.&amp;#160; However, shortly after I started posting, I lost my 8 article head start.&amp;#160; I think the big risk on not posting an article as soon as you’re done writing...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span stlye="float: left"&gt;Read the rest of the article &lt;a href="http://chrisrisner.com/31-Days-of-Android–Postmortem-and-What%27s-Next"&gt;here.&lt;/a&gt;&lt;/span&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jICuHbcMAwSQcPUlxmd8gqTQKng/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jICuHbcMAwSQcPUlxmd8gqTQKng/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/jICuHbcMAwSQcPUlxmd8gqTQKng/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jICuHbcMAwSQcPUlxmd8gqTQKng/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chrisrisnercom/~4/IWEMcZVcgvk" height="1" width="1"/&gt;</description><pubDate>Wed, 28 Dec 2011 23:19:00 GMT</pubDate><feedburner:origLink>http://chrisrisner.com/31-Days-of-Android–Postmortem-and-What%27s-Next</feedburner:origLink></item><item><title><![CDATA[ 31 Days of Android: Day 31–Putting your Apps in the Marketplace ]]></title><link>http://feedproxy.google.com/~r/chrisrisnercom/~3/Ihn6e6c3Hh4/31-Days-of-Android--Day-31–Putting-your-Apps-in-the-Marketplace</link><guid isPermaLink="false">http://chrisrisner.com/31-Days-of-Android--Day-31–Putting-your-Apps-in-the-Marketplace</guid><description>&lt;p&gt;&lt;img style="margin: 0px 0px 5px 5px; display: inline; float: right" align="right" src="http://chrisrisner.com/upload/android_day_thirty_sad.png" /&gt;Sadly, we’ve come to the end of the &lt;a title="31 Days of Android" href="http://chrisrisner.com/31-Days-of-Android"&gt;31 Days of Android&lt;/a&gt;.&amp;#160; If you’ve been paying attention so far, you should be capable of making some fairly sophisticated applications.&amp;#160; Now it’s finally time to take the roast out of the oven and move your apps into the &lt;strong&gt;Android Marketplace&lt;/strong&gt;.&amp;#160; You certainly don’t have to do this.&amp;#160; Due to Android’s loose restrictions on installing new app’s, you could distribute your app yourself or even use one of the competing app stores.&amp;#160; To my knowledge though, the &lt;strong&gt;Android Marketplace&lt;/strong&gt; is the best place to put your applications and the one app store most highly used among Android owners.&amp;#160; There isn’t any sample code today as there isn’t anything you need to add on the code side once your application is ready, though there are some things you may need to change.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Cleaning your Project and Building for Release&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The first thing you should do is turn remove any calls to &lt;strong&gt;Log&lt;/strong&gt; as well as turning off debugging.&amp;#160; Debugging can be turned off in your manifest file by either removing the &lt;strong&gt;android:debuggable &lt;/strong&gt;attribute or setting it to false.&amp;#160; Any debug calls to &lt;strong&gt;startMethodTracing&lt;/strong&gt; or &lt;strong&gt;stopMethodTracing&lt;/strong&gt; should also be remove.&amp;#160; Next, make sure that you’re not including any unnecessary files.&amp;#160; These may be class files inside &lt;strong&gt;src &lt;/strong&gt;that you used at one point and aren’t anymore, drawables or layouts in the &lt;strong&gt;res&lt;/strong&gt; folder that aren’t needed, or jars in the &lt;strong&gt;lib&lt;/strong&gt; folder that you’re not including.&amp;#160; If you include them in your release, it will increase the size of your installable unnecessarily.&amp;#160; La...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span stlye="float: left"&gt;Read the rest of the article &lt;a href="http://chrisrisner.com/31-Days-of-Android--Day-31–Putting-your-Apps-in-the-Marketplace"&gt;here.&lt;/a&gt;&lt;/span&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ejarapAYRZ-IyHzHIFDSZrNZe0E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ejarapAYRZ-IyHzHIFDSZrNZe0E/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/ejarapAYRZ-IyHzHIFDSZrNZe0E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ejarapAYRZ-IyHzHIFDSZrNZe0E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chrisrisnercom/~4/Ihn6e6c3Hh4" height="1" width="1"/&gt;</description><pubDate>Wed, 21 Dec 2011 10:42:00 GMT</pubDate><feedburner:origLink>http://chrisrisner.com/31-Days-of-Android--Day-31–Putting-your-Apps-in-the-Marketplace</feedburner:origLink></item><item><title><![CDATA[ 31 Days of Android: Day 30–Advertisements ]]></title><link>http://feedproxy.google.com/~r/chrisrisnercom/~3/WOsjzN4e3gE/31-Days-of-Android--Day-30–Advertisements</link><guid isPermaLink="false">http://chrisrisner.com/31-Days-of-Android--Day-30–Advertisements</guid><description>&lt;p&gt;&lt;img style="margin: 0px 0px 5px 5px; display: inline; float: right" align="right" src="http://chrisrisner.com/upload/android_logo_money.png" /&gt;We’re getting quite close to the end of the &lt;a title="31 Days of Android" href="http://chrisrisner.com/31-Days-of-Android"&gt;31 Days of Android&lt;/a&gt; so it’s time to talk about how to make some money with your apps.&amp;#160; There are several ways to make money with your applications.&amp;#160; You could just charge for the sale of your app.&amp;#160; Many developers do this and put out a free version with limited features to get users interested in paying for the full version.&amp;#160; Another way to make money is through in-app purchases.&amp;#160; This seems to be more common in games where you can charge users to get special perks or abilities for their in-game character.&amp;#160; Another way to make money, and the focus of today’s article, is in-app advertisements.&amp;#160; One quick note is that you NEED your project to target Android 3.2 or later.&amp;#160; While previous projects targeted 2.2, the sample code today targets 4.0.&amp;#160; You can &lt;a title="Android Day Thirty Inital Source Code" href="http://chrisrisner.com/upload/DayThirtyInitial-2.zip"&gt;download the starter code we’ll use today here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Creating an AdMob Account&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;For today’s talk we’re going to use &lt;a title="AdMob" href="http://www.admob.com/"&gt;AdMob&lt;/a&gt;.&amp;#160; AdMob is an advertising network owned by Google.&amp;#160; There is no requirement to use AdMob in Android and there are other alternatives that you could implement yourself.&amp;#160; Step one is to go to &lt;a href="http://www.admob.com"&gt;www.admob.com&lt;/a&gt; and sign up for an account.&amp;#160; If you’re making an account for yourself, you’ll need to put your social security number in (remember the idea is that they’re going to pay you money so they need your info).&amp;#160; If you’re entering it for a business, you’ll have to enter some information specific to your business (i.e. a Tax Identificati...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span stlye="float: left"&gt;Read the rest of the article &lt;a href="http://chrisrisner.com/31-Days-of-Android--Day-30–Advertisements"&gt;here.&lt;/a&gt;&lt;/span&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_GNGB_UAZGydzrn7xWV34fe5Tmg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_GNGB_UAZGydzrn7xWV34fe5Tmg/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/_GNGB_UAZGydzrn7xWV34fe5Tmg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_GNGB_UAZGydzrn7xWV34fe5Tmg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chrisrisnercom/~4/WOsjzN4e3gE" height="1" width="1"/&gt;</description><pubDate>Tue, 20 Dec 2011 10:09:00 GMT</pubDate><feedburner:origLink>http://chrisrisner.com/31-Days-of-Android--Day-30–Advertisements</feedburner:origLink></item><item><title><![CDATA[ 31 Days of Android: Day 29–Using the Camera ]]></title><link>http://feedproxy.google.com/~r/chrisrisnercom/~3/rSYP98nYKAQ/31-Days-of-Android--Day-29–Using-the-Camera</link><guid isPermaLink="false">http://chrisrisner.com/31-Days-of-Android--Day-29–Using-the-Camera</guid><description>&lt;p&gt;&lt;img style="margin: 0px 0px 5px 5px; display: inline; float: right" title="Using the Android Camera" alt="Using the Android Camera" align="right" src="http://chrisrisner.com/upload/android-200.png" /&gt;Today we’re going to talk about using the camera in your applications as we get close to wrapping up the &lt;a title="31 Days of Android" href="http://chrisrisner.com/31-Days-of-Android"&gt;31 Days of Android&lt;/a&gt;.&amp;#160; There are two different ways you can use the camera in your applications:&amp;#160; via an &lt;strong&gt;Intent&lt;/strong&gt; or directly using the camera hardware.&amp;#160; If you use an &lt;strong&gt;Intent&lt;/strong&gt;, you’re relying on a different application to handle taking the picture or video and “handing it back” to your app.&amp;#160; Today we’ll look at how you can get pictures from the camera with an &lt;strong&gt;Intent&lt;/strong&gt; as well as how to get some more information from the camera.&amp;#160; You can &lt;a title="Android Day TwentyNine Inital Code" href="http://chrisrisner.com/upload/DayTwentyNineInitial.zip"&gt;download the starter code we’ll use today here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Manifest Changes&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Before you can use the camera, you need to add a permission to the manifest file.&amp;#160; This will be listed when users go to install your application so that they will know your app will use their camera.&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;uses-permission&lt;/span&gt; &lt;span class="attr"&gt;android:name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;android.permission.CAMERA&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.c...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span stlye="float: left"&gt;Read the rest of the article &lt;a href="http://chrisrisner.com/31-Days-of-Android--Day-29–Using-the-Camera"&gt;here.&lt;/a&gt;&lt;/span&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Q3uXyEAyFVXEAXakND5tXG6Z67g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Q3uXyEAyFVXEAXakND5tXG6Z67g/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/Q3uXyEAyFVXEAXakND5tXG6Z67g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Q3uXyEAyFVXEAXakND5tXG6Z67g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chrisrisnercom/~4/rSYP98nYKAQ" height="1" width="1"/&gt;</description><pubDate>Mon, 19 Dec 2011 10:34:00 GMT</pubDate><feedburner:origLink>http://chrisrisner.com/31-Days-of-Android--Day-29–Using-the-Camera</feedburner:origLink></item><item><title><![CDATA[ 31 Days of Android: Day 28–Intents Part 3: Service Intents ]]></title><link>http://feedproxy.google.com/~r/chrisrisnercom/~3/r_UOYbhNWiI/31-Days-of-Android--Day-28–Intents-Part-3--Service-Intents</link><guid isPermaLink="false">http://chrisrisner.com/31-Days-of-Android--Day-28–Intents-Part-3--Service-Intents</guid><description>&lt;p&gt;&lt;a title="Intents Part 2" href="http://chrisrisner.com/31-Days-of-Android--Day-27%E2%80%93Intents-Part-2"&gt;&lt;img style="display: inline; float: right" title="Android Day Twenty Eight" alt="Android Day Twenty Eight" align="right" src="http://chrisrisner.com/upload/android-200.png" /&gt;Yesterday I was short on time and wasn’t able to complete the talk about Intents&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;as I had hoped which means that today we’ll wrap up talking about them as we continue on with the &lt;a title="31 Days of Android" href="http://chrisrisner.com/31-Days-of-Android"&gt;31 Days of Android&lt;/a&gt;.&amp;#160; The last thing we’re going to talk about is using &lt;strong&gt;Intent&lt;/strong&gt;s to start services and then updating your UI when those services finish.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Using Services and Intents&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The second topic I’d like to cover today that is related to &lt;strong&gt;Intent&lt;/strong&gt;s is creating background services that are capable of updating your UI. You’ll see that the service will be kicked off by sending an &lt;strong&gt;Intent&lt;/strong&gt;. Your service will update the UI via another messaging method called a &lt;strong&gt;ResultReceiver&lt;/strong&gt;. There are several steps you’ll have to go through to make this work so let’s get started. First, right click on &lt;strong&gt;src/com.daytwentyseven &lt;/strong&gt;and choose &lt;strong&gt;New –&amp;gt; Class&lt;/strong&gt;. Name your class “&lt;strong&gt;DayTwentySevenService&lt;/strong&gt;” and set it’s superclass to “&lt;strong&gt;android.app.IntentService&lt;/strong&gt;”. This will create a new class with a &lt;strong&gt;onHandleIntent&lt;/strong&gt; method for you to implement. In order for this to compile you’ll need to at least add a constructor which should call the &lt;strong&gt;super&lt;/strong&gt; constructor:&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; DayTwentySevenService extends IntentService {&lt;/pre&gt;

  &lt;pre&gt; &lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; DayTwentySevenService() {&lt;/pre&gt;

...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span stlye="float: left"&gt;Read the rest of the article &lt;a href="http://chrisrisner.com/31-Days-of-Android--Day-28–Intents-Part-3--Service-Intents"&gt;here.&lt;/a&gt;&lt;/span&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_Lb1PXDA_zSzcuH7w26EpVWdH1M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_Lb1PXDA_zSzcuH7w26EpVWdH1M/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/_Lb1PXDA_zSzcuH7w26EpVWdH1M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_Lb1PXDA_zSzcuH7w26EpVWdH1M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chrisrisnercom/~4/r_UOYbhNWiI" height="1" width="1"/&gt;</description><pubDate>Sun, 18 Dec 2011 13:30:00 GMT</pubDate><feedburner:origLink>http://chrisrisner.com/31-Days-of-Android--Day-28–Intents-Part-3--Service-Intents</feedburner:origLink></item><item><title><![CDATA[ 31 Days of Android: Day 27–Intents Part 2 ]]></title><link>http://feedproxy.google.com/~r/chrisrisnercom/~3/EZKMnAejusU/31-Days-of-Android--Day-27–Intents-Part-2</link><guid isPermaLink="false">http://chrisrisner.com/31-Days-of-Android--Day-27–Intents-Part-2</guid><description>&lt;p&gt;&lt;img style="margin: 0px 0px 5px 5px; display: inline; float: right" align="right" src="http://chrisrisner.com/upload/android-200.png" /&gt;Yesterday I covered a lot of &lt;a title="Using Intents Part One" href="http://chrisrisner.com/31-Days-of-Android--Day-26%E2%80%93Intents"&gt;information about Intents and showed you a lot of different things you can do with intents&lt;/a&gt;.&amp;#160; Today as we continue the &lt;a title="31 Days of Android" href="http://chrisrisner.com/31-Days-of-Android"&gt;31 Days of Android&lt;/a&gt;, we’re going to talk about a few more ways that &lt;strong&gt;Intents &lt;/strong&gt;can be used.&amp;#160; As a reminder, &lt;strong&gt;Intents&lt;/strong&gt; are messages that you can use to communicate between parts of your application or with the Android operating system itself, and there by other applications.&amp;#160; You can &lt;a title="Android Day Twenty Seven Initial Source Code" href="http://chrisrisner.com/upload/DayTwentySevenInitial.zip"&gt;download the starter code we’ll be using today here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Checking for Intent Responders&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Yesterday I demonstrated how to do a number of different things via &lt;strong&gt;Intent&lt;/strong&gt;.&amp;#160; I also specified that for many of them, you’d want to test on an actual device and not the emulator because the emulator doesn’t have the necessary components installed.&amp;#160; For example, the emulator doesn’t have the &lt;strong&gt;Android Marketplace.&amp;#160; &lt;/strong&gt;Sicne the market isn’t installed, there isn’t any (easy) way to install applications to the emulator.&amp;#160; Open up your &lt;strong&gt;src/com.daytwentyseven/DayTwentySevenActivity.java &lt;/strong&gt;class and locate &lt;strong&gt;button2&lt;/strong&gt;’s &lt;strong&gt;onClickListener&lt;/strong&gt;.&amp;#160; Let’s add the code back in that will launch the &lt;strong&gt;Android Marketplace&lt;/strong&gt; application and search for an app:&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;button2.setOnClickListener(&lt;span class="kwrd"&gt;new&lt;/span&gt; OnClickListener() {            &lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;public...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span stlye="float: left"&gt;Read the rest of the article &lt;a href="http://chrisrisner.com/31-Days-of-Android--Day-27–Intents-Part-2"&gt;here.&lt;/a&gt;&lt;/span&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vsqcsz3OazFuNMZOP3TtkkOBapo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vsqcsz3OazFuNMZOP3TtkkOBapo/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/vsqcsz3OazFuNMZOP3TtkkOBapo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vsqcsz3OazFuNMZOP3TtkkOBapo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chrisrisnercom/~4/EZKMnAejusU" height="1" width="1"/&gt;</description><pubDate>Sat, 17 Dec 2011 21:19:00 GMT</pubDate><feedburner:origLink>http://chrisrisner.com/31-Days-of-Android--Day-27–Intents-Part-2</feedburner:origLink></item></channel></rss>

