<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SavageLook.com &#187; Flash Builder 4</title>
	<atom:link href="http://savagelook.com/blog/tag/flash-builder-4/feed" rel="self" type="application/rss+xml" />
	<link>http://savagelook.com/blog</link>
	<description>Blowing your mind, one line of code at a time</description>
	<lastBuildDate>Tue, 15 May 2012 13:27:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Hello, Blackberry Playbook!</title>
		<link>http://savagelook.com/blog/portfolio/hello-blackberry-playbook</link>
		<comments>http://savagelook.com/blog/portfolio/hello-blackberry-playbook#comments</comments>
		<pubDate>Thu, 27 Jan 2011 14:04:31 +0000</pubDate>
		<dc:creator>Tony Lukasavage</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[blackberry]]></category>
		<category><![CDATA[Flash Builder 4]]></category>
		<category><![CDATA[playbook]]></category>
		<category><![CDATA[qnx]]></category>

		<guid isPermaLink="false">http://savagelook.com/blog/?p=2113</guid>
		<description><![CDATA["Hello, World!" with the BlackBerry Playbook and Flash Builder 4.0.1, with a few pitfalls to avoid.<p><a href="http://savagelook.com/blog/portfolio/hello-blackberry-playbook">Hello, Blackberry Playbook!</a> is a post from: <a href="http://savagelook.com/blog">SavageLook.com</a></p>
]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p style="text-align: center;"><a href="http://savagelook.com/blog/wp-content/uploads/2011/01/playbook.jpg" rel="shadowbox[sbpost-2113];player=img;"><img class="aligncenter size-full wp-image-2123" title="BlackBerry Playbook" src="http://savagelook.com/blog/wp-content/uploads/2011/01/playbook.jpg" alt="BlackBerry Playbook" width="561" height="359" /></a></p>
<p>Time to say &#8220;Hello, World!&#8221; to the newest kid on the tablet device block, the <a href="http://us.blackberry.com/playbook-tablet/?CPID=KNC-kw328210_p6&amp;HBX_PK=rim|43b44ecc-8ee6-6429-a24f-000072e4f275" target="_blank">BlackBerry Playbook</a>.  Why bother developing for a tablet that isn&#8217;t even publicly available yet?  Because Research in Motion (RIM) is offering <a href="http://us.blackberry.com/developers/tablet/playbook_offer.jsp" target="_blank">free Playbooks to developers</a> who create &#8220;useful&#8221; applications for it.  Thats right, if you join the RIM vendor list (free registration for a limited time only) and submit a quality app, you will receive a free Playbook.  Great incentive to bring developers to your platform. </p>
<p>So how do you get started? Go to the P<a href="http://us.blackberry.com/developers/tablet/" target="_blank">laybook developers site</a> and follow the instructions there.  Be warned, though, that its not the simplest setup.  Right now RIM has workflows for developing Playbook apps in Blackberry WebWorks and Adobe Air (via Flash Builder <a href="http://www.adobe.com/support/flex/downloads_updaters.html#flex4" target="_blank">4.0.1</a> or &#8220;<a href="http://labs.adobe.com/technologies/flashbuilder_burrito/" target="_blank">Burrito</a>&#8220;).  For my first go around I chose the <a href="http://us.blackberry.com/developers/tablet/adobe.jsp" target="_blank">Flash Builder 4.0.1 workflow</a>.</p>
<p>Wanna take a quick peek at the code involved with the Hello World (seen above) for this workflow?</p>
<h2>AIRHelloWorld.as</h2>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package 
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Sprite</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">MouseEvent</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #0066CC;">text</span>.<span style="color: #0066CC;">TextField</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #0066CC;">text</span>.<span style="color: #0066CC;">TextFormat</span>;
	<span style="color: #0066CC;">import</span> qnx.<span style="color: #006600;">ui</span>.<span style="color: #006600;">buttons</span>.<span style="color: #0066CC;">Button</span>;
	<span style="color: #0066CC;">import</span> qnx.<span style="color: #006600;">ui</span>.<span style="color: #006600;">buttons</span>.<span style="color: #006600;">LabelButton</span>;
&nbsp;
	<span style="color: #808080; font-style: italic;">// The following metadata specifies the size and properties of the canvas that</span>
	<span style="color: #808080; font-style: italic;">// this application should occupy on the BlackBerry PlayBook screen.</span>
	<span style="color: #66cc66;">&#91;</span>SWF<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">width</span>=<span style="color: #ff0000;">&quot;1024&quot;</span>, <span style="color: #0066CC;">height</span>=<span style="color: #ff0000;">&quot;600&quot;</span>, <span style="color: #0066CC;">backgroundColor</span>=<span style="color: #ff0000;">&quot;#cccccc&quot;</span>, frameRate=<span style="color: #ff0000;">&quot;30&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span>
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> AIRHelloWorld <span style="color: #0066CC;">extends</span> Sprite
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> AIRHelloWorld<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">var</span> helloButton:LabelButton = <span style="color: #000000; font-weight: bold;">new</span> LabelButton<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			helloButton.<span style="color: #006600;">label</span> = <span style="color: #ff0000;">&quot;Hello World!&quot;</span>;
			helloButton.<span style="color: #006600;">x</span> = <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageWidth</span> - helloButton.<span style="color: #0066CC;">width</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">/</span><span style="color: #cc66cc;">2</span>;
			helloButton.<span style="color: #006600;">y</span> = <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageHeight</span> - helloButton.<span style="color: #0066CC;">height</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">/</span><span style="color: #cc66cc;">2</span>;
&nbsp;
			<span style="color: #000000; font-weight: bold;">var</span> myFormat:<span style="color: #0066CC;">TextFormat</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">TextFormat</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			myFormat.<span style="color: #0066CC;">color</span> = 0xAA0000;   
			myFormat.<span style="color: #0066CC;">size</span> = <span style="color: #cc66cc;">24</span>;  
			myFormat.<span style="color: #0066CC;">italic</span> = <span style="color: #000000; font-weight: bold;">true</span>;  
			myFormat.<span style="color: #0066CC;">align</span> = <span style="color: #ff0000;">&quot;center&quot;</span>;
&nbsp;
			<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">text</span>:<span style="color: #0066CC;">TextField</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">TextField</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #0066CC;">text</span>.<span style="color: #0066CC;">text</span> = <span style="color: #ff0000;">&quot;Close&quot;</span>;
			<span style="color: #0066CC;">text</span>.<span style="color: #0066CC;">setTextFormat</span><span style="color: #66cc66;">&#40;</span>myFormat<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #000000; font-weight: bold;">var</span> closeButton:<span style="color: #0066CC;">Button</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Button</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			closeButton.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">text</span><span style="color: #66cc66;">&#41;</span>;		
			closeButton.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>MouseEvent.<span style="color: #006600;">CLICK</span>, closeWindow<span style="color: #66cc66;">&#41;</span>;
			closeButton.<span style="color: #006600;">x</span> = <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageWidth</span> - closeButton.<span style="color: #0066CC;">width</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">/</span><span style="color: #cc66cc;">2</span>;
			closeButton.<span style="color: #006600;">y</span> = helloButton.<span style="color: #006600;">y</span> - helloButton.<span style="color: #0066CC;">height</span>;
&nbsp;
			addChild<span style="color: #66cc66;">&#40;</span>helloButton<span style="color: #66cc66;">&#41;</span>;
			addChild<span style="color: #66cc66;">&#40;</span>closeButton<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">nativeWindow</span>.<span style="color: #0066CC;">visible</span> = <span style="color: #000000; font-weight: bold;">true</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> closeWindow<span style="color: #66cc66;">&#40;</span>event:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">nativeWindow</span>.<span style="color: #0066CC;">close</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>All of you AS3 and Flash developers should be pretty pleased.  You get the comforts of your language of choice with the ability to access native QNX components; the best of both worlds.</p>
<h1>Setup Pitfalls</h1>
<p>I can&#8217;t stress enough that you need to follow the instructions exactly or you won&#8217;t get it working.  I speak from experience.  Perhaps you can save yourself a few minutes (or hours) of searching for the resolution to the cryptic errors you may encounter by looking at the problems I ran into.  But really, all of these could be avoided by following the instructions exactly as written.  </p>
<h2 style="text-decoration:underline;">The Flash Builder 4.0.1 update must be installed</h2>
<p>They only mention 4.0.1 about a dozen times but I figured &#8220;how important can a point release be?&#8221;.  Turns out, very.  You&#8217;ll see this if you ignore it too:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">An internal error occurred during: &quot;Launching AIRHelloWorld&quot;.
com.adobe.flexide.launching.air.ApolloLaunchConfiguration.getAIRProfile()Ljava/lang/String;</pre></div></div>

<p>Just download and install the <a href="http://www.adobe.com/support/flex/downloads_updaters.html#flex4" target="_blank">Flash Builder 4.0.1 update</a> and all will be resolved.</p>
<h2 style="text-decoration:underline;">Adobe Air 2.5 must be installed</h2>
<p>Again, they are clear as day about this, but you need to install the <a href="http://www.adobe.com/products/air/sdk/" target="_blank">Adobe Air 2.5 SDK</a>.  The version that comes with Flash Builder 4 is only 2.0.2, or might be 1.5, I can&#8217;t remember off hand.  You can find the version of Air your BlackBerry Tablet SDK is installed against by looking at the app config XML file (AIRHelloWorld-app.xml) in your project.  The first node, <strong>application</strong>, indicates the Air version used:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;application</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://ns.adobe.com/air/application/2.5&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span></pre></div></div>

<p>In any case, if its not the right version you have to install Air 2.5 or you&#8217;ll see an error similar to this:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Error: Cannot find node: versionNumber</pre></div></div>

<p>This is because the versionNumber node in your app configuration isn&#8217;t supported before Air 2.5.  In order to fix this error, you need to reinstall the BlackBerry Tablet SDK and make sure to point it at the directory of <a href="http://www.adobe.com/products/air/sdk/" target="_blank">Adobe Air 2.5</a> during the install.  If someone knows a better way to do it without having to reinstall the Blackberry Tablet SDK I&#8217;m all ears.</p>
<h2 style="text-decoration:underline;">Put your Playbook Simulator in Development Mode</h2>
<p>Even if you remember to put your Playbook Simulator in Development Mode as per the instructions, you&#8217;ll probably forget (like me) that you need to do that whenever you restart the simulator.  I&#8217;m not aware of a way to set Development Mode ON by default.  Here&#8217;s the error you&#8217;ll see:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Using icon: C:\development\AIRHelloWorld\bin-debug\blackberry-tablet-icon.png
Package created: C:\development\AIRHelloWorld/AIRHelloWorld.bar
Sending Install and Launch request...
Error: Device is not in the development mode. Switch to Development from Security settings on the device.</pre></div></div>

<p>All you have to do is follow the instructions <a href="http://docs.blackberry.com/en/developers/deliverables/21877/Enable_development_mode_1359171_11.jsp" target="_blank">here</a>, which will tell you to do the following:</p>
<ol>
<li>Activate the Playbook Simulator</li>
<li>Click the gear icon at the top right</li>
<li>Click &#8220;Security&#8221;</li>
<li>Click &#8220;General&#8221; under &#8220;Security Settings&#8221;</li>
<li>Toggle &#8220;Development Mode&#8221; to <strong>ON</strong> under &#8220;Development Settings&#8221;</li>
</ol>
<p></p>
<h1>Summary</h1>
<p>That&#8217;s all I got so far. It looks like a terrific platform and is really engaging a lot of the development community by integrating native access through external SDKs.  Soon as my plate clears up a bit I&#8217;m gonna hit this full steam and add myself to the list of the <del datetime="2011-01-27T13:49:44+00:00">lucky</del> talented developers (like <a href="http://www.jasonfincanon.com/" target="_blank">Jason Fincanon</a>) getting themselves a free Playbook.  </p>
<p><a href="http://savagelook.com/blog/portfolio/hello-blackberry-playbook">Hello, Blackberry Playbook!</a> is a post from: <a href="http://savagelook.com/blog">SavageLook.com</a></p>
<div class="shr-publisher-2113"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://savagelook.com/blog/portfolio/hello-blackberry-playbook/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Video: Google Project, Flash Builder 4, and Subclipse</title>
		<link>http://savagelook.com/blog/flash-builder-4/video-google-project-flash-builder-4-and-subclipse</link>
		<comments>http://savagelook.com/blog/flash-builder-4/video-google-project-flash-builder-4-and-subclipse#comments</comments>
		<pubDate>Mon, 13 Sep 2010 12:36:28 +0000</pubDate>
		<dc:creator>Tony Lukasavage</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Flash Builder 4]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Version Control]]></category>
		<category><![CDATA[google project]]></category>
		<category><![CDATA[subclipse]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://savagelook.com/blog/?p=796</guid>
		<description><![CDATA[Here's the 2 part "Google Project, Subversion, and Eclipse" guide condensed into one easy to follow video.<p><a href="http://savagelook.com/blog/flash-builder-4/video-google-project-flash-builder-4-and-subclipse">Video: Google Project, Flash Builder 4, and Subclipse</a> is a post from: <a href="http://savagelook.com/blog">SavageLook.com</a></p>
]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/DYcEm2KCSeM?fs=1&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/DYcEm2KCSeM?fs=1&amp;hl=en_US" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>In my prior 2 part guide entitled &#8220;Google Project, Subversion, and Eclipse&#8221; (<a href="http://savagelook.com/blog/portfolio/google-project-subversion-and-eclipse-part-1" target="_self">Part 1</a> and <a href="http://savagelook.com/blog/portfolio/google-project-subversion-and-eclipse-part-1" target="_self">Part 2</a>) I discussed how to setup a Google Project Hosting Subversion repository and how to integrate it into an Eclipse based IDE.  It came with lots of text and screenshots.  While lots of people prefer this method of step by step instruction (I&#8217;m usually one of them), its layout left me disappointed.</p>
<p>To remedy this dissatisfaction I put together this video.  It walks you through everything from that 2 part guide in a concise 6 minute video.  You&#8217;ll get to see exactly how to create a Google Project Hosting Subversion repository, install the <a href="http://subclipse.tigris.org/" target="_blank">Subclipse SVN plugin</a> for Flash Builder 4, and integrate the repository into your development environment.</p>
<p>You&#8217;ll have to forgive the very amateur nature of the video, this was my first time using <a href="http://www.adobe.com/products/captivate/" target="_blank">Adobe Captivate</a> .  Its a pretty intuitive software, but I&#8217;m totally ignorant to the finer points of video guide creation.  I&#8217;m sure that will start to change in the near future, though, especially if people actually take the time to watch this one.</p>
<p><a href="http://savagelook.com/blog/flash-builder-4/video-google-project-flash-builder-4-and-subclipse">Video: Google Project, Flash Builder 4, and Subclipse</a> is a post from: <a href="http://savagelook.com/blog">SavageLook.com</a></p>
<div class="shr-publisher-796"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://savagelook.com/blog/flash-builder-4/video-google-project-flash-builder-4-and-subclipse/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Project, Subversion, and Eclipse, Part 2</title>
		<link>http://savagelook.com/blog/flash-builder-4/google-project-subversion-and-eclipse-part-2</link>
		<comments>http://savagelook.com/blog/flash-builder-4/google-project-subversion-and-eclipse-part-2#comments</comments>
		<pubDate>Sat, 11 Sep 2010 07:04:50 +0000</pubDate>
		<dc:creator>Tony Lukasavage</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Flash Builder 4]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Version Control]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[google project]]></category>
		<category><![CDATA[subclipse]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://savagelook.com/blog/?p=740</guid>
		<description><![CDATA[In Part 2, I show you how to integrate your Google Project Hosting repository into your Eclipse based IDE of choice using Subclipse.<p><a href="http://savagelook.com/blog/flash-builder-4/google-project-subversion-and-eclipse-part-2">Google Project, Subversion, and Eclipse, Part 2</a> is a post from: <a href="http://savagelook.com/blog">SavageLook.com</a></p>
]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>In <a href="http://savagelook.com/blog/portfolio/google-project-subversion-and-eclipse-part-1" target="_self">Part 1 of this guide</a> we learned how to setup a Google Project Hosting Subversion repository for version control and remote storage of our code.  In Part 2 we will learn how to integrate this remote repository into the Eclipse based IDE of your choice.  Before starting, though, let me first mention that:</p>
<ul>
<li>I&#8217;m on a Windows system with <a href="http://tortoisesvn.tigris.org/" target="_blank">TortoiseSVN</a>, so some of this will vary on other OSes.</li>
<li>I will be using Flash Builder 4 for this guide, but Flex Builder 3 and other Eclipse based IDEs are very similar.</li>
<li>You&#8217;ll need to know the workspace directory of your IDE, which will be referred to as WORKSPACE from now on.</li>
</ul>
<p>So let&#8217;s say I want to check out my Away3D Flash Builder 4 template project.</p>
<ol>
<li>The first thing I do is go to my Google Project Hosting page and find the Subversion URL for that project.  You can find my project hosting at <a href="http://code.google.com/p/savagelook/">http://code.google.com/p/savagelook/</a><br />
<a href="http://code.google.com/p/savagelook/"></a><a href="http://savagelook.com/blog/wp-content/uploads/2010/09/project_home2.jpg" rel="shadowbox[sbpost-740];player=img;"><img class="alignnone size-full wp-image-747" title="Google Project Hosting Home" src="http://savagelook.com/blog/wp-content/uploads/2010/09/project_home2.jpg" alt="Google Project Hosting Home" width="628" height="185" /></a></li>
<li>Goto &#8220;<strong>Source -&gt; Browse</strong>&#8221; and we&#8217;ll find the project I&#8217;m looking for under the trunk, &#8220;<strong>away3d_template_fb4</strong>&#8220;.  The path to that project is &#8220;<strong>trunk/away3d_templates/away3d_template_fb4</strong>&#8220;.  You&#8217;ll need this for the checkout later.<br />
<a href="http://savagelook.com/blog/wp-content/uploads/2010/09/path.jpg" rel="shadowbox[sbpost-740];player=img;"><img class="alignnone size-full wp-image-750" title="Path to our project" src="http://savagelook.com/blog/wp-content/uploads/2010/09/path.jpg" alt="Path to our project" width="570" height="418" /></a></li>
<li>Now its time to install <a href="http://subclipse.tigris.org/" target="_blank">Subclipse</a>, an SVN plugin for Eclipse based IDEs.  Open up Flash Builder 4 (or whatever Eclipse based IDE you are using).  Goto &#8220;<strong>Help -&gt; Install New Software&#8230;</strong>&#8220;</li>
<li>In the resulting dialog, enter the following URL in the &#8220;Work with&#8221; field: <strong>http://subclipse.tigris.org/update_1.6.x</strong><br />
Then click  &#8221;Add&#8221;.  You will be prompted for a name for the site.  Just call it &#8220;Subclipse&#8221;.  After you click OK you should get a dialog that looks like this:<br />
<a href="http://savagelook.com/blog/wp-content/uploads/2010/09/software.jpg" rel="shadowbox[sbpost-740];player=img;"><img class="alignnone size-full wp-image-756" title="Installing New software" src="http://savagelook.com/blog/wp-content/uploads/2010/09/software.jpg" alt="Installing New software" width="533" height="531" /></a></li>
<li>Check &#8220;Subclipse&#8221; then expand its choices.  Deselect &#8220;Subclipse Integration for Mylyn 3.x (Optional)&#8221; and &#8220;Subversion Revision Graph&#8221;.  Your list should look like this:<br />
<a href="http://savagelook.com/blog/wp-content/uploads/2010/09/list.jpg" rel="shadowbox[sbpost-740];player=img;"><img class="alignnone size-full wp-image-758" title="Software List" src="http://savagelook.com/blog/wp-content/uploads/2010/09/list.jpg" alt="Software List" width="583" height="203" /></a></li>
<li>From here just follow the steps for the Subclipse install.  If you need specific instructions to get Subclipse loaded in your Eclipse based IDE, use the <a href="http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA" target="_blank">Download and Install instructions from the Subclipse website</a>.  The IDE will restart (or you should do it manually) when the install finishes.</li>
<li>After Flash Builder 4 reopens, right click in the Package Explorer and select &#8220;<strong>Import</strong>&#8230;&#8221;.  From the resulting dialog expand &#8220;<strong>SVN</strong>&#8221; and select &#8220;<strong>Checkout Projects From SVN</strong>&#8220;.  click Next.<br />
<a href="http://savagelook.com/blog/wp-content/uploads/2010/09/svn-dialog.jpg" rel="shadowbox[sbpost-740];player=img;"><img class="alignnone size-full wp-image-761" title="svn dialog" src="http://savagelook.com/blog/wp-content/uploads/2010/09/svn-dialog.jpg" alt="svn dialog" width="513" height="542" /></a></li>
<li>Select the radio button next to &#8220;<strong>Create a new repository location</strong>&#8221; and click Next.</li>
<li>In the &#8220;<strong>URL</strong>&#8221; field, I will be entering the following URL: <strong>https://savagelook.googlecode.com/svn/trunk/away3d_templates/away3d_template_fb4</strong><br />
Notice that the root of the path is my Google Project Hosting root &#8220;<strong>https://savagelook.googlecode.com/svn</strong>&#8221; and that it ends with the path to my specific project &#8220;<strong>trunk/away3d_templates/away3d_template_fb4</strong>&#8221; as mentioned in Step 2. click Next.</li>
<li>Your IDE will return a list of files under this project, but we are checking out the whole thing so just select the top level choice (the full URL) and click Finish.  It will likely take a few moments to finish, depending on the size of your project.<br />
<a href="http://savagelook.com/blog/wp-content/uploads/2010/09/final.jpg" rel="shadowbox[sbpost-740];player=img;"><img class="alignnone size-full wp-image-762" title="checkout in eclipse" src="http://savagelook.com/blog/wp-content/uploads/2010/09/final.jpg" alt="checkout in eclipse" width="502" height="335" /></a></li>
<li>In your Package Explorer you should now have your Google Project Hosted code integrated into your Eclipse based IDE.  You can do a quick confirmation of this by seeing if there are little yellow icons indicating version control on your filenames.  Also, you can mouse-over any version controlled filename to see when it was last committed and by whom.<br />
<a href="http://savagelook.com/blog/wp-content/uploads/2010/09/loaded.jpg" rel="shadowbox[sbpost-740];player=img;"><img class="alignnone size-full wp-image-764" title="SVN loaded project" src="http://savagelook.com/blog/wp-content/uploads/2010/09/loaded.jpg" alt="SVN loaded project" width="542" height="234" /></a></li>
<li>Now let&#8217;s try a quick change and commit.  I&#8217;m going to add a sphere to my Away3D template, then commit the change back to the Google Project Hosting Subversion repository.  After I make the code changes, save, and run the application, the local repository will mark the files as changed.  Notice the little yellow bars have changed to black and white asterisks on changed files.<br />
<a href="http://savagelook.com/blog/wp-content/uploads/2010/09/codechange.jpg" rel="shadowbox[sbpost-740];player=img;"><img class="alignnone size-full wp-image-766" title="Code change" src="http://savagelook.com/blog/wp-content/uploads/2010/09/codechange.jpg" alt="Code change" width="638" height="192" /></a></li>
<li>To commit all my changes I am going to right click on the project root in the Package Explorer and goto &#8220;<strong>Team -&gt; Commit&#8230;</strong>&#8221;<br />
<a href="http://savagelook.com/blog/wp-content/uploads/2010/09/commit.jpg" rel="shadowbox[sbpost-740];player=img;"><img class="alignnone size-full wp-image-768" title="commit changes" src="http://savagelook.com/blog/wp-content/uploads/2010/09/commit.jpg" alt="commit changes" width="572" height="512" /></a></li>
<li>In the resulting dialog I am going to write a simple commit message to give a little info about the changes and then click OK.  Eclipse will execute the commit and when it is finished you will see all those little black and white asterisks turn back into yellow bars.  This signifies that your local changes have been successfully sent to the Google Project Hosting Subversion repository.  Feel free to go back to the Google project web interface to confirm it.<br />
<a href="http://savagelook.com/blog/wp-content/uploads/2010/09/bigone.jpg" rel="shadowbox[sbpost-740];player=img;"><img class="alignnone size-full wp-image-771" title="Commit through eclipse" src="http://savagelook.com/blog/wp-content/uploads/2010/09/bigone.jpg" alt="Commit through eclipse" width="410" height="460" /></a></li>
</ol>
<p>Congrats, you made it!  If you managed to follow along with these 2 long blog posts of mine, you now have your code hosted by Google Project Hosting in a Subversion repository and have it fully integrated into the Eclipse based IDE of your choice.  Give yourself a pat on the back!</p>
<p>It may seem like a lot of work up front, but the ability to revert, merge, backup, branch, and tag code becomes priceless once you get into some serious projects.  The simple assurance that you can fall back to a any revision of your code when you inevitably F something up is great.  Learn to love version control and I assure you it will love you back.  Creepy&#8230;</p>
<p><a href="http://savagelook.com/blog/flash-builder-4/google-project-subversion-and-eclipse-part-2">Google Project, Subversion, and Eclipse, Part 2</a> is a post from: <a href="http://savagelook.com/blog">SavageLook.com</a></p>
<div class="shr-publisher-740"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://savagelook.com/blog/flash-builder-4/google-project-subversion-and-eclipse-part-2/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Configure Flex SDK in Flash Builder 4</title>
		<link>http://savagelook.com/blog/flash-builder-4/configure-flex-sdk-in-flash-builder-4</link>
		<comments>http://savagelook.com/blog/flash-builder-4/configure-flex-sdk-in-flash-builder-4#comments</comments>
		<pubDate>Fri, 27 Aug 2010 18:06:59 +0000</pubDate>
		<dc:creator>Tony Lukasavage</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Flash Builder 4]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://savagelook.com/blog/?p=502</guid>
		<description><![CDATA[A quick guide to installing a new Flex SDK version in Flash Builder 4 <p><a href="http://savagelook.com/blog/flash-builder-4/configure-flex-sdk-in-flash-builder-4">Configure Flex SDK in Flash Builder 4</a> is a post from: <a href="http://savagelook.com/blog">SavageLook.com</a></p>
]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>OK, this is a pretty boring update to the blog, but I thought it might be useful to at least a handful of people.  Flash Builder 4 comes with a stock version of the Flex 3.5 and 4.0 SDKs.  If you are like me, though, you want the latest and greatest as soon as you can get your hands on it.  For that reason I put together this very short and simple explanation of how to install specific Flex SDKs for your Flash Builder 4.  For those familiar with Flex Builder 3, this will seem pretty familiar.</p>
<p>- <b>FLASH_BUILDER_4_HOME</b> is your Flash Builder 4 install path (i.e., C:\Program Files\Adobe\Flash Builder 4)<br />
- <b> SDK_VERSION</b> is the version number of your Flex SDK (i.e., 4.1.0)</p>
<ol>
<li>Get your desired Flex SDK from the <a href="http://opensource.adobe.com/wiki/display/flexsdk/Downloads" target="_blank">Flex SDK Download page</a>.
<p><div id="attachment_505" class="wp-caption alignnone" style="width: 427px"><a href="http://opensource.adobe.com/wiki/display/flexsdk/Downloads" target="_blank"><img class="size-full wp-image-505   " title="Flex SDK Download Page" src="http://savagelook.com/blog/wp-content/uploads/2010/08/flex_download.jpg" alt="" width="417" height="236" /></a><p class="wp-caption-text">Flex SDK Download Page</p></div></li>
<li>Unzip the archive to FLASH_BUILDER_4_HOME/sdks/SDK_VERSION</li>
<li>Open Flash Builder 4 and in the menu bar goto Windows -&gt; Preferences
<p><img class="alignnone size-full wp-image-511" title="Preferences" src="http://savagelook.com/blog/wp-content/uploads/2010/08/preferences.jpg" alt="" width="437" height="463" /></li>
<li>In the left pane of the Preferences window expand &#8220;Flash Builder&#8221; and click &#8220;Installed Flex SDKs&#8221;.  Click &#8220;Add&#8230;&#8221; in the right pane.
<p><img class="alignnone size-full wp-image-513" title="Installed Flex SDKs" src="http://savagelook.com/blog/wp-content/uploads/2010/08/installed_sdks.jpg" alt="" width="415" height="287" /></li>
<li>In the &#8220;Add Flex SDK&#8221; window enter the location of your new SDK (FLASH_BUILDER_4_HOME/sdks/SDK_VERSION) or click the &#8220;Browse..&#8221; button to find it yourself.  If you enter the path correctly, the &#8220;Flex SDK Name&#8221; field should auto-populate with the correct SDK name.
<p><img class="alignnone size-full wp-image-515" title="SDK Location" src="http://savagelook.com/blog/wp-content/uploads/2010/08/location.jpg" alt="" width="443" height="167" /></li>
<li>Click &#8220;OK&#8221; and your Flex SDK should be successfully installed.  You can now also set it as the default, if you wish, for all your future Flex projects.  Just click the checkbox next to the name of your SDK and click &#8220;Apply&#8221;.</li>
</ol>
<p>Even if you set up a new SDK as the default, there&#8217;s no reason you have to use it on all of your projects.  During the creation of a new Flex project you can specify which SDK you want to use in the &#8220;Flex SDK version&#8221; section.  You simply need to click the &#8220;Use a specific SDK&#8221; radio button and then select one of your installed SDKs from the drop down.  </p>
<p>You can also change the SDK after the project is created.  With your project selected, goto Project -> Properties and then click on &#8220;Flex Compiler&#8221; in the left pane.  On the right you&#8217;ll now see the same &#8220;Flex SDK version&#8221; section that was mentioned in the last paragraph.  Just change it and click &#8220;Apply&#8221;.</p>
<p>And thats about it.  Dig and have fun, Flash Builder 4 really is a fantastic IDE.</p>
<p><a href="http://savagelook.com/blog/flash-builder-4/configure-flex-sdk-in-flash-builder-4">Configure Flex SDK in Flash Builder 4</a> is a post from: <a href="http://savagelook.com/blog">SavageLook.com</a></p>
<div class="shr-publisher-502"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://savagelook.com/blog/flash-builder-4/configure-flex-sdk-in-flash-builder-4/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash Builder 4: addElement() instead of addChild()</title>
		<link>http://savagelook.com/blog/actionscript3/flash-builder-4-addelement-instead-of-addchild</link>
		<comments>http://savagelook.com/blog/actionscript3/flash-builder-4-addelement-instead-of-addchild#comments</comments>
		<pubDate>Tue, 27 Jul 2010 12:56:08 +0000</pubDate>
		<dc:creator>Tony Lukasavage</dc:creator>
				<category><![CDATA[ActionScript3]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Flash Builder 4]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flex 4]]></category>

		<guid isPermaLink="false">http://savagelook.com/blog/?p=210</guid>
		<description><![CDATA[Here&#8217;s a quick tip for those of you who are also switching to Flex 4.x/Flash Builder 4 from Flex 3.x/Flex Builder 3.  In the past when you wanted to add a Flash DisplayObject to the main Application canvas you&#8217;d wrap the DisplayObject in a UIComponent, then add the UIComponent to the Application as a child, [...]<p><a href="http://savagelook.com/blog/actionscript3/flash-builder-4-addelement-instead-of-addchild">Flash Builder 4: addElement() instead of addChild()</a> is a post from: <a href="http://savagelook.com/blog">SavageLook.com</a></p>
]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Here&#8217;s a quick tip for those of you who are also switching to Flex 4.x/Flash Builder 4 from Flex 3.x/Flex Builder 3.  In the past when you wanted to add a Flash DisplayObject to the main Application canvas you&#8217;d wrap the DisplayObject in a UIComponent, then add the UIComponent to the Application as a child, like this:</p>
<pre style="background:#cccccc;"><code style="color:#000000; font-weight:bold; font-size:1.1em;">var sprite:Sprite = new Sprite();
var ui:UIComponent = new UIComponent();
ui.addChild(sprite);
this.addChild(ui);</code></pre>
<p></p>
<p>Try that in Flash Builder 4 and you&#8217;ll encounter a fun error that looks like this:</p>
<pre style="background:#cccccc;"><code style="color:#000000; font-weight:bold; font-size:1.1em;">Error: addChild() is not available in this class. Instead, use
addElement() or modify the skin, if you have one.</code></pre>
<p></p>
<p>To resolve it, simply change the last line of the previous code to use addElement() instead (change in <span style="color: #ff0000;">red</span>):</p>
<pre style="background:#cccccc;"><code style="color:#000000; font-weight:bold; font-size:1.1em;">var sprite:Sprite = new Sprite();
var ui:UIComponent = new UIComponent();
ui.addChild(sprite);
&lt;span style="color: #ff0000;"&gt;this.addElement(ui);&lt;/span&gt;</code></pre>
<p></p>
<p><a href="http://savagelook.com/blog/actionscript3/flash-builder-4-addelement-instead-of-addchild">Flash Builder 4: addElement() instead of addChild()</a> is a post from: <a href="http://savagelook.com/blog">SavageLook.com</a></p>
<div class="shr-publisher-210"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://savagelook.com/blog/actionscript3/flash-builder-4-addelement-instead-of-addchild/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
