<?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.timlaytonllc.com/~d/styles/itemcontent.css"?><rss xmlns:atom="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" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-6400333370831647304</atom:id><lastBuildDate>Tue, 14 Feb 2012 05:30:58 +0000</lastBuildDate><category>flash</category><category>pc</category><category>Internet Explorer 7</category><category>visual basic</category><category>blogspot</category><category>Mozilla Firefox</category><category>filemaker pro 11</category><category>privacy</category><category>adobe</category><category>avd</category><category>electronic business cards</category><category>Apple</category><category>picasa</category><category>information security</category><category>carbonite</category><category>Mac OSX Cocoa</category><category>video</category><category>project scope</category><category>eclipse</category><category>windows Mobile</category><category>actionscript</category><category>visual c#</category><category>xp</category><category>backup</category><category>business</category><category>PDF</category><category>adt</category><category>solid state hard drives</category><category>security</category><category>AIR</category><category>Microsoft Excel</category><category>IE security</category><category>Java Fundamentals</category><category>visual Studio</category><category>flex</category><category>SDK</category><category>garageband</category><category>palm pre</category><category>iPhone</category><category>Firefox</category><category>iTunes</category><category>internet safety</category><category>text</category><category>microsoft office</category><category>mac</category><category>palm</category><category>OOP</category><category>The Workplace</category><category>vista</category><category>google</category><category>iWork</category><category>windows mobile marketplace</category><category>Samsung Galaxy Player</category><category>spybot</category><category>xmarks</category><category>os x</category><category>AVG</category><category>XNA</category><category>urban legend</category><category>Leopard</category><category>App Inventor for Android</category><category>excel</category><category>DragonFire SDK</category><category>Objective-C</category><category>hoax</category><category>spyware</category><category>forms</category><category>windows</category><category>DVD</category><category>Android</category><category>Windows 7</category><category>Google Wave</category><category>photoshop</category><category>programming</category><category>identity protection</category><category>Microsoft Word</category><category>bookmarks</category><category>Java</category><category>sql server</category><category>Snow Leopard</category><category>kindle</category><category>C#</category><category>outlook</category><category>Internet Explorer 8</category><category>antivirus</category><category>blogger</category><category>Database</category><category>mobile computing</category><category>identity</category><category>twitter</category><category>Microsoft Access</category><category>icon</category><category>file conversion</category><category>Cocoa</category><category>dock bar</category><category>vote</category><category>IE</category><category>web site</category><category>iPad</category><category>WPF</category><category>gmail</category><category>mac os X</category><category>Lessons</category><title>Tim Layton - IT &amp; Technology Blog</title><description /><link>http://techtips.timlaytonllc.com/</link><managingEditor>noreply@blogger.com (Display Name)</managingEditor><generator>Blogger</generator><openSearch:totalResults>151</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/rss+xml" href="http://feeds.timlaytonllc.com/TimLayton" /><feedburner:info uri="timlayton" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>TimLayton</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-8278827440304137912</guid><pubDate>Sun, 06 Nov 2011 14:54:00 +0000</pubDate><atom:updated>2011-11-06T08:54:31.325-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">icon</category><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">SDK</category><category domain="http://www.blogger.com/atom/ns#">google</category><title>How to Make a Custom Icon for Your Android App &amp; Design Considerations</title><description>In this video lesson Tim Layton walks you through how to make a custom icon for your Android app and the variables that you need to consider for different resolutions and formats. Tim also discusses the current population of devices by OS version and hardware type to help you form a strategy for your development efforts.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe frameborder="0" height="480" src="http://www.youtube.com/embed/N9aYHNBNeE0" width="640"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
The "Android Programming in 10 Days" series helps developers learn the skills they need to write Android applications for mobile phones, tablets and devices. Android has never been more popular and with the release of API 14 "&lt;a href="http://developer.android.com/sdk/android-4.0-highlights.html" target="_blank" title="Google API 14 Ice Cream Sandwich"&gt;Ice Cream Sandwich&lt;/a&gt;" developers can now create applications for all Android devices in a single environment.&lt;br /&gt;
&lt;br /&gt;
Android 4.0 brings a unified UI framework that lets developers create elegant, innovative apps for phones, tablets, and more. It includes all of the familiar Android 3.x interface elements and APIs — fragments, content loaders, Action Bar, rich notifications, resizable home screen widgets, and more — as well as new elements and APIs.&lt;br /&gt;
&lt;br /&gt;
For developers, the unified UI framework in Android 4.0 means new UI tools, consistent design practices, simplified code and resources, and streamlined development across the range of Android-powered devices.&lt;br /&gt;
&lt;br /&gt;
For Android specific information visit Tim's portal at &lt;a href="http://www.learnandroidsdk.com/" title="Learn Android Programming in 10 Days"&gt;http://www.learnandroidsdk.com&lt;/a&gt; and for all of Tim's IT tips and programming lessons visit &lt;a href="http://techtips.timlaytonllc.com/" target="_blank" title="Tech Tips by Tim Layton Sr."&gt;http://techtips.timlaytonllc.com&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Tim Layton&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-8278827440304137912?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/FyW60dnxx3Y" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/FyW60dnxx3Y/how-to-make-custom-icon-for-your.html</link><author>noreply@blogger.com (Display Name)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/N9aYHNBNeE0/default.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://techtips.timlaytonllc.com/2011/11/how-to-make-custom-icon-for-your.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-7592920719093563380</guid><pubDate>Fri, 04 Nov 2011 22:19:00 +0000</pubDate><atom:updated>2011-11-04T17:19:08.373-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">eclipse</category><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">SDK</category><category domain="http://www.blogger.com/atom/ns#">google</category><title>Testing Your Android Development Environment</title><description>In this training video Tim Layton walks you through testing your installed and configured Android development environment before moving onto the programming lessons.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe frameborder="0" height="360" src="http://www.youtube.com/embed/--Oa1K4bbZo" width="640"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
The "Android Programming in 10 Days" series helps developers learn the skills they need to write Android applications for mobile phones, tablets and devices. Android has never been more popular and with the release of API 14 "&lt;a href="http://developer.android.com/sdk/android-4.0-highlights.html" target="_blank" title="Google API 14 Ice Cream Sandwich"&gt;Ice Cream Sandwich&lt;/a&gt;" developers can now create applications for all Android devices in a single environment.&lt;br /&gt;
&lt;br /&gt;
Android 4.0 brings a unified UI framework that lets developers create elegant, innovative apps for phones, tablets, and more. It includes all of the familiar Android 3.x interface elements and APIs — fragments, content loaders, Action Bar, rich notifications, resizable home screen widgets, and more — as well as new elements and APIs.&lt;br /&gt;
&lt;br /&gt;
For developers, the unified UI framework in Android 4.0 means new UI tools, consistent design practices, simplified code and resources, and streamlined development across the range of Android-powered devices.&lt;br /&gt;
&lt;br /&gt;
For Android specific information visit Tim's portal at &lt;a href="http://www.learnandroidsdk.com/" title="Learn Android Programming in 10 Days"&gt;http://www.learnandroidsdk.com&lt;/a&gt; and for all of Tim's IT tips and programming lessons visit &lt;a href="http://techtips.timlaytonllc.com/" target="_blank" title="Tech Tips by Tim Layton Sr."&gt;http://techtips.timlaytonllc.com&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tim Layton&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-7592920719093563380?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/acDCDBsLcdw" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/acDCDBsLcdw/testing-your-android-development.html</link><author>noreply@blogger.com (Display Name)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/--Oa1K4bbZo/default.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://techtips.timlaytonllc.com/2011/11/testing-your-android-development.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-1999309877769174401</guid><pubDate>Fri, 04 Nov 2011 01:41:00 +0000</pubDate><atom:updated>2011-11-04T17:18:30.289-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">adt</category><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">SDK</category><category domain="http://www.blogger.com/atom/ns#">google</category><title>How to Install Eclipse and the Android Developer Tool (ADT) Plugin</title><description>In this training video Tim Layton presents and then walks you through the process of installing &lt;a href="http://www.eclipse.org/" target="_blank" title="Eclipse IDE"&gt;Eclipse&lt;/a&gt; and the ADT (Android Developer Tool) plugin for your Android development environment.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe frameborder="0" height="360" src="http://www.youtube.com/embed/--Oa1K4bbZo" width="640"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
The "Android Programming in 10 Days" series helps developers learn the skills they need to write Android applications for mobile phones, tablets and devices. Android has never been more popular and with the release of API 14 "&lt;a href="http://developer.android.com/sdk/android-4.0-highlights.html" target="_blank" title="Google API 14 Ice Cream Sandwich"&gt;Ice Cream Sandwich&lt;/a&gt;" developers can now create applications for all Android devices in a single environment.&lt;br /&gt;
&lt;br /&gt;
Android 4.0 brings a unified UI framework that lets developers create elegant, innovative apps for phones, tablets, and more. It includes all of the familiar Android 3.x interface elements and APIs — fragments, content loaders, Action Bar, rich notifications, resizable home screen widgets, and more — as well as new elements and APIs.&lt;br /&gt;
&lt;br /&gt;
For developers, the unified UI framework in Android 4.0 means new UI tools, consistent design practices, simplified code and resources, and streamlined development across the range of Android-powered devices.&lt;br /&gt;
&lt;br /&gt;
For Android specific information visit Tim's portal at &lt;a href="http://www.learnandroidsdk.com/" title="Learn Android Programming in 10 Days"&gt;http://www.learnandroidsdk.com&lt;/a&gt; and for all of Tim's IT tips and programming lessons visit &lt;a href="http://techtips.timlaytonllc.com/" target="_blank" title="Tech Tips by Tim Layton Sr."&gt;http://techtips.timlaytonllc.com&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tim Layton&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-1999309877769174401?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/bMXAEDzYguE" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/bMXAEDzYguE/how-to-install-eclipse-and-android.html</link><author>noreply@blogger.com (Display Name)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/--Oa1K4bbZo/default.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://techtips.timlaytonllc.com/2011/11/how-to-install-eclipse-and-android.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-4431763573433500443</guid><pubDate>Thu, 03 Nov 2011 22:10:00 +0000</pubDate><atom:updated>2011-11-03T17:10:06.346-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">SDK</category><category domain="http://www.blogger.com/atom/ns#">google</category><category domain="http://www.blogger.com/atom/ns#">avd</category><title>How to Configure AVD (Android Virtual Devices)</title><description>In this training video Tim Layton presents and then walks you through the process of configuring AVD's (Android Virtual Devices) for your Android development environment.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe frameborder="0" height="360" src="http://www.youtube.com/embed/u6Uu4ivBLQ0" width="640"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
The "Android Programming in 10 Days" series helps developers learn the skills they need to write Android applications for mobile phones, tablets and devices. Android has never been more popular and with the release of API 14 "&lt;a href="http://developer.android.com/sdk/android-4.0-highlights.html" target="_blank" title="Google API 14 Ice Cream Sandwich"&gt;Ice Cream Sandwich&lt;/a&gt;" developers can now create applications for all Android devices in a single environment.&lt;br /&gt;
&lt;br /&gt;
Android 4.0 brings a unified UI framework that lets developers create elegant, innovative apps for phones, tablets, and more. It includes all of the familiar Android 3.x interface elements and APIs — fragments, content loaders, Action Bar, rich notifications, resizable home screen widgets, and more — as well as new elements and APIs.&lt;br /&gt;
&lt;br /&gt;
For developers, the unified UI framework in Android 4.0 means new UI tools, consistent design practices, simplified code and resources, and streamlined development across the range of Android-powered devices.&lt;br /&gt;
&lt;br /&gt;
For Android specific information visit Tim's Android portal at &lt;a href="http://www.learnandroidsdk.com/" title="Learn Android Programming in 10 Days"&gt;http://www.learnandroidsdk.com&lt;/a&gt; and for all of Tim's IT tips and programming lessons visit &lt;a href="http://techtips.timlaytonllc.com/" target="_blank" title="Tech Tips by Tim Layton Sr."&gt;http://techtips.timlaytonllc.com&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Tim Layton&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-4431763573433500443?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/7fV_Y1avMnA" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/7fV_Y1avMnA/how-to-configure-avd-android-virtual.html</link><author>noreply@blogger.com (Display Name)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/u6Uu4ivBLQ0/default.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://techtips.timlaytonllc.com/2011/11/how-to-configure-avd-android-virtual.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-4688765817098524788</guid><pubDate>Thu, 03 Nov 2011 14:11:00 +0000</pubDate><atom:updated>2011-11-03T17:00:05.380-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">programming</category><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">SDK</category><category domain="http://www.blogger.com/atom/ns#">google</category><title>How to Install Android SDK</title><description>In this training video Tim Layton walks you through the system requirements and how to install the Android SDK tools on your system as part of the Android system development environment.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe frameborder="0" height="360" src="http://www.youtube.com/embed/8HHF9eGpJSU" width="640"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
In this video Tim walks you through the process of installing the most current release of the Android SDK.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/zTh1i-7D75o" width="640"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
The "&lt;a href="http://www.learnandroidsdk.com/" target="_blank"&gt;Android Programming in 10 Days&lt;/a&gt;" series helps developers learn the skills they need to write Android applications for mobile phones, tablets and devices. Android has never been more popular and with the release of API 14 "&lt;a href="http://developer.android.com/sdk/android-4.0-highlights.html" target="_blank" title="Google API 14 Ice Cream Sandwich"&gt;Ice Cream Sandwich&lt;/a&gt;" developers can now create applications for all Android devices in a single environment.&lt;br /&gt;
&lt;br /&gt;
Android 4.0 brings a unified UI framework that lets developers create elegant, innovative apps for phones, tablets, and more. It includes all of the familiar Android 3.x interface elements and APIs — fragments, content loaders, Action Bar, rich notifications, resizable home screen widgets, and more — as well as new elements and APIs.&lt;br /&gt;
&lt;br /&gt;
For developers, the unified UI framework in Android 4.0 means new UI tools, consistent design practices, simplified code and resources, and streamlined development across the range of Android-powered devices.&lt;br /&gt;
&lt;br /&gt;
For Android specific information visit Tim's portal at &lt;a href="http://www.learnandroidsdk.com/" title="Learn Android Programming in 10 Days"&gt;http://www.learnandroidsdk.com&lt;/a&gt; and for all of Tim's IT tips and programming lessons continue to visit &lt;a href="http://techtips.timlaytonllc.com/" target="_blank" title="Tech Tips by Tim Layton Sr."&gt;http://techtips.timlaytonllc.com&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Tim Layton&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-4688765817098524788?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/ny96myWaKBA" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/ny96myWaKBA/how-to-install-android-sdk.html</link><author>noreply@blogger.com (Display Name)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/8HHF9eGpJSU/default.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://techtips.timlaytonllc.com/2011/11/how-to-install-android-sdk.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-1986297055549570851</guid><pubDate>Wed, 02 Nov 2011 21:21:00 +0000</pubDate><atom:updated>2011-11-02T16:21:46.737-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">SDK</category><category domain="http://www.blogger.com/atom/ns#">google</category><category domain="http://www.blogger.com/atom/ns#">Samsung Galaxy Player</category><title>Using the New Samsung Galaxy 4 Player for Android Development</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-TfdHHIVpy3U/TrGtmeXybHI/AAAAAAAAGOE/mOnL292a3Bg/s1600/Screen+shot+2011-11-02+at+3.34.09+PM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="190" src="http://1.bp.blogspot.com/-TfdHHIVpy3U/TrGtmeXybHI/AAAAAAAAGOE/mOnL292a3Bg/s200/Screen+shot+2011-11-02+at+3.34.09+PM.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;If you are exploring &lt;a href="http://developer.android.com/index.html" target="_blank"&gt;Android&lt;/a&gt; development or even a seasoned Android developer, you have had limited and very expensive options for testing your applications on a real device until now.&amp;nbsp; If you have done much development you know the simulator, even though it has been improved, is still a long stretch from speed and viability as compared to a real device.&amp;nbsp; The new &lt;a href="http://www.samsung.com/us/mobile/mp3-players/YP-G1CWY/XAA" target="_blank"&gt;Samsung Galaxy 4 Player&lt;/a&gt; is the perfect option for Android developers in my opinion.&amp;nbsp; I picked one up today and I will keep you posted as I use it in my development efforts.&amp;nbsp; Samsung also made a 5" version as well.&amp;nbsp; The 4" version was $229 USD at my local Best Buy and the 5" was $269.&amp;nbsp; I personally elected to go with the 4" version because it was more like a typical phone size and I felt this was more flexible for my testing process.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Both of these Android &lt;a href="http://developer.android.com/resources/dashboard/platform-versions.html" target="_blank"&gt;Gingerbread&lt;/a&gt;-based devices (2.3.5) closely resemble an  Android smartphone, and that is why I think either one of these devices can be a good option for developers.&amp;nbsp; The equivalent smartphone was $350 more, making this even more attractive.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
The Galaxy Players can be a great choice for someone who already has a phone  but wants all the perks of Android as well as access to the apps in  Android Market without having to sign a two-year contract and deal with the horrific termination fees that continue to grow from the various service providers.&lt;br /&gt;
&lt;br /&gt;
Both devices have a 1 GHz CPU, 512 MB of RAM, 8 GB of storage  memory, expandable with microSD memory cards (up to 32 GB) and cameras on the front and back of the unit. The Player 4 has a WVGA 4.0" display (800x480) in addition to a handy FM tuner, GPS, and a multi-touch screen.&amp;nbsp; The 4 inch unit weighs in at a whopping 4.27 ounces!&lt;br /&gt;
&lt;br /&gt;
One of the things that I like is being able to view Adobe®  Flash® Player compatible websites. Both units are fully integrated with services like  Google Maps™ and YouTube™, and you can search, view, and easily download any  of the over 250,000 apps available in Android Market.&lt;br /&gt;
&lt;br /&gt;
For a full listing of technical &lt;a href="http://www.samsung.com/us/mobile/mp3-players/YP-G1CWY/XAA-specs" target="_blank"&gt;specifications&lt;/a&gt; visit the Samsung site. &lt;br /&gt;
&lt;br /&gt;
For Android specific information visit my portal at &lt;a href="http://www.learnandroidsdk.com/" title="Learn Android Programming in 10 Days"&gt;http://www.learnandroidsdk.com&lt;/a&gt; and for all of my IT tech tips and programming lessons visit &lt;a href="http://techtips.timlaytonllc.com/" target="_blank" title="Tech Tips by Tim Layton Sr."&gt;http://techtips.timlaytonllc.com&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Tim Layton&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-1986297055549570851?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/jez-VOxvKjA" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/jez-VOxvKjA/using-new-samsung-galaxy-4-player-for.html</link><author>noreply@blogger.com (Display Name)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-TfdHHIVpy3U/TrGtmeXybHI/AAAAAAAAGOE/mOnL292a3Bg/s72-c/Screen+shot+2011-11-02+at+3.34.09+PM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://techtips.timlaytonllc.com/2011/11/using-new-samsung-galaxy-4-player-for.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-5145624120732647658</guid><pubDate>Wed, 02 Nov 2011 16:31:00 +0000</pubDate><atom:updated>2011-11-02T11:31:21.774-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Java</category><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">google</category><title>Introducing "Learn Android Programming in 10 Days"</title><description>I am publishing a new series "Android Programming in 10 Days" helping developers learn the skills they need to write Android applications for mobile phones, tablets and devices. Android has never been more popular and with the release of API 14 "&lt;a href="http://developer.android.com/sdk/android-4.0-highlights.html" target="_blank" title="Google API 14 Ice Cream Sandwich"&gt;Ice Cream Sandwich&lt;/a&gt;" developers can now create applications for all Android devices in a single environment.&lt;br /&gt;
&lt;br /&gt;
Android 4.0 brings a unified UI framework that lets developers create elegant, innovative apps for phones, tablets, and more. It includes all of the familiar Android 3.x interface elements and APIs — fragments, content loaders, Action Bar, rich notifications, resizable home screen widgets, and more — as well as new elements and APIs.&lt;br /&gt;
&lt;br /&gt;
For developers, the unified UI framework in Android 4.0 means new UI tools, consistent design practices, simplified code and resources, and streamlined development across the range of Android-powered devices.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe frameborder="0" height="360" src="http://www.youtube.com/embed/kBYk1AL73z4" width="640"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
For Android specific information visit my portal at &lt;a href="http://www.learnandroidsdk.com/" title="Learn Android Programming in 10 Days"&gt;http://www.learnandroidsdk.com&lt;/a&gt; and for all of my IT tech tips and programming lessons visit &lt;a href="http://techtips.timlaytonllc.com/" target="_blank" title="Tech Tips by Tim Layton Sr."&gt;http://techtips.timlaytonllc.com&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Tim Layton&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-5145624120732647658?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/5cxekc6fV4Q" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/5cxekc6fV4Q/introducing-learn-android-programming.html</link><author>noreply@blogger.com (Display Name)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/kBYk1AL73z4/default.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://techtips.timlaytonllc.com/2011/11/introducing-learn-android-programming.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-1595858977436609420</guid><pubDate>Fri, 29 Apr 2011 01:48:00 +0000</pubDate><atom:updated>2011-04-28T20:48:01.790-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Java Fundamentals</category><title>Java Fundamentals - Lesson 2 (Coding Basics)</title><description>&lt;b&gt;Java Fundamentals&lt;/b&gt; is a modular series of programming lessons   designed by  Tim Layton to help you learn Java fundamentals which are   required for  effective Android mobile programming.&amp;nbsp; If you want to   pursue other Java related programming opportunities then this series   will also prove to be helpful for you as well.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In Lesson 2 of Java Fundamentals Tim Layton helps you begin to get your  arms around Java development by walking you through some important  programming basics. Before you can develop real-world OOP programs in  Java or Android a developer must understand the foundational topics in  the target language and be able to use this knowledge as second nature.  Tim introduces several key topics in Lesson 2 to include: identifiers,  code blocks, class declaration, primitive data types (int and double),  numeric variables, arithmetic operators, if and for statements and  string variables.&lt;br /&gt;
&lt;br /&gt;
You can download Java Fundamentals - Lesson 2 - (Coding Basics) in &lt;a href="http://www.lulu.com/product/ebook/java-fundamentals---lesson-2-%28epub%29/15550843"&gt;&lt;b&gt;ePub&lt;/b&gt;&lt;/a&gt; format from my lulu storefront.&amp;nbsp; It is also available in &lt;a href="http://www.lulu.com/product/media-download/java-fundamentals---lesson-2-%28pdf%29/15572377"&gt;&lt;b&gt;PDF&lt;/b&gt;&lt;/a&gt; format for those that don't have the ability to read digital ePub files.&amp;nbsp; The Amazon &lt;a href="http://www.amazon.com/Java-Fundamentals-Lesson-Coding-ebook/dp/B004XWB5FU/ref=sr_1_3?ie=UTF8&amp;amp;qid=1304041135&amp;amp;sr=8-3"&gt;&lt;b&gt;Kindle&lt;/b&gt;&lt;/a&gt;  book can be purchased directly from amazon.com.&amp;nbsp;  The Kindle book can  be viewed on any device and computing platform  supported.&amp;nbsp; The Kindle  application works on the PC, Mac, iPhone, iPad,  iPod, Blackberry,  Android devices.&lt;br /&gt;
&lt;br /&gt;
You can also &lt;a href="http://www.lulu.com/product/media-download/java-fundamentals-lesson-2---hd-video/15550735"&gt;download&lt;/a&gt; the HD video lesson from my lulu store. &lt;br /&gt;
&lt;br /&gt;
If you have read the &lt;a href="http://techtips.timlaytonllc.com/2011/04/java-fundamentals-introduction.html" target="_blank"&gt;Introduction&lt;/a&gt; lesson you may want to do that now and also make sure your software is installed and configured as outlined in this lesson.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Introduction&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
In lesson 2 of Java Fundamentals Tim Layton helps you begin to get your arms around Java development by walking you through some important programming basics.&amp;nbsp; Before you can develop real-world OOP programs in Java or Android a developer must understand the foundational topics in the target language and be able to use this knowledge as second nature.&amp;nbsp; Tim introduces several key topics in Lesson 2 to include: identifiers, code blocks, class declaration, primitive data types (int and double), numeric variables, arithmetic operators, if and for statements and string variables.&amp;nbsp; As with all of Tim’s Java Fundamentals lessons he also shows you how to use these concepts via a customized video tutorial.&amp;nbsp;&amp;nbsp;&amp;nbsp; One advantage of the Java Fundamentals series being published in electronic format is the ability to provide links to external resources allowing you to quickly follow them within the context of the lesson.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
I want to remind the readers of my Java Fundamentals series that I created this series of lessons specifically for aspiring Android mobile developers.&amp;nbsp; At first glance new Android developers may think they can jump right in after they get Eclipse installed and the ADT plugin working.&amp;nbsp; While that may be true for a few seasoned OOP developers most will find they keep falling short because of the obvious Java underpinnings.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
My goal with this series is to find the right balance of information to help make you a better Android mobile application developer by teaching you what I believe to be the most important fundamentals of Java that relates to real-world Android programming.&amp;nbsp; If I were trying to teach you how to become a Java SE or EE developer I would dig much deeper on certain topics.&amp;nbsp; For example, when I discuss reading input from the Scanner class I don’t explain this in depth because as an Android mobile developer you will not be using this class, however you benefit from this information at a high level because it teaches you the basics of getting input from your user and coding statements around your requirements.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
I want you to think about your future Android mobile application projects from an Object-Oriented Design and Analysis mindset.&amp;nbsp; I will organically help you do that by introducing and discussing the key aspects of OOP programming throughout the series.&amp;nbsp; The knowledge you gain about classes, objects, methods, inheritance and traditional procedural programming constructs will make you a strong OOP and Android developer.&amp;nbsp; However, I am delivering basic procedural programming concepts such as variables, strings, if/else statements, for loops, and while statements in this series before delving too deeply into OOP.&amp;nbsp; I don’t need to teach you the Java specific OOP programming to make you a great Android developer but it will make your learning curve much shorter once you dig into the Android SDK.&amp;nbsp; You simply need to fully understand the theory and know how to mechanically implement these concepts in the context of the Android SDK.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
I hope you find the balance I have chosen to be helpful and I am always interested in your feedback and comments.&amp;nbsp; After I complete the Java Fundamentals series I will publish a series specifically targeting Android mobile developers with the sole purpose of showing you how to code with the Android SDK in Eclipse.&amp;nbsp; This is where the rubber meets the road for Android developers.&amp;nbsp; For now, press on and build a strong foundation as your hard work will pay off. &lt;br /&gt;
&lt;br /&gt;
Based on experience you must possess the following Java skills in order to develop real Android applications: flow control (if, if/else, while, case, for loops, etc); OOP experience with classes, objects, methods, packages and data members; a working understanding of public, private and protected; scope of variables; threads; file i/o; generics; interfaces.&amp;nbsp; If you have not mastered these skills then you need to develop them at least on a conceptual level and understand them before you can develop any type of unique and custom Android mobile application.&amp;nbsp; I am not suggesting that you must possess gross experience in these areas, but at a minimum fully understand them and then be ready to add a lot more from an Android SDK perspective.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Each lesson includes an electronic lesson document in PDF, ePub and Kindle formats which are supported by video tutorials hosted on my public YouTube channel.&amp;nbsp; The Java Fundamentals series is available via Amazon.com for Kindle supported devices (e.g., Kindle reader, PC, Mac, etc.).&amp;nbsp; Any book reader device that supporting ePub files will also be compatible.&amp;nbsp; Keep in mind that Kindle readers are not able to play the YouTube videos so I would suggest using the Kindle application that is available for your computer or device that can play YouTube videos.&amp;nbsp; Access to the video tutorials are limited to the availability of YouTube and your local Internet access.&amp;nbsp; If you desire you can download any of the lessons in the Java Fundamentals series for $4.99 each in any of the support formats which includes the full lesson text and links to the video tutorials.&amp;nbsp; If you only want the videos, you can download them in HD format for $2.99 each from my lulu storefront.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Coding Basics&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In this chapter I will introduce you to some very important coding basics and walk you through some example code to illustrate the lesson objectives.&amp;nbsp; I will discuss identifiers, statements, class declaration, numeric variables, primitive data types, arithmetic operators, order of precedence, and string variables.&amp;nbsp;&amp;nbsp; These concepts are core to any type of programming and will start you off on the right path.&amp;nbsp; It would be impossible to develop Android mobile applications without this type of knowledge.&amp;nbsp; &lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
A Few Reminders&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In the last lesson I introduced how to create comments in your code and the difference between single line comments with the double-slash “//” and comment blocks using the “/* ... */” .&amp;nbsp; If you recall the double-slash approach comments directly after the slashes to the end of the line and the comment block approach works best for large comment areas as well as Javadoc entries.&amp;nbsp; My point for bringing this up is to remind you to comment your code aggressively because as time passes you won’t likely even remember writing your own code.&amp;nbsp; Get in the habit of commenting from the beginning and all will be good.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
I also wanted to remind you that Java is case sensitive.&amp;nbsp; This might sound very obvious but I promise you that all of us make simple mistakes like not paying attention to case sensitivity and in the beginning it can be a huge waste of time tracking down these errors.&amp;nbsp; My advice is to take your time and be careful.&amp;nbsp; I usually keep a piece of scratch paper next to my desktop where I jot down the variables or constants that I am working with as a way to keep them straight in my mind.&amp;nbsp; &lt;br /&gt;
Identifiers &amp;amp; Java Keywords&lt;br /&gt;
&lt;br /&gt;
Java identifiers are literally the names that you use within your programs.&amp;nbsp; The one catch is that you cannot use an identifier that is already a Java keyword.&amp;nbsp; Keywords are reserved identifiers that Java has set aside for the language.&amp;nbsp; There are only 50 of them so you will quickly start to remember them off the top of your head without much trouble.&amp;nbsp; Oracle provides a full list of the Java keywords and the history of when they were introduced.&amp;nbsp; There are a couple of things you should know before we jump in and start using identifiers.&amp;nbsp; Even though const and goto are not currently used they are still keywords and considered reserved.&amp;nbsp; Literals such as null, true and false cannot be used as identifiers in your programs as well.&amp;nbsp; There is a listing on Wikipedia that you may want to refer to as well so I have included the link here and provided the listing below for your reference.&amp;nbsp; The definitive source is always the documentation for the language itself so keep that in mind. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Statements&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
When we refer to statements in Java we are referring to your “code”.&amp;nbsp; A statement has a purpose in your program and is to be executed and at times based on criteria.&amp;nbsp; An example from our first program Hello Java would be the System.out.println(“Hello Java!); statement.&amp;nbsp; These types of statements must be terminated with a semi-colon.&amp;nbsp; Another example would be the creation of an object: Car myCar = new Car;.&amp;nbsp; These types of statements are considered to be expression statements.&amp;nbsp; &lt;br /&gt;
There are also declaration and control flow statements.&amp;nbsp; In a declaration statement you would be declaring a variable.&amp;nbsp; For example: int a = 1;.&amp;nbsp; A control flow statement which we have not covered yet would be a block of code between braces.&amp;nbsp; An example would be an if/else statement that executes a segment of code based on the current state of your test.&amp;nbsp; Don’t worry about the specifics right now because I will be covering all of this in detail in the lesson series.&amp;nbsp; My goal was to introduce you to the term “statement” so that when I make reference to it in the future you will understand.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Declaring a Class&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
You were introduced to the concept of a class and you actually created two classes in lesson 1 for our Hello Java program.&amp;nbsp; I wanted to provide you with the key points around declaring a class so that you will be comfortable when we write our programs throughout this series.&amp;nbsp; All class files must be stored as a .java extension.&amp;nbsp; The class name must start with a capital letter and you can only use letters and numbers in the name.&amp;nbsp; You learned in lesson 1 when we compiled our two class files with the .java extensions that the compiler made two files with the exact same name but with .class extensions.&amp;nbsp; This is the program code that is executed by the Java runtime.&amp;nbsp; Remember to think of your class as a blueprint.&amp;nbsp; You create your classes so that you can create instances of your object.&amp;nbsp; If we were an airplane manufacturer we would have blueprints for the wheel on our 747 jet.&amp;nbsp; There may be many other 747 jet’s in your fleet and even though each wheel is unique they were built from the same blueprint (class).&amp;nbsp; Each wheel is a unique instance of our Wheel class.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Your Wheel class would likely have fields (variables) representing its state and you would also likely define methods to interact with the world.&amp;nbsp; I will explain this in detail in the OOP Theory lesson so don’t worry too much about it right now.&amp;nbsp; I wanted to give you a little context about classes since we are working on the syntax right now.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
The syntax to declare a class is as follows:&lt;br /&gt;
public | private class Classname {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .... statements here ....&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
The access modifiers public and private controls the scope of your class.&amp;nbsp; In practical terms if you class is public then all of your code to include various packages have access to it.&amp;nbsp; If it is private then you would need to specify and belong to the same package.&amp;nbsp; When I introduce OOP theory in the next lesson I will be discussing scope, classes, packages and other related terms.&amp;nbsp; Keep in mind that a class must either be public or private and at least one class must be public for every Java program.&amp;nbsp; For now, I just want to make sure you know the syntax of how to declare a new class and the rest of the information will be presented as needed.&amp;nbsp; &lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
Numeric Variables&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
A variable in Java is used to store a value.&amp;nbsp; This value can be changed throughout the life of the program.&amp;nbsp; In order to use a variable you must declare its type and assign it a value to initialize it.&amp;nbsp; In some cases if you don’t initialize the value a default value will be assigned and likely not the one you wanted.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
It is beyond the scope of this lesson right now, no pun intended, but Java actually have four different kinds of variables that we will be using throughout the series.&amp;nbsp; Instance variables are not static, meaning they have a unique value for each instance of a class.&amp;nbsp; Don’t worry if you don’t fully understand this right now because all of this will make sense as I introduce it at the right time in the series.&amp;nbsp; Class variables are considered static because there is only one copy of the variable in existence.&amp;nbsp; For example if you had a class for a bicycle rim, you might have a static variable for the spokes because you would want it to always have the same number of spoke on the rim.&amp;nbsp; Local variables do not require any special keyword to declare them as local and they are only visible to the methods in which they are declared.&amp;nbsp; An example would be an integer that you would declare for a for loop.&amp;nbsp; The last type of variable is a parameter.&amp;nbsp; In our Hello Java program args is technically a parameter in the main method.&amp;nbsp; The main method was:&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main(String[] args).&amp;nbsp; In this case the args variable was the parameter to this method.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Variable Naming Rules&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
There are a few rules you must follow when naming variables:&lt;br /&gt;
variable names are case-sensitive&lt;br /&gt;
can begin with letter, $ sign or underscore (convention is to use letters)&lt;br /&gt;
subsequent characters can be letters, $ sign or underscore but avoid this&lt;br /&gt;
white space is not permitted&lt;br /&gt;
variables cannot be a keyword or reserved word&lt;br /&gt;
if your variable only consists of one work, make it all lower case (int car)&lt;br /&gt;
If your variable consists of multiple words, capitalize subsequent words first letter (int carSpeed)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Primitive Data Types&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Primitive data types is something that you will likely use on a daily basis in your programming experience.&amp;nbsp; In this lesson I will be discussing two of the primitive types, but you may want to review the full list of eight to get a little bit of a head start on future lessons.&amp;nbsp; &lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
int Data Type&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The first primitive data type that we will study is int because it is likely the most common.&amp;nbsp; Int is short for integer and represents a range of values from -2,147,483,648 to 2,147,483,647.&amp;nbsp; For most of your applications the int data type should be large enough.&amp;nbsp; As you can tell by reviewing the range of values there are no decimal places indicating we are dealing with a whole number.&amp;nbsp; The default value for the int data type is 0.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
In the video lesson I code a simple program to help illustrate the declaration and use of integer data types.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
public class JFL2a {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main(String[] args)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int var1; //declared a variable&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int var2;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int var3, var4; // two vars on the same line&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int var5 = 99; // declared and assigned on the same line.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var1 = 100; // assigned var1 a value of 100&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("var1 contains: " + var1);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var2 = var1 / 2; //var2 should hold the value of 50&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("var2 contains: " + var2);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Double Data Type&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
The double data type is used for decimal values and is considered to be a floating point type.&amp;nbsp; Its range of values is specified in section 4.2.3 of the Java Language Specification. For decimal values, this data type is generally the default choice. This data type should never be used for precise values, such as currency.&amp;nbsp; If you need very price currency values then you would need to use the BigDecimal Class.&amp;nbsp; The java.math.BigDecimal class is beyond the scope of this lesson.&amp;nbsp; The default value for the double data type is 0.0d.&amp;nbsp; &lt;br /&gt;
Assigning Values&lt;br /&gt;
&lt;br /&gt;
In order to assign a value to our int or double data types we will use the equals “=” sign.&amp;nbsp; The equals sign is an operator that is used and does not literally mean equals like you might think.&amp;nbsp; the assignment operator assigns the value on its right to the operand on its left.&amp;nbsp; To declare an int type and assign a value you would write the following statement:&lt;br /&gt;
&lt;br /&gt;
int studentExam = 1; // variable name is studentExam and has a value of 1.&lt;br /&gt;
For the double data type we would declare and initialize it in the same way:&lt;br /&gt;
double finalGrade = 88.90; // variable name is finalGrade and has a value of 88.90.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Basic Arithmetic Operators&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Now that you now how to declare and initialize int and double variables I will show you how to use some basic arithmetic operators with them.&lt;br /&gt;
Java has special operators to perform addition, subtraction, multiplication, and division.&amp;nbsp;&amp;nbsp; OI am sure you can guess which ones they are.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
+ &amp;nbsp;&amp;nbsp;&amp;nbsp; addition operator (can also be used for string concatenation--see next chapter)&lt;br /&gt;
- &amp;nbsp;&amp;nbsp;&amp;nbsp; subtraction operator&lt;br /&gt;
*&amp;nbsp;&amp;nbsp;&amp;nbsp; multiplication operator&lt;br /&gt;
/ &amp;nbsp;&amp;nbsp;&amp;nbsp; division operator&lt;br /&gt;
%&amp;nbsp;&amp;nbsp;&amp;nbsp; remainder operator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Example Program Using Integer Variables&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
If we look at a simple class example the basic operators will be revealed.&amp;nbsp; Open up Eclipse and start a new project or use your favorite text edit and create a new class called MathFun.&amp;nbsp; &lt;br /&gt;
Refer to my code below and type it in now.&lt;br /&gt;
&lt;br /&gt;
class MathFun {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main (String[] args){ // our main method&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int result = 2 + 2; // result = 4&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(result);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = result - 1; // result = 3&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(result);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = result * 3; // result = 9&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(result);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = result / 2; // result = 4&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(result);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = result + 11; // result = 15&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = result % 7; // result = 1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(result);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Now that you have the code entered into your editor compile it and run the application.&amp;nbsp; You should know how to do this, but if you can’t remember refer back to lesson 1 - Hello Java where I walk you through compiling the application.&amp;nbsp; Run your application and make sure the results are what your expected.&amp;nbsp; Use this class as a model and create your own application with new variables and values.&amp;nbsp; The more time you invest in writing your own code the faster you will reach&amp;nbsp; your goal of programming on your own.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
This application was part of the video lesson.&amp;nbsp; This application should be helpful in pointing out the differences between the integer and double data types.&lt;br /&gt;
&lt;br /&gt;
public class JFL2b {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main(String[] args) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int var1 = 100;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double var2 = 100.99;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("value of the int var is: " + var1);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("value of the dbl var is: " + var2);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var1 = var1 / 3;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var2 = var2 / 3;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("new value of the int var is: " + var1);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("new value of the dbl var is: " + var2);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(); //force new line&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Notice that var1 dropped the remainder and only"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; + " displayed the whole number.");&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Using if and for Statements&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Basic if Statement&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The basic if statement is very simple and is a tool that all programmers use to test logic within their applications of all kinds and types.&amp;nbsp; The syntax is easy and logical.&amp;nbsp; You simply use the keyword if followed by a boolean condition enclosed in a pair of parentheses.&amp;nbsp; If the boolean test is true the the following statement is executed, if false it is skipped.&amp;nbsp; For example: if(a &amp;lt; b) System.out.println("a was less than b...");&lt;br /&gt;
&lt;br /&gt;
public class JFL2c {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main(String[] args) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int a, b, c; //declared three int vars&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a = 1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b = 10;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c = 20;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //if(condition) statement&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // boolean &amp;lt;, &amp;lt;=, &amp;gt;, &amp;gt;=, ===, !=&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(a &amp;lt; b) System.out.println("a was less than b...");&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(a &amp;gt; b) System.out.println("This should not display..."); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Basic for Statement&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
The for statement is another procedural classic that is as timeless as the if statement.&amp;nbsp; The for statement is a little more complex than the if statement, but still very easy to understand.&amp;nbsp; &lt;br /&gt;
Text here... &lt;br /&gt;
&lt;br /&gt;
public class JFL2d {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main(String[] args) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //for(init; condition; iteration) statement;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int count;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(count=0; count&amp;lt;5; count++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("This is the loop counter value: " + count);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("The loop has executed 5 times as directed..."); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;br /&gt;
Strings&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
String variables are very common and you will be using them all of the time within the context of your applications.&amp;nbsp; I use strings for testing and debugging as well.&amp;nbsp; When we get further in the lesson series I will show you how and why I do that.&amp;nbsp; I wanted to introduce Strings just briefly in this lesson and also make sure you understand the difference between String variables and string literals that we have been using in our example programs.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
When you create a new string they are part of the String class as you might have guessed.&amp;nbsp; Another clue that String was a class was the capital S.&amp;nbsp; Another example from our first program “Hello Java” in lesson 1 was the System class that we used to output our string to the console: System.out.println(“Hello Java!”);.&amp;nbsp; Where println is a method that we use to output to the console and println is part of the PrintStream class. In this example “Hello Java!” is a string literal that is a an argument to the println() method.&lt;br /&gt;
&lt;br /&gt;
You may want to take a break for a moment and go follow the links to the classes that I have provided.&amp;nbsp; Just familiarize yourself with the documentation and how to navigate around.&amp;nbsp; If you are curious search for something else while you are there.&amp;nbsp; We will be learning all about String variables in the the coming lessons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Summary&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
We covered a lot of information in this lesson.&amp;nbsp; My intention is to open up the world of Java programming in a way that is accessible and ultimately helps you to become a programmer that can create your own real applications.&amp;nbsp; Learning and mastering the basics is key in any profession and in programming it is critical in my opinion.&amp;nbsp; Once you have mastered the basics and can think through how to create your own applications anything that you don’t know you should have the ability to just look up the information and apply it within the context of your specific needs.&amp;nbsp; I encourage you to create some of your own simple applications based on the information you learned in these first two lessons.&amp;nbsp; You know how to create your own classes, declare two data types and apply variables.&amp;nbsp; While the examples so far have been simple, they will become increasingly more difficult in the forthcoming lessons.&amp;nbsp; The more time that you invest writing your own applications will directly relate to your ability to not only master the lesson material but create your own applications.&amp;nbsp; In the coming lessons my plan is to continue to build on the current materials in a way that is logical and clear.&amp;nbsp; Feel free to email me with any comments or suggestions at any time.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
-Tim Layton Sr.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Video Lesson&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;iframe frameborder="0" height="338" src="http://player.vimeo.com/video/22759491?title=0&amp;amp;byline=0" width="601"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
Tim Layton&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-1595858977436609420?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/c9YjBQf8zJM" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/c9YjBQf8zJM/java-fundamentals-lesson-2-coding.html</link><author>noreply@blogger.com (Display Name)</author><thr:total>0</thr:total><feedburner:origLink>http://techtips.timlaytonllc.com/2011/04/java-fundamentals-lesson-2-coding.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-372100454079960690</guid><pubDate>Wed, 20 Apr 2011 16:08:00 +0000</pubDate><atom:updated>2011-04-20T11:08:37.595-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Java Fundamentals</category><category domain="http://www.blogger.com/atom/ns#">Android</category><title>How to Install Java JDK, Android SDK, Eclipse and ADT on Windows 7</title><description>I have received a lot of requests from Windows 7 users to help get their Java and Android development environments setup.&amp;nbsp; I have created this specific video for Windows users but you should also refer to my detailed &lt;a href="http://techtips.timlaytonllc.com/2009/12/getting-setup-for-android-development.html" target= "_blank"&gt;step-by-step article&lt;/a&gt; as well. &lt;br /&gt;
&lt;br /&gt;
I walk you through how to install and configure your Windows 7  system for Java and Android development using the Java JDK, Android  SDK, Eclipse EE IDE and ADT plugin for Android development. I show  you how to configure your PATH environment variable so Java and Android  tools work properly and then I&amp;nbsp; walk you through how to update the Android SDK to  the latest API's as well as configuring the Android emulator. Next, I step you through how to configure Eclipse for Android development. I discuss a known bug with installing the Android SDK on Windows as  well.&lt;br /&gt;
&lt;br /&gt;
I have a free programming series aimed at preparing aspiring Android developers by  learning the Java Fundamentals as a precursor before trying to approach  Android SDK app development. You can find all of those lesson here on my blog and can download the lessons and HD video for local use via my lulu store.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe frameborder="0" height="400" src="http://player.vimeo.com/video/22414732?title=0&amp;amp;byline=0&amp;amp;portrait=0&amp;amp;color=ffffff" width="600"&gt;&lt;/iframe&gt;&lt;br /&gt;
&amp;nbsp;Tim&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-372100454079960690?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/YuTsiojB3bA" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/YuTsiojB3bA/how-to-install-java-jdk-android-sdk.html</link><author>noreply@blogger.com (Display Name)</author><thr:total>0</thr:total><feedburner:origLink>http://techtips.timlaytonllc.com/2011/04/how-to-install-java-jdk-android-sdk.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-3063649590104332156</guid><pubDate>Mon, 11 Apr 2011 19:52:00 +0000</pubDate><atom:updated>2011-04-12T14:10:49.717-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Android</category><title>Android is Everywhere (or will be very soon)</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6400333370831647304&amp;amp;postID=3063649590104332156" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="149" src="http://3.bp.blogspot.com/-DBtvh5P7jLI/TaNaKeY-LuI/AAAAAAAAGAQ/xiYV4G9otCM/s200/android.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;Android is literally just about everywhere or will be very soon.&amp;nbsp; As you would expect Android has exploded in the mobile phone arena and now we are seeing success with Android powered tablets, tv's, e-reader devices like the Barnes and Noble NOOKcolor, Netbooks, MP4 Players and a host of other devices.&amp;nbsp; With Java as its base Android as a very bright future in my humble opinion. With the Java creator James Gosling working for Google now, I think we will see Android and Java taken to new heights.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
There are times in business when we look back and realize there was a window of opportunity right in front of us and we missed it.&amp;nbsp; I firmly believe that any developer that wants to harness the power and momentum of Google and Android should act now before it is too late.&amp;nbsp; In an effort to help I am currently publishing a &lt;a href="http://techtips.timlaytonllc.com/search/label/Java%20Fundamentals"&gt;Java Fundamentals&lt;/a&gt; series of lessons to help aspiring developers learn the underpinnings and basics of Java so they can be successful with Android in the real world.&amp;nbsp; Learning a new skill takes time, dedication and effort.&amp;nbsp; The sooner you start the faster you will acquire the real-world experience that it takes to produce meaningful applications.&amp;nbsp; I wish we could all snap our fingers and be Java and Android guru's, but unfortunately it doesn't work that way.&amp;nbsp;&amp;nbsp; Since all of the development tools are literally free the only real requirement is to have access to a PC, Mac, Linux or Solaris system.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
You may want to &lt;a href="http://twitter.com/timlaytonllc"&gt;follow&lt;/a&gt; me and interact with me on my &lt;a href="http://twitter.com/timlaytonllc"&gt;twitter&lt;/a&gt; feed because I will be including a lot of unique information regarding Java, Android and the courses I am developing specifically for my Twitter friends.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
If you have any questions or comments regarding my Java Fundamentals lesson series let me know.&lt;br /&gt;
&lt;br /&gt;
Tim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-3063649590104332156?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/nP_9R0YTq7k" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/nP_9R0YTq7k/android-is-everywhere-or-will-be-very.html</link><author>noreply@blogger.com (Display Name)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-DBtvh5P7jLI/TaNaKeY-LuI/AAAAAAAAGAQ/xiYV4G9otCM/s72-c/android.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://techtips.timlaytonllc.com/2011/04/android-is-everywhere-or-will-be-very.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-3281874942957496056</guid><pubDate>Mon, 11 Apr 2011 13:58:00 +0000</pubDate><atom:updated>2011-04-11T16:20:10.374-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Java Fundamentals</category><title>Java Fundaments - Further Explanation</title><description>I have received several emails from readers and I wanted to take this opportunity to further define and clarify the goals of my Java Fundamentals series.&lt;br /&gt;
&lt;br /&gt;
I created this series of lessons specifically for aspiring Android mobile developers.&amp;nbsp; At first glance new Android developers may think they can jump right in after they get Eclipse installed and the ADT plugin working.&amp;nbsp; While that may be true for a few seasoned OOP developers most will find they keep falling short because of the obvious Java underpinnings.&lt;br /&gt;
&lt;br /&gt;
My goal with this series is to find the right balance of information to help make you a better Android mobile application developer by teaching you what I believe to be the most important fundamentals of Java that relates to real-world Android programming.&amp;nbsp; If I were trying to teach you how to become a Java SE or EE developer I would dig much deeper on certain topics.&amp;nbsp; For example, when I discuss reading input from the Scanner class I don’t explain this in depth because as an Android mobile developer you will not be using this class, however you benefit from this information at a high level because it teaches you the basics of getting input from your user and coding statements around your requirements.&lt;br /&gt;
&lt;br /&gt;
I want you to think about your future Android mobile application projects from an Object-Oriented Design and Analysis mindset.&amp;nbsp; I will organically help you do that by introducing and discussing the key aspects of OOP programming throughout the series.&amp;nbsp; The knowledge you gain about classes, objects, methods, inheritance and so on will make you a strong OOP and Android developer.&amp;nbsp; However, I am delivering basic procedural programming concepts such as variables, strings, if/else statements, for loops, and while statements in this series before delving too deeply into OOP.&amp;nbsp; I don’t need to teach you the Java specific OOP programming to make you a great Android developer.&amp;nbsp; You simply need to fully understand the theory and know how to mechanically implement these concepts in the context of the Android SDK.&lt;br /&gt;
&lt;br /&gt;
Based on experience you must possess the following Java skills in order to develop real Android applications: flow control (if, if/else, while, case, for loops, etc); OOP experience with classes, objects, methods, packages and data members; a working understanding of public, private and protected; scope of variables; threads; file i/o; generics; interfaces.&amp;nbsp; If you have not mastered these skills then you need to develop them at least on a conceptual level and understand them before you can develop any type of unique and custom Android mobile application.&amp;nbsp; I am not suggesting that you must possess gross experience in these areas, but at a minimum fully understand them and then be ready to add a lot more from an Android SDK perspective.&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
I hope you find the balance I have chosen to be helpful and I am always interested in your feedback and comments.&amp;nbsp; After I complete the Java Fundamentals series I will publish a series specifically targeting Android mobile developers with the sole purpose of showing you how to code with the Android SDK in Eclipse.&amp;nbsp; This is where the rubber meets the road.&amp;nbsp; For now, press on and build a strong foundation as your hard work will pay off.&lt;br /&gt;
&lt;br /&gt;
Tim&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-3281874942957496056?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/KKK7Gmqwkn0" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/KKK7Gmqwkn0/java-fundaments-further-explanation.html</link><author>noreply@blogger.com (Display Name)</author><thr:total>0</thr:total><feedburner:origLink>http://techtips.timlaytonllc.com/2011/04/java-fundaments-further-explanation.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-6473705507189450627</guid><pubDate>Mon, 11 Apr 2011 00:37:00 +0000</pubDate><atom:updated>2011-04-10T19:37:54.813-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Java Fundamentals</category><title>Java Fundamentals - Lesson 1 - Hello Java!</title><description>&lt;b&gt;Java Fundamentals&lt;/b&gt; is a modular series of programming lessons  designed by  Tim Layton to help you learn Java fundamentals which are  required for  effective Android mobile programming.&amp;nbsp; If you want to  pursue other Java related programming opportunities then this series  will also prove to be helpful for you as well.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
In Lesson 1 Tim Layton walks you through creating your first Java application from the command line and testing your compiler.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
You can download Java Fundamentals - Lesson 1 - Hello Java! in &lt;a href="http://www.lulu.com/product/ebook/java-fundamentals---lesson-1---hello-java-%28epub%29/15391816" target="_blank"&gt;&lt;b&gt;ePub&lt;/b&gt;&lt;/a&gt; format from my lulu storefront.&amp;nbsp; It is also available in &lt;a href="http://www.lulu.com/product/media-download/java-fundamentals---lesson-1-%28pdf%29/15391834" target="_blank"&gt;&lt;b&gt;PDF&lt;/b&gt;&lt;/a&gt; format for those that don't have the ability to read digital ePub files.&amp;nbsp; The Amazon &lt;a href="http://www.amazon.com/Java-Fundamentals-Lesson-kindle-ebook/dp/B004VWKX3W/ref=sr_1_1?ie=UTF8&amp;amp;m=AG56TWVU5XWC2&amp;amp;s=digital-text&amp;amp;qid=1302476448&amp;amp;sr=1-1" target="_blank"&gt;&lt;b&gt;Kindle&lt;/b&gt;&lt;/a&gt; book can be purchased directly from amazon.com.&amp;nbsp;  The Kindle book can be viewed on any device and computing platform  supported.&amp;nbsp; The Kindle application works on the PC, Mac, iPhone, iPad,  iPod, Blackberry, Android devices.&lt;br /&gt;
&lt;br /&gt;
You can also &lt;a href="http://www.lulu.com/product/media-download/java-fundamentals-lesson-1---hd-video/15375696" target="_blank"&gt;download&lt;/a&gt; the HD video lesson from my lulu store. &lt;br /&gt;
&lt;br /&gt;
If you have read the &lt;a href="http://techtips.timlaytonllc.com/2011/04/java-fundamentals-introduction.html" target="_blank"&gt;Introduction&lt;/a&gt; lesson you may want to do that now and also make sure your software is installed and configured as outlined in this lesson. &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Introduction - Lesson 1&lt;/span&gt;&lt;br /&gt;
In lesson 1 of Java Fundamentals Tim Layton will walk you through creating your first Java application “Hello Java!”. We will be creating the source code and compiling the application from the command line or terminal window.&amp;nbsp; You will learn how to compile using the javac compiler program and how to execute your new program with the java program.&amp;nbsp; The Hello Java application will introduce the concept of using multiple class files.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Hello Java&lt;/span&gt;&lt;br /&gt;
In this chapter we will write our first simple Java program “Hello Java”.&amp;nbsp; By executing this simple program you will verify your Java development software is installed properly.&amp;nbsp; You will also gain some practical experience creating a working application that has two classes.&amp;nbsp; The main method in the HelloJava.class file calls the greeting method in a separate class file to display our text on the screen.&amp;nbsp; I will walk you through how to create the application from the command line and how to compile and ultimately run Hello Java.&amp;nbsp; I personally use a Mac, but the concept is the same whether you are using a version of Windows or Linux.&amp;nbsp; For Windows you would just simply open a command window and in Linux you would open a terminal window.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Creating the Code&lt;/span&gt;&lt;br /&gt;
Before creating our source code and compiling it there are a few items to discuss.&amp;nbsp; When I say source code or source file I am referring to text file that holds your class definition.&amp;nbsp; The source code will have the .java extension.&amp;nbsp; A class can have one or many methods that will be declared inside the curly braces within a class file.&amp;nbsp; In real-world projects you will have many classes that are required to run your programs.&amp;nbsp; A method is easily identified because it has a closing set of parentheses like this ().&amp;nbsp; For example, myMethod().&amp;nbsp; Inside our methods we have instructions which are merely a set of instructions to be executed.&amp;nbsp; If you have other programming experience you could think of methods like you would a procedure or function.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
We will be creating two files for our Hello Java program.&amp;nbsp; Our first file will be the Greeting.java class.&amp;nbsp; We create a method called greet() and output our string “Hello Java!” to the screen.&amp;nbsp; Our application HelloJava.java calls the greet() method which in turn outputs our string to the console. &lt;br /&gt;
Open your text editor of choice and create the following code.&amp;nbsp; Save your file as Greeting.java.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;public class Greeting { // our class name&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void greet() {&amp;nbsp; // declare the greet() method and make it public so it is accessible&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; // to our Test program.&amp;nbsp; We don’t return anything so make it &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; // void.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(“Hello Java!”); //greet() sends string to standard output via the &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // println() method.&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp; // close the method&lt;br /&gt;
} // close the class&lt;br /&gt;
&lt;br /&gt;
In the Greeting.java source code we used several keywords that you may not be familiar with.&amp;nbsp; For example we created our class via “public class Greeting”.&amp;nbsp; You might be wondering what all this means?&amp;nbsp; You would refer to this as a class declaration.&amp;nbsp; As previously noted every Java program must have at least one class and in our program we have two classes.&amp;nbsp; The Greeting.java is considered to be a programmer defined class.&amp;nbsp; When I discuss classes and objects in a future lesson I will review this subject in detail.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Now create your main program file called HelloJava.java in your text editor.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
public class HelloJava {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main (String[] args) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Greeting hello = new Greeting();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; hello.greet();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
In the next steps you will compile and run your program.&amp;nbsp; But, before you do that you should know that the JVM (Java Virtual Machine) will run and then look for the bytecode that was compiled from your .java source.&amp;nbsp; The JVM will run everything you coded between the curly braces in the main method that we created in our HelloJava.java program.&amp;nbsp; In effect the JVM loads the HelloJava class and starts executing from the main() method.&amp;nbsp; You have probably figured out that every Java program must have at least one class and at least one main method to execute.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
In regards to the main() method you just need to know that this is the entry point into your program.&amp;nbsp; All Java programs begin by calling main().&amp;nbsp; The keyword void in our main() method indicates that we will not be returning anything.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Every statement such as Greeting hello = new Greeting(); must be terminated with a semi-colon or you will get a compile error.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Compile the Source Code&lt;/span&gt;&lt;br /&gt;
Go to the directory where you stored your source files.&amp;nbsp; We will use the Java Compiler “javac” to compile our source code.&amp;nbsp; For example you will enter: #-&amp;gt; javac HelloJava and hit return.&amp;nbsp;&amp;nbsp;&amp;nbsp; I am using the #-&amp;gt; as my cursor and that is not something that you would type in.&amp;nbsp; Assuming you have no errors a new file was created for you.&amp;nbsp; You should see HelloJava.class and it should be in the same directory as your source file.&amp;nbsp; The Greeting.java source file was automatically compiled for you because your HelloJava makes a call to Greeting.java so therefore it is smart enough to compile it for you automatically.&amp;nbsp; Assuming there were no errors you are ready to test your application.&amp;nbsp; You can run the application by using the Java program.&amp;nbsp; Keep in mind when you configured your system in the Introduction lesson your Java tools should have been placed in your path.&amp;nbsp; To test the application type: #-&amp;gt; java HelloJava and you should see “Hello Java” output to your screen.&amp;nbsp; &lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;br /&gt;
Multiple Platforms&lt;/span&gt;&lt;br /&gt;
If you have access to another Java supported platform (e.g., PC, Solaris, Linux, Mac) then your new application should run on any or all of these assuming you have the JRE installed and up to date.&amp;nbsp; If you have the opportunity I would highly recommend you give this a try and see it for yourself.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Tips&lt;/span&gt;&lt;br /&gt;
Java is case sensitive so be sure to pay very close attention to your source code.&amp;nbsp; In other words myWord and myword are distinct.&amp;nbsp; If you get unexpected errors be sure to check this first.&amp;nbsp; You may have noticed that you can comment your code by using // before any text.&amp;nbsp; The double-slash marks can be placed at the end of your code.&amp;nbsp; To comment a block of text you would enclose your comments between a /* and a closing */.&amp;nbsp;&amp;nbsp;&amp;nbsp; The comment delimiters are known as Javadoc comments.&amp;nbsp; Javadoc comments are special because it allows the programmer to embed program documentation directly into the source code files.&amp;nbsp; The javadoc utility creates HTML documentation for your application which is a very nice feature.&amp;nbsp; For example everything between the operators below would be considered a javadoc comment and be ignored by the compiler but be included in your system documentation.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
/* Date: April 08, 2011&lt;br /&gt;
Program: Hello Java&lt;br /&gt;
Developer: Tim Layton&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
You should become very familiar with the Java documentation.&amp;nbsp; Go visit the site now and bookmark it for frequent review.&amp;nbsp; The docs are located at: &lt;a href="http://download.oracle.com/javase/6/docs/" target="_blank"&gt;http://download.oracle.com/javase/6/docs/&lt;/a&gt; and the API reference is located here: &lt;a href="http://download.oracle.com/javase/6/docs/api/"&gt;http://download.oracle.com/javase/6/docs/api/&lt;/a&gt;&lt;br /&gt;
Remember that code blocks are defined by a pair of curly braces {}.&amp;nbsp; If you forget the other curly brace you will get all sorts of compile errors.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
By default the package java.lang is imported into every Java program by default and Java does not require you to declare an import declaration for it.&amp;nbsp; You could go to the online Java API documentation and read about the package and familiarize yourself with this and the documentation in general.&amp;nbsp; Navigating and using the documentation will be a key part of your experience as a developer.&amp;nbsp; The same holds true for the Android SDK.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
You cannot begin a class name with a digit and it cannot contain spaces.&amp;nbsp; Most programmers begin class names with a capital letter and I suggest that you follow their lead.&amp;nbsp; A class name can include letters, numbers, an underscore and a dollar sign.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
In the next lesson we will begin learning about Java keywords and declaring variables in a new program.&amp;nbsp; You can view the list of keywords on the Java website now to get a head start if you would like to do that.&amp;nbsp; &lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;br /&gt;
Video Lesson&lt;/span&gt;&lt;br /&gt;
You can &lt;a href="http://www.lulu.com/product/media-download/java-fundamentals-lesson-1---hd-video/15375696"&gt;download&lt;/a&gt; the HD video lesson from my lulu store if you would like to have a local copy.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="390" src="http://www.youtube.com/embed/N518A6sdGQM?rel=0" title="YouTube video player" width="640"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Summary&lt;/span&gt;&lt;br /&gt;
You should be comfortable with creating Java source files at the command line on your operating system and know how to compile them with javac and how to execute them with java.&amp;nbsp; You are aware that Java is case sensitive and should be on the lookout to always make sure you have the proper casing in your code.&amp;nbsp; You also know how to create two different kinds of comments in your source code as well.&amp;nbsp; You can research how to use the Javadoc utility to create HTML documentation.&amp;nbsp; Don’t forget to become familiar with the Java documentation so you will want to bookmark it and have it handy at all times.&amp;nbsp; Be sure to send me comments and feedback on this course and I look forward to talking with you in the next lesson.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Tim Layton&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-6473705507189450627?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/HaU2jxb-RN0" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/HaU2jxb-RN0/java-fundamentals-lesson-1-hello-java.html</link><author>noreply@blogger.com (Display Name)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/N518A6sdGQM/default.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://techtips.timlaytonllc.com/2011/04/java-fundamentals-lesson-1-hello-java.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-2874735909293566585</guid><pubDate>Thu, 07 Apr 2011 01:32:00 +0000</pubDate><atom:updated>2011-04-08T08:46:31.627-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Java Fundamentals</category><title>Java Fundamentals - Introduction</title><description>&lt;b&gt;Java Fundamentals&lt;/b&gt; is a modular series of programming lessons designed by  Tim Layton to help you learn Java fundamentals which are required for  effective Android mobile programming.&amp;nbsp; If you want to pursue other Java related programming opportunities then this series will also prove to be helpful for you as well.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
In the Introduction lesson Tim Layton discusses why it is important to  have solid Java skills for Android mobile development. Tim walks you  through installing and configuring your Java and Android development  tools and creating a test application verifying your system is ready to  code Java and Android applications. You should have a basic idea of the  various Java products and how that relates to the various JDKs. Tim also  introduces you to basic OOP concepts that you will be learning and  using in your Android Mobile development. &lt;br /&gt;
&lt;br /&gt;
You can download Java Fundamentals - Introduction in &lt;a href="http://www.lulu.com/product/ebook/java-fundamentals---introduction/15321719"&gt;ePub&lt;/a&gt; format from my lulu storefront.&amp;nbsp; It is also available in &lt;a href="http://www.lulu.com/product/media-download/java-fundamentals---introduction-%28pdf%29/15321767"&gt;PDF &lt;/a&gt;format for those that don't have the ability to read digital ePub files.&amp;nbsp; The Amazon &lt;a href="http://www.amazon.com/Java-Fundamentals-Introduction-Kindle-ebook/dp/B004USPB1G/ref=sr_1_4?ie=UTF8&amp;amp;m=AG56TWVU5XWC2&amp;amp;s=digital-text&amp;amp;qid=1302139406&amp;amp;sr=1-4"&gt;Kindle &lt;/a&gt;book can be purchased directly from &lt;a href="http://www.amazon.com/Java-Fundamentals-Introduction-Kindle-ebook/dp/B004USPB1G/ref=sr_1_4?ie=UTF8&amp;amp;m=AG56TWVU5XWC2&amp;amp;s=digital-text&amp;amp;qid=1302139406&amp;amp;sr=1-4"&gt;amazon.com&lt;/a&gt;.&amp;nbsp; The Kindle book can be viewed on any device and computing platform supported.&amp;nbsp; The Kindle application works on the PC, Mac, iPhone, iPad, iPod, Blackberry, Android devices.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;Preface&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
My goal with the Java Fundamentals is to help aspiring Android mobile application developers build a strong foundation for the purpose of creating robust applications.  Programming in any language on any platform is complex and if anyone tells you differently they are not telling the truth.  Creating applications for the mobile platform is unique in many different ways and to try and jump in without having the basics down is not a good idea.  It will severely limit your ability to create robust applications in the future.  &lt;br /&gt;
&lt;br /&gt;
I discuss my methodology in the Course Overview chapter but I will tell you that I strongly believe that a visual approach coupled with concise written text has proven to be very effective for  many people I have helped over the years.  Some things just make sense to write down to have for review later and other things are more effectively learned by visual methods.  &lt;br /&gt;
&lt;br /&gt;
If you follow each of the lessons in this series and take personal responsibility for understanding the material before moving forward then you will be ready for my next series that I am developing specifically for Android mobile application development.  The title of that series is Android Mobile Programming.  I have developed the Java Fundamentals course to serve as a prerequisite for the Android Mobile Programming but could also serve as an introduction to any Java programming endeavor.  I have designed the course in a way that if you feel you have the working knowledge in a particular area that you can skip it if you want but I caution you to make sure you truly have mastered each specific concept because you will only hinder yourself down the road otherwise.  &lt;br /&gt;
&lt;br /&gt;
The lessons include an electronic lesson document detailing the objectives which are supported by video tutorials hosted on my public &lt;a href="http://www.youtube.com/timlaytonllc"&gt;YouTube&lt;/a&gt; channel.&amp;nbsp; Keep in mind that Kindle readers are not able to play the YouTube videos so I would suggest using the Kindle application that is available for your computer or device that can play YouTube videos.  Access to the video tutorials are limited to the availability of YouTube and  your local Internet access.  If you desire you can download any of the lessons in the Java Fundamentals series for $4.99 each which included the full lesson text and links to the video tutorials.  If you only want the videos, you can download them in HD format for $2.99 each from my lulu storefront.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Course Overview&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
In Java Fundamentals I will discuss the background of Java and some fundamental Object-Oriented Programming (OOP) concepts that will help you design better programs.  Java, Android Mobile SDK or any other serious programming endeavor requires you to build a strong foundation before pursuing more complex development projects.  The knowledge you learn in this fundamentals course can be used to develop any type of Java application from desktop applications (Java SE) to Google Android mobile apps and even Java EE (Enterprise) servlets and applications.  In the Java Fundamentals series I will teach you everything you need to build a solid working knowledge before learning the Google Android SDK (Software Development Kit).  I will also show you step-by-step how to install and configure your development tools and test it with a “Hello Android” application.  I will walk you through the OOP requirements for Java and Android Mobile SDK such as class definitions, working with inheritance and the Java essentials to include: variables, objects, arrays, control statements and much more.&lt;br /&gt;
&lt;br /&gt;
My approach for the Java Fundamentals series is to teach you what you need to know in the fewest amount of words so that you can be an effective Android Mobile developer.  I’ve written books where I have been forced to create a specific number of pages and I think the fewest words required to adequately teach the topic supported by visual content is the best method for learning a programming language.  If you want to get a good grip on Java and build a strong foundation for Android Mobile development then you are in the right place.  &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Course Description&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Java Fundamentals is a modular series of programming lessons designed by Tim Layton to help you learn Java fundamentals which are required for effective Android mobile programming.  This series of lessons will help you build a strong foundation of basic Java programming skills and knowledge ensuring your long-term success in Java and Android mobile application development.  The skills you learn in Java Fundamentals will pay dividends for years to come in your programming journey.  If you decide to tackle another language down the road, the skills you learn in Java Fundamentals will shorten your learning curve significantly.  &lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Objective&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
In this series of lessons the main objective is to help you build the working knowledge required to develop Java based applications for Android mobile applications and this also applies to any Java based path that you may want to pursue (e.g., Java SE, Java EE, Java ME).  You will build the required skills one concept at a time being lead by a 25 year veteran.    &lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Assumptions&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
I assume that you have already decided to learn either Java for desktop (Java SE) or Android mobile development but you have no practical experience.  You want to learn what you need to know from the ground up so that you can create real-world applications.  I use a Mac to code my Java and Android applications but that doesn’t matter in regards to this course.  All of the code we are writing in this course could be created in a simple text editor and compiled with the Java compiler “javac”.  &lt;br /&gt;
I prefer to use the IDE for syntax help and many other benefits that you are afforded.  If you would rather use a text editor then simply google “Java text editor” and you will have more choices than you have time to review.  I like TextWrangler for the Mac platform from Bare Bones Software located at http://www.barebones.com/products/textwrangler/ however you may want to make another selection based on your platform or requirements.  You may want to skip the text editor all together and use a full blown IDE tool such as Eclipse.  I cover the installation and configuration of your development environment in the Java Development Tools chapter.    &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;Tools&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
You can develop Java and Android applications on a variety of operating systems with the most popular being PC, Mac, Linux, and Solaris.  If you want to develop Android applications then I would strongly suggest using the Eclipse IDE (Integrated Development Environment) available from www.eclipse.org.  If you read the Google documentation on Android development they tell you the same thing.  Don’t worry about downloading this now because I cover everything you need to know in the Java Development Tools Chapter.&lt;br /&gt;
&lt;br /&gt;
If you are going to develop desktop applications (Jave SE) then you can choose between NetBeans available at www.netbeans.org or you may still prefer Eclipse.  I have used both and I am partial to NetBeans for Java SE development but forced myself to switch and standardize on Eclipse because of Android development.  The choice is up to you and you may want to explore both IDE’s before making a final decision based on your goals.  In this course I will be using the Eclipse IDE in addition to showing you how to compile on the command line with “javac” from a terminal window on my Mac.  The same would be true if you were on a Windows system by using a DOS command window.  &lt;br /&gt;
If you are developing Java applications on a Mac then you don’t need to do anything other than run your software updater to make sure you have the latest release of all your software to include any Java updates.  If you still have more questions about Java on the Mac then go to the Apple Java FAQ located at http://developer.apple.com/java/faq/.  In the Java Development Tools chapter I cover installing Eclipse and the ADT plugin in detail.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Methodology&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Based off of a two year pilot where I posted a wide variety of programming lessons on YouTube and nearly 1 million views later I have come to a couple conclusions.  I believe most newcomers to programming or programmers learning a new language don’t want to just read about how to do accomplish a specific task because we live and learn in a visual world.&lt;br /&gt;
&lt;br /&gt;
The traditional classroom mentality has proven to be a path to slow and uncertain skill development for many.  I could quote several academic studies to support what I have learned but there is no point in that because we could find others to argue my point.  If you are a visual learner and like video-based programming tutorials then you and I agree.&lt;br /&gt;
&lt;br /&gt;
Based off of my two year pilot and over 25 years of experience I have developed a solid working model that is successful in helping people learn how to program.  The right balance seems to be a small amount of text used in parallel with a video lesson to teach each concept.  I have also learned to keep the concepts small and build on each one moving towards a specific goal.  Programming is complicated and anyone that tells you otherwise is not telling you the truth.  Can you master it and make is seem easy?  Sure, but that takes time, focus, dedication and experience.  There are no silver bullets in programming, however I will help you build a successful foundation for all things Java in this Java Fundamentals series.   &lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Java - What is it?&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Java originated in 1991.  Java first started as part of a research project to develop a programming language called Oak.  The Oak team tried to develop a language that enabled consumer devices that had different CPUs.  This project failed and the programmers realized their language was a good fit for developing web and multimedia components.  These components are commonly referred to as Java applets.&lt;br /&gt;
&lt;br /&gt;
From the very beginning Java was designed to be object-oriented, simple, multithreaded, secure and most importantly, platform independent.&lt;br /&gt;
&lt;br /&gt;
Java is compiled into bytecode and is platform independent.  The bytecode (.class file) is interpreted by the Java Virtual Machine (JVM) which is platform-specific (e.g., PC, Linux, Mac, etc).  Users simply need to have the Java Runtime Environment (JRE) installed on their respective systems to execute the Java application.  By downloading the latest Java Runtime (JRE) you automatically get the JVM as well.  Java is an interpreted language as is Perl.  &lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;True-False Self Check&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Answer True or False to the following statements and then check your answers at the end of the course under the section “True-False Answers”.&amp;nbsp; &lt;br /&gt;
&lt;ul&gt;&lt;li&gt;The JVM executes platform independent code?&lt;/li&gt;
&lt;li&gt;The Java compiler converts the program source code into machine code?&lt;/li&gt;
&lt;li&gt;Java uses References instead of memory pointers to access objects?&lt;/li&gt;
&lt;li&gt;Bytecode is executed by the JVM?&lt;/li&gt;
&lt;li&gt;The JRE includes everything a user needs to execute your Java programs?&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
It is beyond the scope of this lesson series to discuss software development lifecycle methodologies but I do strongly suggest that you research this topic and apply it to your projects.  If you google “software development lifecycle” or “software development methodologies” you will be presented with many results to review and consider.&lt;br /&gt;
&lt;br /&gt;
The words or phrasing may differ among authors or formal methodologies but I would generally characterize the basic software development lifecycle as follows:  Analysis, Design, Software Development, Testing, Implementation, Maintenance, and Product end-of-life.  &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Java Technology Product Groups&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Java is also considered to be a platform.  A platform is actually a virtual platform as opposed to a physical platform eliminating the need for specific hardware to execute the code.  Software Development Kits (SDKs) are used for each product group.  Assuming you are on a platform that requires the download (i.e., not a Mac) of the SDK you will notice several different product groups.&lt;br /&gt;
You are going to see Jave SE, Jave EE, and Jave ME in your travels through Java land.  Java SE simply stands for Standard Edition and is used for developing stand-alone or desktop applications.  You can also develop Java applets which are Java programs that run in your web browser.  If you need a database in your desktop application then it will be embedded in your application as opposed to making calls to a database server.&lt;br /&gt;
&lt;br /&gt;
Java EE is the Enterprise Edition is actually built on top of Java SE and is mostly used for large scale enterprise software development.  You can also develop Java Servlet’s which are Java server-based programs that are built on the EE API libraries.&lt;br /&gt;
&lt;br /&gt;
Java ME is the Micro Edition and is used to develop applications for mobile devices and embedded devices like DVD/BlueRay players, etc.  Don’t confuse Java ME with Android development because these are two different things entirely.  For Android development you will need the Google Android SDK available at http://developer.android.com in addition to the JDK.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Defining Your Solution in Object-Oriented Terms&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
One of the most important aspects of programming does not involve the act of writing code as you might expect.  You must be a clear thinker and able to define a solution to the problem you are trying to solve.  It could be as simple as organizing your DVD movie collection or you are a retailer and need a software solution to manage your inventory.  You will use Object-Orient Analysis (OOA) to define your problem.  You may also see OOA referred to as OOAD (Object-Oriented Analysis and Design).  You will essentially be defining the classes you need for your application.  If these terms seem foreign to you, just read on and I will explain.  &lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Case Study - ABC Company&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
I will explain how to use OOAD through a case study for ABC Company.  ABC Company is a non-profit organization that collects used clothing and then resells to via a small retail shop to fund their mission.  ABC Company has grown to the point where they need a formal system to track their inventory for the purpose of collection forecasts and sales projections.  They also accept donations in the form of checks, credit cards and cash.  &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Problem Domain&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
We first start by defining the problem domain.  We do this by gathering formal requirements, defining the scope of the problem we are trying to solve, state what we hope to achieve by this project, and last but not least we will want to define the objects to help solve our problem.  &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Identifying Required Objects&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
To identify the objects in a problem domain we need to write down the properties and operations of all relevant objects.  This could be anything from physical to conceptual.  For example, let’s take the example of a shoe.  Shoes are considered to be physical objects because we can touch them.  ABC Company collects all types of shoes in their operations.  Therefore, shoe is an object.  An attribute of the shoe object could be: size, color, etc.  Attributes in OOAD lingo are considered to be current state. The current state of the shoe is blue and its size is 11.   We need to consider if our shoe object possesses any operations.  Operations are activities that an object can perform.  Operations of an object is defined as a behavior.  In our shoe example you might not think we would have any operations.  We actually do but I will explain in a later section.  For the sake of clarity if we used a car as our example  then the operations might be speed or acceleration.&lt;br /&gt;
&lt;br /&gt;
If we build on our example of collecting shoes and reselling them, our objects in the problem domain would be: shoe, customer, and order.  Now we need to define the attributes and operations for each of our objects.&lt;br /&gt;
&lt;br /&gt;
Shoe would have size and color attributes.  Customer would have name and address attributes and Order would have OrderID, CustomerID, TotalPrice attributes.  The operation for an Order object would be if a sales representative added another pair of shoes to the order.  The operation in this case belongs to the order object.&lt;br /&gt;
&lt;br /&gt;
Attributes may also have a reference to another object.  In our example you should have noticed CustomerID in our order object.  If we were really designing this solution we would be building out our relational database tables.  Our Orders table would have OrderID as the primary key, and other fields such as date and total price.  There would also be fields for shoes which is a reference to another object.  &lt;br /&gt;
Now that you have the background let’s dig in and define our objects along with their attributes and operations in a little more details and by use of a standardized method.  You can do that in any form you like but it is traditional in OOAD standards to use a table as follows:&lt;br /&gt;
&lt;br /&gt;
Object (class)&lt;br /&gt;
attributes (variables)&lt;br /&gt;
operations (methods)&lt;br /&gt;
&lt;br /&gt;
Using this table above our shoe object would be displayed as follows:&lt;br /&gt;
Shoes&lt;br /&gt;
ShoeID&lt;br /&gt;
Description&lt;br /&gt;
Price&lt;br /&gt;
Size&lt;br /&gt;
Color&lt;br /&gt;
&lt;br /&gt;
CalculateShoeID()&lt;br /&gt;
DisplayShoeInfo()&lt;br /&gt;
&lt;br /&gt;
I use the approach above when I am designing applications.  It naturally flushes out the objects we need to create classes for and the field names in our database along with the operations and attributes of each object.  I could spend several lessons on the background and requirements for using OOAD in your development journey.  My goal in this lesson was to open your eyes up to what OOAD is and how you should be using it in the future when you are defining and delivering your applications.  If your application requires the use of very much data it is likely you will need to design a database to manage it.  As you can see we could spend countless lesson in many different directions (e.g., OOAD, database design theory, etc).  I need to keep us focused on building our core Java skills so you can create your Android mobile application.&lt;br /&gt;
&lt;br /&gt;
If there is enough demand for separate courses on OOAD, database design, or others I am always open to receiving your suggestions and developing new courses and lessons.  You can email me directly at any time at my email address of tim@timlaytonllc.com with suggestions or comments.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Custom Class Definition&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
I would be remiss if I didn’t address the topic of defining custom classes for your applications.  Classes are at the very core of Object-Oriented Programming (OOP) and this is a concept that you must master because you will be using this from the original design phase all the way through writing your code.  &lt;br /&gt;
A class can thought of as a blueprint for each object in your system.  Think of an aircraft manufacturer.  They would create a class for each object in the aircraft.  The classes are the basis for each part in the airplane.  Let’s say they created a class for wheels.  Each object (wheel)  created from the class (blueprint) is called an instance and can have a specific state or value for each of its attributes.  Keep in mind each object will always have the same attributes and operations, just like we designed in the OOA chapter. You could have multiple instances of the wheel object in memory with the exact same attributes and operations but they would be handled as unique instances. In our example each wheel created from the class is a unique instance and could be a certain size and color.  The class is your blueprint for each wheel that is created.&lt;br /&gt;
&lt;br /&gt;
In Java attributes are represented using variables and operations are represented using methods. Variables in Java hold data and methods perform an operation.  When we get into the programming part of the lessons I will walk you through the syntax and logic of how to do all of these things.  &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Java Development Tools&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
In this chapter I will help you get your Java development environment setup and ready for our lessons.  You can watch my video tutorial on setting up your system.  Next, I will show you how to configure your new software for Android programming.  You may want to watch both of the video lessons and then refer to the text below.  &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Setup &amp;amp; Installation&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
You can develop Android applications on Windows, Mac and Linux. And all of the tools you need are free! Yes, free. No annual fees, or expensive IDE's to purchase. In a nutshell any version of windows starting from XP on will work, Mac 10.4.8 and above and Linux. It wouldn't hurt to have an Android phone to test on, but it isn't absolutely required. It would be a very good idea to test your apps on real devices first because the emulator is just that--an emulator. Also, if you are an every day user of an Android phone you are more likely to be able to related to your users and create useful or entertaining applications that might appeal to them.&lt;br /&gt;
&lt;br /&gt;
The full list of requirements can be found on the &lt;a href="http://developer.android.com/index.html"&gt;Android Developer&lt;/a&gt; site.&lt;br /&gt;
&lt;br /&gt;
Go to my "&lt;a href="http://techtips.timlaytonllc.com/2009/12/getting-setup-for-android-development.html"&gt;Getting Setup for Android Development&lt;/a&gt;" article for step-by-step instructions of setting up and configuring your system for Java and Android development.&lt;br /&gt;
&lt;br /&gt;
After your system and environment is setup I developed a video showing you how to test your environment so that you can properly develop Java and ultimately Android applications.&amp;nbsp; Refer to my "&lt;a href="http://techtips.timlaytonllc.com/2009/12/android-configuring-eclipse-lesson-1.html"&gt;Configuring Eclipse&lt;/a&gt;" article. &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;True-False Answers&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
All of the answers to the true-false questions are true.  &lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Summary&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
You should have a good idea of what we are going to cover in the Java Fundamentals series and why it is important for Android mobile development.  I walked you through installing and configuring your Java and Android development tools and creating a test application verifying your system is ready to code Java and Android applications.  You should have a basic idea of the various Java products and how that relates to the various JDKs.  I also introduced you to basic OOP concepts that you will be learning and using in your Android Mobile development.  &lt;br /&gt;
&lt;br /&gt;
Get ready for the first lesson and if you have any questions, comments or suggestions always feel free to contact me at one of my mediums.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-2874735909293566585?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/wj_6Zyq5ngc" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/wj_6Zyq5ngc/java-fundamentals-introduction.html</link><author>noreply@blogger.com (Display Name)</author><thr:total>0</thr:total><feedburner:origLink>http://techtips.timlaytonllc.com/2011/04/java-fundamentals-introduction.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-7081388383643331655</guid><pubDate>Fri, 01 Apr 2011 13:56:00 +0000</pubDate><atom:updated>2011-04-01T08:59:28.209-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Java Fundamentals</category><title>Java Fundamentals Playlist &amp; Lesson Update</title><description>I wanted to let everyone know that I have created a playlist for the &lt;a href="http://www.youtube.com/my_playlists?p=A43FD6F427F08D48"&gt;Java Fundamentals&lt;/a&gt; on my YouTube channel to make it easy to follow the lessons. You should start with the Introduction lesson and then progress sequentially through each lesson.&amp;nbsp; I will number each lesson starting at 0 for the introduction.&amp;nbsp; I am working on the first lesson this week and should be publishing it very soon.&amp;nbsp; There is a lot of work that goes into the planning and content development.&amp;nbsp; After that is done the lessons are the easy part and should move along quickly. You can click on the "Java Fundamentals" logo on the right side of the blog to filter all lessons and articles for this course.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
For the Java Fundamentals lessons I will post the lesson text in an article on the blog for you along with links to the video lessons on my YouTube channel.&amp;nbsp; I've received a lot of previous requests that people want to download the lessons and view them locally on their computers or devices (iPad, mobile smart phones, etc).&amp;nbsp; In response to this I am packaging the lessons and video for you to download.&amp;nbsp; The lesson text will be available on Amazon as a Kindle book and on iTunes as an iBook for a minimal fee.&amp;nbsp; This will allow you to read each lesson on the most popular platforms (Kindle, iBook) on a host of devices and systems.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
The distribution channels have minimum requirements on fee structure and I will try and keep the costs to a minimum.&amp;nbsp; Keep in mind the content is completely free on my blog and on my YouTube channel.&amp;nbsp; The publishing mediums are for those what want that option, but it is not required.&amp;nbsp; The lessons will have direct links to the video tutorials that will play on your computer or device.&amp;nbsp; If you want to download the video tutorials and view them locally with no requirement for an Internet connection I will make them available for download from my lulu storefront.&lt;br /&gt;
&lt;br /&gt;
Stay tuned and I will provide you with all the information you need for the downloads very soon.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Tim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-7081388383643331655?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/coCMZlATzYE" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/coCMZlATzYE/java-fundamentals-playlist-lesson.html</link><author>noreply@blogger.com (Display Name)</author><thr:total>0</thr:total><feedburner:origLink>http://techtips.timlaytonllc.com/2011/04/java-fundamentals-playlist-lesson.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-6883487772592283774</guid><pubDate>Thu, 31 Mar 2011 17:42:00 +0000</pubDate><atom:updated>2011-04-01T00:14:57.146-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Lessons</category><category domain="http://www.blogger.com/atom/ns#">Java Fundamentals</category><category domain="http://www.blogger.com/atom/ns#">Android</category><title>New Lessons - Java Fundamentals</title><description>I wanted to let everyone know that based on my last poll and my pilot YouTube channel that by overwhelming majority most people want to learn about Android mobile programming right now.  Based on the amount of emails I get on a regular basis I realized that I needed to develop two courses.  &lt;br /&gt;
&lt;br /&gt;
First I will be publishing a Java Fundamentals course that will help you develop the core Java knowledge required to develop real world Android applications.  I have found that way too many people think they can jump straight into Android development and I hate to say that rarely works out for the majority of people.  &lt;br /&gt;
&lt;br /&gt;
I am working on the lessons right now and will start publishing them within the next few weeks.  After I complete the Java Fundamentals course I will begin publishing a formal course on Android development that assumes you have completed the Java Fundamentals course.  &lt;br /&gt;
&lt;br /&gt;
&lt;iframe title="YouTube video player" width="560" height="349" src="http://www.youtube.com/embed/yJE302A2y3c?rel=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tim&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-6883487772592283774?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/St99JNO5Z2s" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/St99JNO5Z2s/new-lesson-topic.html</link><author>noreply@blogger.com (Display Name)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/yJE302A2y3c/default.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://techtips.timlaytonllc.com/2011/03/new-lesson-topic.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-2042962077221973875</guid><pubDate>Mon, 28 Mar 2011 15:19:00 +0000</pubDate><atom:updated>2011-03-31T12:38:04.084-05:00</atom:updated><title>New Content</title><description>I wanted to let everyone know that I am in the middle of redoing my video programming tutorial videos.&amp;nbsp; I have a brand new youtube channel that I am working on and also a new twitter account.&amp;nbsp; The YouTube channel is youtube.com/timlaytonllc and for twitter I am at twitter.com/timlaytonllc and on Facebook I am at facebook.com/timlaytonsr.&amp;nbsp; The social icons at the top right of the blog should take you to all of these sites too.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
If you have any suggestions for new topics and content now is the time to speak up.&amp;nbsp; My last pole indicated an overwhelming desire to learn Java and Android programming so that is where I plan to start with the new content. &lt;br /&gt;
&lt;br /&gt;
Tim&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-2042962077221973875?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/BVFRfiygvbw" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/BVFRfiygvbw/new-content.html</link><author>noreply@blogger.com (Display Name)</author><thr:total>0</thr:total><feedburner:origLink>http://techtips.timlaytonllc.com/2011/03/new-content.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-9080346159943514135</guid><pubDate>Wed, 23 Feb 2011 19:40:00 +0000</pubDate><atom:updated>2011-02-23T20:29:47.731-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">vote</category><title>What Would You Like to Learn About?</title><description>I've been busy in the new year and wanted to reach out to all of my readers and subscribers to ask what you want to learn about most?&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Use the poll that I have listed on the right side of the site here and cast your vote.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Tim&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-9080346159943514135?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/UYwNnHKhdmI" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/UYwNnHKhdmI/what-would-you-like-to-learn-about.html</link><author>noreply@blogger.com (Display Name)</author><feedburner:origLink>http://techtips.timlaytonllc.com/2011/02/what-would-you-like-to-learn-about.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-6358547735322685308</guid><pubDate>Fri, 31 Dec 2010 23:10:00 +0000</pubDate><atom:updated>2010-12-31T17:10:07.948-06:00</atom:updated><title>Best Wishes in the New Year</title><description>I wanted to wish everyone a safe and happy new year and thank all of my family, friends and blog followers for a great year in 2010.&amp;nbsp; There are a lot of exciting things happening in technology right now so I am sure 2011 will prove to be a great year.&lt;br /&gt;
&lt;br /&gt;
Happy New Year!&lt;br /&gt;
&lt;br /&gt;
Tim&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-6358547735322685308?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/lEC6gsjxkKQ" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/lEC6gsjxkKQ/best-wishes-in-new-year.html</link><author>noreply@blogger.com (Display Name)</author><feedburner:origLink>http://techtips.timlaytonllc.com/2010/12/best-wishes-in-new-year.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-4555693058437411315</guid><pubDate>Thu, 11 Nov 2010 23:13:00 +0000</pubDate><atom:updated>2010-11-11T17:15:08.422-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Objective-C</category><category domain="http://www.blogger.com/atom/ns#">Mac OSX Cocoa</category><category domain="http://www.blogger.com/atom/ns#">Cocoa</category><category domain="http://www.blogger.com/atom/ns#">Apple</category><title>How to Make an App Icon for Mac OSX Programs (Lesson 2)</title><description>In Lesson 2 of the How to Create Mac OSX Apps, Tim Layton walks you through the steps to create your application icon for your Mac OSX application.&amp;nbsp; This icon will be used for the application we create in lesson 3 where I walk you through how to code actions and outlets, how to wire together the UI with XCode and Interface Builder and I discuss the concept of App Delegates.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;object height="340" width="560"&gt;&lt;param name="movie" value="http://www.youtube.com/v/AKiIsrHrgTU?fs=1&amp;amp;hl=en_US&amp;amp;rel=0"&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/AKiIsrHrgTU?fs=1&amp;amp;hl=en_US&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let me know if you have any questions and stay tuned for lesson 3.&lt;br /&gt;
&lt;br /&gt;
Tim&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-4555693058437411315?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/nQ7DjBl0dZk" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/nQ7DjBl0dZk/how-to-make-app-icon-for-mac-osx.html</link><author>noreply@blogger.com (Display Name)</author><feedburner:origLink>http://techtips.timlaytonllc.com/2010/11/how-to-make-app-icon-for-mac-osx.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-5033140725998992795</guid><pubDate>Thu, 11 Nov 2010 01:10:00 +0000</pubDate><atom:updated>2010-11-10T19:11:16.461-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Mac OSX Cocoa</category><category domain="http://www.blogger.com/atom/ns#">mac os X</category><category domain="http://www.blogger.com/atom/ns#">Apple</category><title>Getting Ready for The New Mac App Store</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_NMvZyE5n8EU/TNs_ARTwV6I/AAAAAAAAF7w/tvcdzbRNduQ/s1600/devcenter.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_NMvZyE5n8EU/TNs_ARTwV6I/AAAAAAAAF7w/tvcdzbRNduQ/s1600/devcenter.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;Apple announced the new &lt;a href="http://www.apple.com/mac/app-store/" target="_blank"&gt;Mac App Store&lt;/a&gt; on October 20th, 2010 at the &lt;a href="http://events.apple.com.edgesuite.net/1010qwoeiuryfg/event/index.html" target="_blank"&gt;Keynote&lt;/a&gt; address.&amp;nbsp; Apple has already opened up the submission process so the gates are open.&amp;nbsp; While I don't know the exact date of the official launch Steve Jobs said it would be 90 days from October 20th when he revealed the Mac App Store at the keynote.&amp;nbsp; The revenues for the Mac division of Apple was $22 Billion for FY2010.&amp;nbsp; To put this into context, if the Mac division were a standalone company they would be 110 on the Fortune 500 list.&amp;nbsp; Think about that when you are deciding where to invest your time as a developer in the future. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Getting Ready for the Mac App Store&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
I have outlined the general steps you will need to follow in order to submit your new app to the Mac App Store.&amp;nbsp; Some of the links below require you to be a registered developer.&amp;nbsp; Please note that some of these steps require many tasks as this is just a general outline to get you thinking about the bigger picture.&lt;br /&gt;
&lt;br /&gt;
Step 1 - Watch the keynote to fully understand the opportunity (link above)&lt;br /&gt;
&lt;br /&gt;
Step 2 - &lt;a href="http://developer.apple.com/programs/mac/" target="_blank"&gt;Register&lt;/a&gt; as a Mac App Developer.&lt;br /&gt;
&lt;br /&gt;
Step 3 - Setup your iTunes account and get all of the "paperwork" completed.&lt;br /&gt;
&lt;br /&gt;
Step 4 - Download and install XCode 3.2.5.&lt;br /&gt;
&lt;br /&gt;
Step 5 - Develop your killer app in accordance with Apple guidelines.&lt;br /&gt;
&lt;br /&gt;
Step 6 - Register your application ID. &lt;br /&gt;
&lt;br /&gt;
Step 7 - Download and install your developer signing certificate.&lt;br /&gt;
&lt;br /&gt;
Step 8 - Review your application against the submission &lt;a href="https://developer.apple.com/appstore/mac/resources/approval/guidelines.html"&gt;guidelines checklist&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Step 9 -&amp;nbsp; Submit your app via XCode per Apple's very specific &lt;a href="https://developer.apple.com/devcenter/mac/documents/submitting.html"&gt;instructions&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
A benefit of the Mac Developer program is you get access to the very latest Mac OSX software and development tools.&amp;nbsp; Included in the $99 annual fee you get two technical support incidents.&amp;nbsp; It is good to know if you get backed in a corner that Apple is there to help.&amp;nbsp; You can also purchase additional incidents if needed.&amp;nbsp; There is a very active developer &lt;a href="https://devforums.apple.com/index.jspa" target="_blank"&gt;support forum&lt;/a&gt; where you can ask questions and help other Mac developers.&amp;nbsp; There are a wide array of developer &lt;a href="http://developer.apple.com/videos/" target="_blank"&gt;videos&lt;/a&gt; on iTunes that are very helpful, especially to a new developer.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Apple provides a list of benefits for becoming a registered Mac developer .&amp;nbsp; In a nutshell I see the Mac App Store as a free market enterprise.&amp;nbsp; If you have a great idea and you are willing to work hard and deliver a quality product then you are rewarded with sales.&amp;nbsp; The build once sell many times model is your best friend.&amp;nbsp; If you write crappy apps then you sleep in the street.&amp;nbsp; I love this model because it thins out the dedicated from the talkers. &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&lt;ul class="callout right" id="appstorebenefits"&gt;&lt;li class="even"&gt;You set the price of your applications&lt;/li&gt;
&lt;li&gt;You get 70% of sales revenue&lt;/li&gt;
&lt;li class="even"&gt;Receive payments monthly&lt;/li&gt;
&lt;li&gt;No charge to publish free apps&lt;/li&gt;
&lt;li class="even"&gt;No credit card fees &lt;/li&gt;
&lt;li&gt;No hosting fees&lt;/li&gt;
&lt;li class="even"&gt;No marketing fees&lt;/li&gt;
&lt;/ul&gt;Let me know what you think and stay tuned for a wide variety of Mac OSX developer tutorials on Objective-C and Cocoa using XCode and Interface Builder.&lt;br /&gt;
&lt;br /&gt;
Tim&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-5033140725998992795?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/1OHABGgsP6Q" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/1OHABGgsP6Q/getting-ready-for-new-mac-app-store.html</link><author>noreply@blogger.com (Display Name)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_NMvZyE5n8EU/TNs_ARTwV6I/AAAAAAAAF7w/tvcdzbRNduQ/s72-c/devcenter.jpg" height="72" width="72" /><feedburner:origLink>http://techtips.timlaytonllc.com/2010/11/getting-ready-for-new-mac-app-store.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-6423823897038894483</guid><pubDate>Wed, 10 Nov 2010 23:00:00 +0000</pubDate><atom:updated>2010-11-10T17:05:37.193-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Snow Leopard</category><category domain="http://www.blogger.com/atom/ns#">mac os X</category><category domain="http://www.blogger.com/atom/ns#">mac</category><category domain="http://www.blogger.com/atom/ns#">Apple</category><title>10.6.5 Update for Mac OSX AvailableToday</title><description>If you haven't already checked for software update on your Mac running Snow Leopard then you may want to do so.&lt;br /&gt;
&lt;br /&gt;
The 10.6.5 update includes:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Improves reliability with Microsoft Exchange servers.&lt;/li&gt;
&lt;li&gt;Addresses performance of some image-processing operations in iPhoto and Aperture.&lt;/li&gt;
&lt;li&gt;Addresses stability and performance of graphics applications and games.&lt;/li&gt;
&lt;li&gt;Resolves a delay between print jobs.&lt;/li&gt;
&lt;li&gt;Addresses a printing issue for some HP printers connected to an AirPort Extreme.&lt;/li&gt;
&lt;li&gt;Resolves an issue when dragging contacts from Address Book to iCal.&lt;/li&gt;
&lt;li&gt;Addresses an issue in which dragging an item from a stack causes the Dock to not automatically hide.&lt;/li&gt;
&lt;li&gt;Resolves an issue in which Wikipedia information may not display correctly in Dictionary.&lt;/li&gt;
&lt;li&gt;Improves performance of MainStage on certain Macs.&lt;/li&gt;
&lt;li&gt;Resolves spacing issues with OpenType fonts.&lt;/li&gt;
&lt;li&gt;Improves reliability with some Bluetooth braille displays.&lt;/li&gt;
&lt;li&gt;Resolves a VoiceOver issue when browsing some websites with Safari 5.&lt;/li&gt;
&lt;li&gt;Improves Bluetooth pairing with Magic Trackpad.&lt;/li&gt;
&lt;li&gt;Resolves performance issues with third-party displays that use InstaPort technology.&lt;span style="color: #050505;"&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Add SSL support for transferring files with iDisk.&lt;/li&gt;
&lt;li&gt;Resolves an issue when opening 4-up Photo Booth pictures in Preview.&lt;/li&gt;
&lt;li&gt;Addresses keyboard responsiveness issues in the Dock when Spaces is turned on.&lt;/li&gt;
&lt;li&gt;Resolves an issue syncing  Address Book with Google.&lt;/li&gt;
&lt;li&gt;Fixes an issue when replying to a Mail message sent by a person whose name contains certain characters such as é or ü.&lt;/li&gt;
&lt;li&gt;Improves performance for users bound to an Active Directory domain.&lt;/li&gt;
&lt;li&gt;Improves reliability of Ethernet connections.&lt;/li&gt;
&lt;li&gt;Systems with a Mac Pro RAID Card (Early 2009) installed can now be put to sleep. For more information, see &lt;a href="http://support.apple.com/kb/HT4266" onclick="s_objectID=&amp;quot;http://support.apple.com/kb/HT4266_1&amp;quot;;return this.s_oc?this.s_oc(e):true"&gt;Mac Pro RAID Card (Early 2009): Enabling system sleep&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Improves reliability of fibre channel connections, resolving a potential Xsan volume availability issue.&lt;/li&gt;
&lt;li&gt;Adds RAW image compatibility for &lt;a href="http://support.apple.com/kb/HT3825" onclick="s_objectID=&amp;quot;http://support.apple.com/kb/HT3825_1&amp;quot;;return this.s_oc?this.s_oc(e):true"&gt;additional&lt;/a&gt; digital cameras.&lt;/li&gt;
&lt;li&gt;Security improvements; for information about the security  content of this update, please visit &lt;a href="http://support.apple.com/kb/HT1222" onclick="s_objectID=&amp;quot;http://support.apple.com/kb/HT1222_1&amp;quot;;return this.s_oc?this.s_oc(e):true"&gt;this article&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
For more detailed information visit Apple &lt;a href="http://support.apple.com/kb/HT4250" target="_blank"&gt;directly&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Tim&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-6423823897038894483?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/egX_upd95p8" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/egX_upd95p8/1065-update-for-mac-osx-availabletoday.html</link><author>noreply@blogger.com (Display Name)</author><feedburner:origLink>http://techtips.timlaytonllc.com/2010/11/1065-update-for-mac-osx-availabletoday.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-2300497965523663288</guid><pubDate>Tue, 09 Nov 2010 06:56:00 +0000</pubDate><atom:updated>2010-11-09T00:56:49.414-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Objective-C</category><category domain="http://www.blogger.com/atom/ns#">Mac OSX Cocoa</category><category domain="http://www.blogger.com/atom/ns#">Cocoa</category><category domain="http://www.blogger.com/atom/ns#">Apple</category><title>Cocoa 101 - The Mac OSX and iOS GUI Backbone</title><description>If you are new to Mac OSX or iOS (iPhone/iPod/iPad) programming then Cocoa is a topic that you must become knowledgeable about very quickly.&amp;nbsp; As many of your may already know Apple announced the new Mac App Store which will be launched in the next couple of months.&amp;nbsp; There has never been a better time to get your Apple developer skills in order to take advantage of this new opportunity.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Apple Documentation&lt;/b&gt; &lt;br /&gt;
The central resource for all Apple programming documentation is at the Apple &lt;a href="http://developer.apple.com/" target="_blank"&gt;Developer&lt;/a&gt; site.&amp;nbsp; From here you can go to the iOS Dev Center if you are developing iPhone/iPod/iPad apps or to the Mac Dev Center if you are developing for Mac OSX.&amp;nbsp; As crazy as it sounds I highly recommend that you go to the appropriate site for your development needs and read the "Getting Started" and "Required Reading" documents before you pass go.&amp;nbsp; These are documents that set the foundation to everything Apple.&amp;nbsp; You will find yourself reading and referring to them over and over.&amp;nbsp; They will make more sense as you get more experience.&amp;nbsp; There are a couple intro and getting started tutorials in the Getting Started documents that are an absolute must.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Objective-C &lt;/b&gt;&lt;br /&gt;
I will tell you up front Apple is very clear about understanding C programming before jumping off the cliff to tackle OOP programming with Objective-C 2.0 and Cocoa.&amp;nbsp; In the real world you will see C code mixed with Objective-C.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
My personal opinion is that you don't have to be a C guru, but you should definitely understand the basics of C programming if you hope to go beyond the basics of OSX and iOS apps.&amp;nbsp; Objective-C extends the standard ANSI C language by providing syntax for  defining classes, and methods, as well as other constructs that promote  dynamic extension of classes.&amp;nbsp; A typical warning label on Apple Objective-C documentation goes something like this: "This document doesn’t attempt to teach any aspects of the C language. If  you’re not familiar with C, you should learn about the basics before  you proceed."&amp;nbsp; Get the hint?&amp;nbsp; If you don't know the basics of C such as functions, variables, operators, data types and data structures you are doing yourself a disservice and will only make it very hard on yourself when progressing into more advance OOP topics such as Cocoa or Cocoa Touch. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Cocoa&lt;/b&gt;&lt;br /&gt;
You can build Cocoa applications for two platforms: the Mac OS X operating system and iOS, the operating system for multi-touch devices such as iPhone, iPad, and iPod touch.&amp;nbsp; Your first order of business is to go read "Cocoa Fundamentals Guide" on the Apple Developer site.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
What is Cocoa? Cocoa is a programming toolset for the Mac OS X operating system and iOS.&amp;nbsp; Cocoa includes a rich suite of object-oriented software libraries, a runtime, and an integrated development environment. Safari and Mail on Mac OSX are examples of Cocoa applications.&amp;nbsp; Cocoa is a set of object-oriented frameworks that provides a runtime environment for applications running on Mac OS X and iOS.&lt;br /&gt;
&lt;br /&gt;
Cocoa is a suite of object-oriented software components and classes enabling developers to quickly create full featured GUI applications on Mac OSX.&amp;nbsp; Think of Cocoa as a set of tools and building blocks that a developer uses to create their vision. &lt;br /&gt;
&lt;br /&gt;
The most important Cocoa class libraries that you should learn about in the beginning is packaged in two core frameworks for each platform: Foundation and Application Kit for Mac OS X and Foundation and UIKit for iOS.&amp;nbsp; To learn about the many other Cocoa Frameworks read the Cocoa Fundamentals Guide located on the Mac Developer site.&amp;nbsp;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Workflow for Mac OSX&lt;/b&gt;&lt;br /&gt;
Since I am covering the basics of Cocoa in this article I think it is important to summarize the develppment workflow for OSX and iOS.&amp;nbsp;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;In Xcode, create a project using a template from the Mac OS X SDK.&lt;/li&gt;
&lt;li&gt;Write code and, using Interface Builder, construct your application’s user interface.&lt;/li&gt;
&lt;li&gt;Define the targets and executable environment for your project.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Test and debug the application using the Xcode debugging facilities.&lt;br /&gt;
As part of debugging, you can check the system logs in the Console window.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Measure application performance using one or more of the available performance tools.&lt;/li&gt;
&lt;/ul&gt;&lt;b&gt;Workflow for iOS&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Configure the remote device. This results in the required tools, frameworks, and other components being installed on the device.&lt;/li&gt;
&lt;li&gt;In Xcode, create a project using a template from the iOS SDK.&lt;/li&gt;
&lt;li&gt;Write code, and construct your application’s user interface.&lt;/li&gt;
&lt;li&gt;Define the targets and executable environment for the project.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Build the application (locally).&lt;/li&gt;
&lt;li&gt;Test and debug the application, either in the iOS Simulator or remotely in the device. (If remotely, your debug executable is downloaded to the device.)&lt;br /&gt;
As you debug, you can check the system logs for the device in the Console window.&lt;/li&gt;
&lt;li&gt;Measure application performance using one or more of the available performance tools.&lt;/li&gt;
&lt;/ul&gt;&lt;b&gt;Foundation Framework&lt;/b&gt;&lt;br /&gt;
The illustration below of the Foundation Framework rooted in NSObject is a great place to visually take in this fundamental set of classes.&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/_NMvZyE5n8EU/TNjvOH5gKhI/AAAAAAAAF7c/bx6IChvw1WU/s1600/2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/_NMvZyE5n8EU/TNjvOH5gKhI/AAAAAAAAF7c/bx6IChvw1WU/s400/2.png" width="313" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_NMvZyE5n8EU/TNjvSW9ep-I/AAAAAAAAF7g/ANC0c3zMRBE/s1600/3.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/_NMvZyE5n8EU/TNjvSW9ep-I/AAAAAAAAF7g/ANC0c3zMRBE/s400/3.png" width="245" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_NMvZyE5n8EU/TNjvFItkG7I/AAAAAAAAF7Y/Tp3Ug7Jz07k/s1600/1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/_NMvZyE5n8EU/TNjvFItkG7I/AAAAAAAAF7Y/Tp3Ug7Jz07k/s400/1.png" width="347" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_NMvZyE5n8EU/TNjvV_GmfDI/AAAAAAAAF7k/U4fq-_mZUFw/s1600/4.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/_NMvZyE5n8EU/TNjvV_GmfDI/AAAAAAAAF7k/U4fq-_mZUFw/s400/4.png" width="250" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
My goal with this article is to inspire you to build a strong foundation before trying to build your "killer app".&amp;nbsp; If you do the hard work up front and take the time to build a strong foundation, the fruits of your labor will surpass anything you can image.&amp;nbsp; &lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Tim&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-2300497965523663288?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/pY54AP_uql8" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/pY54AP_uql8/cocoa-101-mac-osx-and-ios-gui-backbone.html</link><author>noreply@blogger.com (Display Name)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_NMvZyE5n8EU/TNjvOH5gKhI/AAAAAAAAF7c/bx6IChvw1WU/s72-c/2.png" height="72" width="72" /><feedburner:origLink>http://techtips.timlaytonllc.com/2010/11/cocoa-101-mac-osx-and-ios-gui-backbone.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-6259535365569309557</guid><pubDate>Sat, 30 Oct 2010 16:00:00 +0000</pubDate><atom:updated>2011-03-02T23:03:22.069-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Objective-C</category><category domain="http://www.blogger.com/atom/ns#">Mac OSX Cocoa</category><category domain="http://www.blogger.com/atom/ns#">Apple</category><title>How to Create Mac OSX Apps for the Mac App Store (Lesson 1 - Getting Started)</title><description>As many of you know Apple recently announced the new &lt;a href="http://www.apple.com/mac/app-store/" target="_blank"&gt;Mac App Store&lt;/a&gt;&amp;nbsp; I have written about this in two other articles and now I am developing a series of programming lessons to help you create and ultimately publish your Mac OSX apps on the Mac App Store.&lt;br /&gt;
&lt;br /&gt;
In this video below I walk you through creating your first app "Hello Cocoa!".&amp;nbsp; This is obviously a very simple example but you will learn some very important concepts in this lesson.&lt;br /&gt;
&lt;br /&gt;
You will learn how to create a new project, launch Interface Builder and create the user interface, you will assign a unique icon for your program and then you will learn how to distribute your app to other users.&lt;br /&gt;
&lt;br /&gt;
All of this is very important and we will be using all of the concepts taught here in future lessons.&amp;nbsp; I will be teaching you Objective-C and Cocoa along this journey so that you can build your own OSX applications.&amp;nbsp; If you are starting this journey with any iOS (iPhone/iPad/iPod) experience then you have a leg up.&amp;nbsp; Likewise if you want to pursue iOS developing in the future this experience will significantly reduce your learning curve.&lt;br /&gt;
&lt;br /&gt;
&lt;object height="340" width="560"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ph-pXj5HCsI?fs=1&amp;amp;hl=en_US&amp;amp;rel=0"&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/ph-pXj5HCsI?fs=1&amp;amp;hl=en_US&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
You can &lt;a href="http://www.lulu.com/product/media-download/mac-osx-programming-lesson-1/13395747" target="_blank"&gt;download&lt;/a&gt; this video from my lulu storefront for a small fee to use and save on your local system.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Overview of steps from the video lesson:&lt;/b&gt;&lt;br /&gt;
&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Open XCode (Note I am using 3.2.5 so that I can sign my apps for the new Mac App Store)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;File - New Project&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Name it Hello Cocoa&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Double-Click MainMenu.xib (nib file) to launch Interface Builder&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Find “Window” &amp;nbsp;This represents our new apps main application window&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Drag a Label from the library to our Window.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Note: You are dragging an instance of the NSTextField class.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Double-Click on the Label and change text to Hello Cocoa!&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;With the Label selected go to the Inspector Window (CMD 1) and change the color to whatever you like.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Next with the Label selected do CMD + T to change the size of your font, etc.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Find the Menu Editor and just be aware this is where you would build your menu system&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Create  icon for your app (512 x 512 pixels) in Photoshop, GIMP, etc and save  as a PSD, TIFF or PNG. I would suggest using a .PNG to keep the file  size small. &amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Note:  for the sake of time I created this icon for this lesson and used Icon  Composer to convert it to the proper format (.icns). &amp;nbsp;This is a utility  that ships comes with the development software. &amp;nbsp;I will walk you though  how to create your own icon in the next lesson.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Drag icon file into Resources folder. &amp;nbsp;A dialog box will appear. &amp;nbsp;Select copy and add to project.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Click on info.plist and type in name of icon file here and save.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Get ready to run app. &amp;nbsp;From XCode do Build &amp;amp; Run from menu or CMD + R&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Select About Hello Cocoa and you should see your icon file.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;To distribute your app you need to change from debug mode to Release.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Now  rebuild your app again and then right-click on Hello Cocoa at the very  top of Groups &amp;amp; Files window and select Reveal in Finder. &amp;nbsp;Navigate  to Build-&amp;gt;Release folders and you will see your app “Hello Cocoa”.  &amp;nbsp;If you double-click it, it will run! &amp;nbsp;You could send this to any other  use on the target platform and it will run. &amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Don’t forget to switch modes back to debug if you want to make changes to your app.&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;This  is a very fast overview of how to build a simple OSX app from inception  to production. &amp;nbsp;This should serve as a conceptual framework for future  lessons as we begin to dig in deeper to Objective-C and the Cocoa SDK. &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;I hope this was helpful and stay tuned for the next lesson where I will show you how to create your app icon from scratch.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Tim&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-6259535365569309557?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/Gykqej4BTkU" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/Gykqej4BTkU/how-to-create-mac-osx-apps-for-mac-app.html</link><author>noreply@blogger.com (Display Name)</author><feedburner:origLink>http://techtips.timlaytonllc.com/2010/10/how-to-create-mac-osx-apps-for-mac-app.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-8249210349874997948</guid><pubDate>Sat, 30 Oct 2010 02:16:00 +0000</pubDate><atom:updated>2010-10-30T09:57:20.680-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Objective-C</category><category domain="http://www.blogger.com/atom/ns#">Mac OSX Cocoa</category><category domain="http://www.blogger.com/atom/ns#">mac os X</category><category domain="http://www.blogger.com/atom/ns#">Cocoa</category><category domain="http://www.blogger.com/atom/ns#">Apple</category><title>XCode 3.2.5 Now Available -- Get Ready to Sign Your Mac App Store Apps!</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_NMvZyE5n8EU/TMt93zcfaVI/AAAAAAAAF7M/Xj7IAdSVcxs/s1600/xcode.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_NMvZyE5n8EU/TMt93zcfaVI/AAAAAAAAF7M/Xj7IAdSVcxs/s1600/xcode.png" /&gt;&lt;/a&gt;&lt;/div&gt;Xcode 3.2.5 now supports the signing of Mac OS X applications for submission to the new upcoming &lt;a href="http://www.apple.com/mac/app-store/"target="_blank"&gt;Mac App Store&lt;/a&gt;.&amp;nbsp; So, if you are interested in jumping on the Mac App Store wagon, you will need to get this update.&lt;br /&gt;
&lt;br /&gt;
Go to the Mac developer page, sign in and &lt;a href="https://developer.apple.com/devcenter/mac/index.action"target="_blank"&gt;download&lt;/a&gt; the update if you need it. &lt;br /&gt;
&lt;br /&gt;
Application submissions will be open in November so here is a &lt;a href="https://developer.apple.com/devcenter/mac/checklist/"target="_blank"&gt;checklist&lt;/a&gt; to get you pointed in the right direction.&lt;br /&gt;
&lt;br /&gt;
However, be careful if you are also developing for iOS applications.&lt;br /&gt;
&lt;br /&gt;
The Xcode 3.2.5 GM seed can be &lt;u&gt;&lt;b&gt;used for Mac OS X app development only&lt;/b&gt;&lt;/u&gt;. These  tools do not contain the iOS SDK, and cannot be used for iOS  development. If you already have iOS SDK 4.2 beta 3 installed, download  and install the &lt;a href="https://developer.apple.com/ios/download.action?path=/Developer_Tools/xcode_3.2.5_gm_seed/applicationtools.dmg"target="_blank"&gt;Application Tools&lt;/a&gt; package on top of your existing toolset, do not install the full Xcode 3.2.5 GM Seed.&lt;br /&gt;
&lt;br /&gt;
There will be more to follow as all of this unfolds.&lt;br /&gt;
&lt;br /&gt;
Tim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-8249210349874997948?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/XeGdEyfDd-M" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/XeGdEyfDd-M/xcode-325-now-available.html</link><author>noreply@blogger.com (Display Name)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_NMvZyE5n8EU/TMt93zcfaVI/AAAAAAAAF7M/Xj7IAdSVcxs/s72-c/xcode.png" height="72" width="72" /><feedburner:origLink>http://techtips.timlaytonllc.com/2010/10/xcode-325-now-available.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6400333370831647304.post-7355697990813696530</guid><pubDate>Fri, 29 Oct 2010 03:59:00 +0000</pubDate><atom:updated>2010-10-30T09:59:09.159-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Mac OSX Cocoa</category><category domain="http://www.blogger.com/atom/ns#">Apple</category><title>The New Mac App Store Coming Soon!</title><description>&lt;a href="http://developer.apple.com/programs/mac/"target="_blank"&gt;Developers&lt;/a&gt; will have a new opportunity with Apple in the very near future.&amp;nbsp; The &lt;a href="http://www.apple.com/mac/app-store/"target="_blank"&gt;Mac App Store&lt;/a&gt; is just like the "app store" as we all know and love on the iPhone/iPod/iPad, but for the Mac.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
To learn more about the new Mac App Store you can watch the latest Apple &lt;a href="http://events.apple.com.edgesuite.net/1010qwoeiuryfg/event/index.html"target="_blank"&gt;Keynote&lt;/a&gt; from Steve Jobs and the Apple team. You can visit the Keynote &lt;a href="http://www.apple.com/apple-events/"target="_blank"&gt;Events&lt;/a&gt; page to check out all of the latest Keynotes.&lt;br /&gt;
&lt;br /&gt;
In a nutshell developers will earn the same 70/30 split just like they do for the current iPhone App Store.&amp;nbsp; Instead of developing apps for the mobile devices you will be developing apps for OSX.&amp;nbsp; The Mac App Store will be integrated into the next release of OSX, called &lt;a href="http://www.apple.com/macosx/lion/"target="_blank"&gt;Lion&lt;/a&gt; which is scheduled to be released in the Summer of 2011.&amp;nbsp; This might be a good time to really brush up on Objective-C and get the fundamentals under wraps. &lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;If you want me to develop a series of video tutorials on C and Objective-C on the Mac then send me an &lt;a href="mailto:tim@timlaytonllc.com"&gt;email&lt;/a&gt; and if there is enough demand I will create the lessons.&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Be sure to vote over in the right sidebar which topic you would like new programming lessons on the most.&lt;br /&gt;
&lt;br /&gt;
In order to be a developer for the &lt;a href="http://www.apple.com/mac/app-store/"target="_blank"&gt;Mac App Store&lt;/a&gt; you will need to be a registered developer, just like for the iPhone/iPod/iPad.&amp;nbsp; According to the Keynote on October 20th, Steve Jobs said the new Mac App Store would be launched in 90 days from that day and developers could submit applications in November.&lt;br /&gt;
&lt;br /&gt;
All of the features that you love about the app store for the mobile devices is being brought to the Mac App Store too.&amp;nbsp; All of your applications will auto-install, have a home screen with folders, auto update for the users, etc.&amp;nbsp; If you watch the keynote message listed above you will understand Apple's logic.&amp;nbsp; They are taking all of the innovation and success from the mobile devices and bringing it back to the Mac platform.&amp;nbsp; The best part for users is that users can use the Mac App Store apps on every Mac they own.&lt;br /&gt;
&lt;br /&gt;
Apple also launched the new &lt;a href="http://store.apple.com/us/browse/home/shop_mac/family/macbook_air?mco=MTM3NjY1OTU"target="_blank"&gt;MacBook Air&lt;/a&gt; that sports all flash memory and looks and smells like a traditional notebook but is built like an iPad.&amp;nbsp; I think this will be a product to keep an eye on and see how well it fares in the market.&amp;nbsp; I can see iPad users that want more of a notebook experience going after the the MacBook Air and at the same time I can see MacBook users that need a little less storage and want the super fast flash technology making the system lightening fast.&amp;nbsp; I booted one of the units at a local Apple store and it was fully on and ready to go within 9 seconds of hitting the on button.&amp;nbsp; The response time to load all of the apps was basically instantly.&lt;br /&gt;
&lt;br /&gt;
If you want to keep riding the Apple developer wave the new Mac App Store might be perfect for you.&amp;nbsp; Keep in mind that you will need to be a registered developer for this app store in addition to the iPhone program.&amp;nbsp; The cost is the same at $99.&amp;nbsp; I foresee many different opportunities for developers to create apps for all of the Apple devices that ultimately enable Apple users to new levels unlike any other platform.&amp;nbsp; I think this is the "next big thing" for developers and I will be interested to see if my gut is right over time.&amp;nbsp; Brush up on your Objective-C programming skills and let me know if you start developing apps for the new Mac App Store.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Tim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://i605.photobucket.com/albums/tt140/timlayton/techtips-post-footer.jpg" style="cursor: pointer; height: 61px; width: 261px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;(C) Tim Layton Sr. - http://techtips.timlaytonllc.com - http://twitter.com/timlaytonllc&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6400333370831647304-7355697990813696530?l=techtips.timlaytonllc.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TimLayton/~4/xs_QmiWKEUw" height="1" width="1"/&gt;</description><link>http://feeds.timlaytonllc.com/~r/TimLayton/~3/xs_QmiWKEUw/new-mac-app-store-coming-soon.html</link><author>noreply@blogger.com (Display Name)</author><feedburner:origLink>http://techtips.timlaytonllc.com/2010/10/new-mac-app-store-coming-soon.html</feedburner:origLink></item></channel></rss>

