<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Desenvolvendo Aplicações e a Mente</title>
	<atom:link href="http://desenvolvendoaplicacoeseamente.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://desenvolvendoaplicacoeseamente.wordpress.com</link>
	<description>Este blog tem como objetivo a publicação de pequenos artigos sobre tecnologias relacionadas a plataforma Java!</description>
	<lastBuildDate>Sun, 13 Dec 2009 20:30:38 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='desenvolvendoaplicacoeseamente.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Desenvolvendo Aplicações e a Mente</title>
		<link>http://desenvolvendoaplicacoeseamente.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://desenvolvendoaplicacoeseamente.wordpress.com/osd.xml" title="Desenvolvendo Aplicações e a Mente" />
	<atom:link rel='hub' href='http://desenvolvendoaplicacoeseamente.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Instalando e rodando sua primeira aplicação com o Android</title>
		<link>http://desenvolvendoaplicacoeseamente.wordpress.com/2009/12/13/instalando-e-rodando-sua-primeira-aplicacao-com-o-android/</link>
		<comments>http://desenvolvendoaplicacoeseamente.wordpress.com/2009/12/13/instalando-e-rodando-sua-primeira-aplicacao-com-o-android/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 19:31:50 +0000</pubDate>
		<dc:creator>Gustavo Matias</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://desenvolvendoaplicacoeseamente.wordpress.com/?p=12</guid>
		<description><![CDATA[Requisitos desejáveis: - JDK 6 - Eclipse IDE - Windows XP Acesse http://developer.android.com/sdk/index.html e baixe o arquivo de acordo com a sua plataforma, nesse post estarei me baseando na plataforma Windows. Após ter baixado o arquivo, descompacte em C: e renomeie o diretório para &#8220;android&#8221;,  só pra facilitar um pouco. Este é o conteúdo do [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=desenvolvendoaplicacoeseamente.wordpress.com&amp;blog=10853596&amp;post=12&amp;subd=desenvolvendoaplicacoeseamente&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Requisitos desejáveis:</p>
<p>- JDK 6</p>
<p>- Eclipse IDE</p>
<p>- Windows XP</p>
<p>Acesse <a href="http://developer.android.com/sdk/index.html">http://developer.android.com/sdk/index.html</a> e baixe o arquivo de acordo com a sua plataforma, nesse post estarei me baseando na plataforma Windows.</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i11.jpg"><img class="alignleft size-full wp-image-14" title="i1" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i11.jpg?w=450&#038;h=246" alt="" width="450" height="246" /></a></p>
<p>Após ter baixado o arquivo, descompacte em C: e renomeie o diretório para &#8220;android&#8221;,  só pra facilitar um pouco.</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i8.jpg"><img class="alignleft size-full wp-image-15" title="i8" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i8.jpg?w=450" alt=""   /></a></p>
<p>Este é o conteúdo do zip após descompactado, não se desespere com os diretórios platforms e add-ons vazios, pois serão usados futuramente.</p>
<p>Execute o arquivo &#8220;SDK Setup&#8221;, uma tela do DOS irá piscar rapidamente e então o Setup será apresentado.</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i9.jpg"><img class="alignleft size-full wp-image-16" title="i9" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i9.jpg?w=450&#038;h=260" alt="" width="450" height="260" /></a> Se caso você receber essa mensagem de erro ao tentar acessar a URL seguinte, não tem problema! vamos dar um jeito nisso a seguir.</p>
<p>Feche esta janela e vá em &#8220;Settings&#8221;, então selecione a opção &#8220;Force https://&#8230; sources to be fetched using http://&#8230;&#8221; e clique em &#8220;Save &amp; Apply&#8221;, e tudo deverá funcionar corretamente agora.</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i10.jpg"><img class="alignleft size-full wp-image-17" title="i10" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i10.jpg?w=450&#038;h=260" alt="" width="450" height="260" /></a></p>
<p>Então as bibliotecas do android serao carregadas, poderá levar alguns minutos para concluir.</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i111.jpg"><img class="alignleft size-full wp-image-18" title="i11" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i111.jpg?w=450&#038;h=264" alt="" width="450" height="264" /></a></p>
<p>Em seguida vá em &#8220;Available Packages&#8221; para podermos instalar o SDK do android e mais algumas outras coisas.</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i12.jpg"><img class="alignleft size-full wp-image-19" title="i12" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i12.jpg?w=450&#038;h=260" alt="" width="450" height="260" /></a></p>
<p>Selecione o SDK que deseja instalar, algumas pessoas preferem instalar todas as versões para poderem ver se o aplicativo funcionará em todas as versões disponíveis.</p>
<p>Após selecionado, clique em &#8220;Install Selected&#8221;, isto levará muitos minutos!</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i13.jpg"><img class="alignleft size-full wp-image-20" title="i13" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i13.jpg?w=450&#038;h=261" alt="" width="450" height="261" /></a></p>
<p>Enquanto o download não acaba vamos colocar o diretório tools do android na variável Path do sistema, Clique com o botão direito em meu computador -&gt; &#8220;Propriedades&#8221; e vá na aba &#8220;Avançado&#8221; e clique no botão &#8220;Variáveis de Ambiente&#8221;. Selecione a variável &#8220;Path&#8221; do sistema e clique em &#8220;Editar&#8221;, então no final da linha adicione o seguinte: &#8220;;C:\android\tools&#8221; (o &#8220;;&#8221; serve para separar uma variável da outra).</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i14.jpg"><img class="alignleft size-full wp-image-21" title="i14" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i14.jpg?w=450" alt=""   /></a> Provavelmente você precisará reiniciar o computador para que isso funcione.</p>
<p>Agora voltando para o download que parece que nunca acaba&#8230;</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i15.jpg"><img class="alignleft size-full wp-image-22" title="i15" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i15.jpg?w=450&#038;h=282" alt="" width="450" height="282" /></a></p>
<p>Agora iremos criar uma AVD.</p>
<p>O conceito de AVD foi criado a partir do SDK 1.5 para auxiliar no desenvolvimento de aplicações Android, para que o emulador possa simular exatamente uma configuração de um celular real, como o HTC G1.</p>
<p>Desta forma é possível criar várias configurações de AVD para testar as aplicações. Por exemplo, se você sabe que sua aplicação deve executar sobre um G1, será necessário criar uma configuração compatível com o SDK 1.1.</p>
<p>Se sua aplicação vai utilizar novos recursos, como o teclado virtual (SDK 1.5), é possível criar um AVD compatível com isto.</p>
<p>Para você saber quais as configurações (image targets) estão disponíveis, abra um prompt (Iniciar -&gt; Executar -&gt; e digite &#8220;cmd&#8221;) e digite: android list targets</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i17.jpg"><img title="i17" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i17.jpg?w=450&#038;h=121" alt="" width="450" height="121" /></a></p>
<p>Nesta lista podemos ver que existem a configuração com o id: 1, mas se você instalou outras configurações provavelmente verá mais de um id.</p>
<p>para fazer com que o android funcione em uma determinada configuração digite no prompt &#8220;android create avd -n android2 -t 1 -c 128M&#8221;, onde:</p>
<p>&#8220;android2&#8243; é um nome qualquer para distiguir o nome da configuração que está sendo criada. e &#8220;1&#8243; é o ID da configuração que irá ser criada.</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i16.jpg"><img class="alignleft size-full wp-image-24" title="i16" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i16.jpg?w=450&#038;h=68" alt="" width="450" height="68" /></a></p>
<p>Após executar o comando será necessário responder se você deseja criar um perfil customizado do hardware, o padrão é não (no).</p>
<p>Agora vamos instalar o plugin do Android no eclipse. Abra o eclipse, vá no menu &#8220;Ajuda&#8221; e depois em &#8220;Atualizações de Software&#8221;</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i4.jpg"><img class="alignleft size-full wp-image-25" title="i4" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i4.jpg?w=450" alt=""   /></a></p>
<p>Adicione um novo site clicando em &#8220;Add Site&#8221;  e insira &#8220;https://dl-ssl.google.com/android/eclipse/&#8221; caso não funcione tente: &#8220;http://dl-ssl.google.com/android/eclipse/&#8221;.</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i5.jpg"><img class="alignleft size-full wp-image-26" title="i5" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i5.jpg?w=450&#038;h=316" alt="" width="450" height="316" /></a></p>
<p>Quando carregar as informações do plugin do android selecione as duas opções disponíveis.</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i6.jpg"><img class="alignleft size-full wp-image-27" title="i6" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i6.jpg?w=450&#038;h=316" alt="" width="450" height="316" /></a></p>
<p>Irá levar um tempo até que os plugins sejam baixados.</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i7.jpg"><img class="alignleft size-full wp-image-28" title="i7" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i7.jpg?w=450&#038;h=316" alt="" width="450" height="316" /></a></p>
<p>Finalmente após finalizado o download, feche a janela e vamos criar a nossa primeira aplicação android. Primeiramente mude para a perspective do Java.</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i18.jpg"><img class="alignleft size-full wp-image-29" title="i18" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i18.jpg?w=450" alt=""   /></a></p>
<p>Então vamos criar um novo projeto Android, indo em Arquivo -&gt; Novo -&gt; Outro e selecione &#8220;Android Project&#8221;, clique em &#8220;Próximo&#8221;.</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i20.jpg"><img class="alignleft size-full wp-image-30" title="i20" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i20.jpg?w=450&#038;h=450" alt="" width="450" height="450" /></a></p>
<p>Coloque o nome do projeto como HelloWorld, preecha o nome da aplicação com &#8220;HelloWorld&#8221; e o pacote como &#8220;br.com.blog&#8221;, o nome da atividade será &#8220;Hello&#8221; e o &#8220;Min SDK Version&#8221; que foi escolhida é a 6 que nada mais é a configuração Android que escolhi no campo &#8220;Build Target&#8221;.</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i21.jpg"><img class="alignleft size-full wp-image-31" title="i21" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i21.jpg?w=450&#038;h=585" alt="" width="450" height="585" /></a></p>
<p>Clique em &#8220;Finish&#8221; e você verá que o projeto foi criado com a classe &#8220;Hello.java&#8221; no pacote br.com.blog do projeto HelloWorld.</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i22.jpg"><img class="alignleft size-full wp-image-32" title="i22" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i22.jpg?w=450&#038;h=128" alt="" width="450" height="128" /></a></p>
<p>Agora vamos rodar a nossa aplicação HelloWorld, clique com o botão direito em cima do projeto -&gt; Executar como -&gt; Aplicação Android</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i23.jpg"><img class="alignleft size-full wp-image-33" title="i23" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i23.jpg?w=450&#038;h=313" alt="" width="450" height="313" /></a></p>
<p>O emulador do android será iniciado&#8230;</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i24.jpg"><img class="alignleft size-full wp-image-34" title="i24" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i24.jpg?w=450&#038;h=316" alt="" width="450" height="316" /></a></p>
<p>Caso receba algum tipo de erro na primeira vez que executar o emulador simplesmente ignore cliando em &#8220;Force close&#8221;</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i25.jpg"><img class="alignleft size-full wp-image-35" title="i25" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i25.jpg?w=450&#038;h=312" alt="" width="450" height="312" /></a></p>
<p>Pronto! A nossa primeira aplicação em android foi executada com sucesso!</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i26.jpg"><img class="alignleft size-full wp-image-36" title="i26" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i26.jpg?w=450&#038;h=314" alt="" width="450" height="314" /></a></p>
<p>Caso alguma coisa não esteja bem clara ou perceberam que houve algum equívoco em alguma parte desse tutorial por favor comente aqui para que eu possa corrigir.</p>
<p>Fonte: <a href="http://whyandroid.com/android/216-how-to-install-the-">http://whyandroid.com/android/216-how-to-install-the-</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/desenvolvendoaplicacoeseamente.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/desenvolvendoaplicacoeseamente.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/desenvolvendoaplicacoeseamente.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/desenvolvendoaplicacoeseamente.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/desenvolvendoaplicacoeseamente.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/desenvolvendoaplicacoeseamente.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/desenvolvendoaplicacoeseamente.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/desenvolvendoaplicacoeseamente.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/desenvolvendoaplicacoeseamente.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/desenvolvendoaplicacoeseamente.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/desenvolvendoaplicacoeseamente.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/desenvolvendoaplicacoeseamente.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/desenvolvendoaplicacoeseamente.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/desenvolvendoaplicacoeseamente.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=desenvolvendoaplicacoeseamente.wordpress.com&amp;blog=10853596&amp;post=12&amp;subd=desenvolvendoaplicacoeseamente&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://desenvolvendoaplicacoeseamente.wordpress.com/2009/12/13/instalando-e-rodando-sua-primeira-aplicacao-com-o-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/49e393639eee97d0736559b27693d28d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gumatias</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i11.jpg" medium="image">
			<media:title type="html">i1</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i8.jpg" medium="image">
			<media:title type="html">i8</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i9.jpg" medium="image">
			<media:title type="html">i9</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i10.jpg" medium="image">
			<media:title type="html">i10</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i111.jpg" medium="image">
			<media:title type="html">i11</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i12.jpg" medium="image">
			<media:title type="html">i12</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i13.jpg" medium="image">
			<media:title type="html">i13</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i14.jpg" medium="image">
			<media:title type="html">i14</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i15.jpg" medium="image">
			<media:title type="html">i15</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i17.jpg" medium="image">
			<media:title type="html">i17</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i16.jpg" medium="image">
			<media:title type="html">i16</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i4.jpg" medium="image">
			<media:title type="html">i4</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i5.jpg" medium="image">
			<media:title type="html">i5</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i6.jpg" medium="image">
			<media:title type="html">i6</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i7.jpg" medium="image">
			<media:title type="html">i7</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i18.jpg" medium="image">
			<media:title type="html">i18</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i20.jpg" medium="image">
			<media:title type="html">i20</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i21.jpg" medium="image">
			<media:title type="html">i21</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i22.jpg" medium="image">
			<media:title type="html">i22</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i23.jpg" medium="image">
			<media:title type="html">i23</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i24.jpg" medium="image">
			<media:title type="html">i24</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i25.jpg" medium="image">
			<media:title type="html">i25</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/i26.jpg" medium="image">
			<media:title type="html">i26</media:title>
		</media:content>
	</item>
		<item>
		<title>MVC Pattern : Visão geral e comparação no JSF e Struts &#8211; Parte 1</title>
		<link>http://desenvolvendoaplicacoeseamente.wordpress.com/2009/12/08/mvc-pattern-visao-geral-e-comparacao-no-jsf-e-struts-parte-1/</link>
		<comments>http://desenvolvendoaplicacoeseamente.wordpress.com/2009/12/08/mvc-pattern-visao-geral-e-comparacao-no-jsf-e-struts-parte-1/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 19:01:57 +0000</pubDate>
		<dc:creator>Gustavo</dc:creator>
				<category><![CDATA[Padrões de Projeto]]></category>
		<category><![CDATA[arquitetura]]></category>
		<category><![CDATA[comparação]]></category>
		<category><![CDATA[controller]]></category>
		<category><![CDATA[jsf]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[pattern]]></category>
		<category><![CDATA[struts]]></category>
		<category><![CDATA[view]]></category>

		<guid isPermaLink="false">http://desenvolvendoaplicacoeseamente.wordpress.com/?p=3</guid>
		<description><![CDATA[Introdução MVC Pattern O MVC foi inicialmente popularizado pelo Smalltalk (Goldberg &#38; Robson 1983) e agora é em muitos UI frameworks modernos. Um dos objetivos primários do MVC é fornecer componentes reutilizáveis para interfaces de usuários interativas. Aplicações em Swing fazem isto maravilhosamente, enquanto Struts faz em menor escala na web. O JSF, como o [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=desenvolvendoaplicacoeseamente.wordpress.com&amp;blog=10853596&amp;post=3&amp;subd=desenvolvendoaplicacoeseamente&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Introdução MVC Pattern</strong></p>
<p>O MVC foi inicialmente popularizado pelo Smalltalk (Goldberg &amp; Robson 1983) e agora é em muitos UI frameworks modernos. Um dos objetivos primários do MVC é fornecer componentes reutilizáveis para interfaces de usuários interativas. Aplicações em Swing fazem isto maravilhosamente, enquanto Struts faz em menor escala na web. O JSF, como o Struts é direcionado para aplicações Web, porém se aproxima do Swing na medida que se concentra em fornecer UI componentes reutilizáveis.</p>
<p>O padrão MVC tem como intenção dividir a aplicação em 3 camadas:<br />
- Model (modelo)<br />
- View (visão)<br />
- Controller (controle)<br />
A camada Model é composta pelas classes da aplicação que representam o domínio da aplicação, tais como beans e regras de negócio. Já a camada View representa a camada de interface com o usuário, responsável por apresentar os dados. A camada Controller gerencia o fluxo da aplicação.</p>
<p><strong>Motivação</strong></p>
<p>A parte mais volátil de uma aplicação interativa é a inteface com o usuário, a camada View. Tendo em vista que os requisitos mudam regularmente, temos que atualizar a inteface de acordo com as necessidades. Nas aplicações monocamadas, altamente acopladas, até a menor das alterações pode ser tornar complicada. Também podemos citar que uma mesma aplicação pode requisitar diferentes Views para cada usuário. Isto, adiciona, a cada nova versão, complexidade extra e geralmente as novas versões perdem a sincronia com as anteriores.</p>
<p><strong>Solução</strong></p>
<p>O padrão MVC fornece uma solução flexível desacoplando a aplicação em camadas: Model, View e Controller. Uma interface uniforme entre elas é gerada deixando transparente a implementação das camadas com relação a outras.</p>
<p><strong>Estrutura</strong></p>
<p>A imagem abaixo representa a estrutura do MVC.</p>
<p><a href="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/mvc-structure-generic.gif"><img class="alignnone size-medium wp-image-4" title="mvc-structure-generic" src="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/mvc-structure-generic.gif?w=300&#038;h=210" alt="" width="300" height="210" /></a></p>
<p>MVC Pattern, fonte: http://java.sun.com/blueprints/patterns/MVC-detailed.html</p>
<p>Como foi apresentado anteriomente existem três participantes principais. Um sumário é apresentado abaixo:</p>
<p>- Model: Representação componentizada dos dados da aplicação e lógica funcional. É essencialmente o núcleo da aplicação;<br />
- View: Fornece um ou mais representação dos dados da aplicação. Este é a camada de interação com o usuário;<br />
- Controller: Esta camada processa os eventos dirigidos pelos usuários que podem resultar em alterações nos dados ou manipulação da própria View.</p>
<p>Quando um usuário interage com os componentes da camada View, eventos são enviados para um ou mais Controllers para processamento. Caso o evento requisite alterações na camada Model, o Controller manipulará os dados do Model ou invocará operações específicas da aplicação. Caso o evento requisite mudanças na própria camada View, o Controller diretamente a manipulará e poderá executar operações como adicionar, remover, atualizar, esconder componentes.</p>
<p>A camada View depende da camada Model para apresentar os dados para os usuários porém ela não altera o Model diretamente. Quando mudanças ocorrem em Model, a View é notificada e pode consultar o Model para informações adicionais. Isto proporciona a View a oportunidade de sincronização com o Model.</p>
<p>A camada Controller e a View estão baixamente acopladas com o Model com o mecanismo de notificação por mudança através de registros de Observadores no Model. O Observer Pattern oferece uma solução para este mecanismo e será abordado futuramente.</p>
<p><strong>Consequências</strong></p>
<p>Existem consequências bem conhecidas sobre a utilização do Padrão MVC, nem todas boas:</p>
<p>- Baixo acoplamente entre a camada Model e a View, múltiplas representações dos mesmos dados são possíveis;</p>
<p>- O mecanismo de notificação oferece uma sincronização das Views e Controllers dependentes sem requerer alto acoplamento; As camadas Views e Controllers observam mudanças no Model e recebem notificações quando elas ocorrem;<br />
- O Padrão MVC encouraja a utilização de componentes UI reutilizáveis;<br />
- O Padrão MVC adiciona complexidade em aplicações simples que não se beneficiam do baixo acoplamento do Model. Porém muitas aplicações começam simples e após adquirem complexidade;<br />
- As camadas View e Controller são intimamente relacionadas, o que pode limitar sua reutilização;<br />
- O número de atualizações acionadas pelas Views e Controllers podem ser excessivas e um abordagem mais refinada de registro geralmente é mais apropriada. É sugerido apenas o registro das partes do Model que interessam a View e a Controller.</p>
<p>Fonte: Mastering JavaServes Faces, 2004, Java BluePrints &#8211; J2EE Patterns http://java.sun.com</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/desenvolvendoaplicacoeseamente.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/desenvolvendoaplicacoeseamente.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/desenvolvendoaplicacoeseamente.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/desenvolvendoaplicacoeseamente.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/desenvolvendoaplicacoeseamente.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/desenvolvendoaplicacoeseamente.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/desenvolvendoaplicacoeseamente.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/desenvolvendoaplicacoeseamente.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/desenvolvendoaplicacoeseamente.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/desenvolvendoaplicacoeseamente.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/desenvolvendoaplicacoeseamente.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/desenvolvendoaplicacoeseamente.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/desenvolvendoaplicacoeseamente.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/desenvolvendoaplicacoeseamente.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=desenvolvendoaplicacoeseamente.wordpress.com&amp;blog=10853596&amp;post=3&amp;subd=desenvolvendoaplicacoeseamente&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://desenvolvendoaplicacoeseamente.wordpress.com/2009/12/08/mvc-pattern-visao-geral-e-comparacao-no-jsf-e-struts-parte-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d4450b5edb554962c42817ba3a745472?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Gustavo</media:title>
		</media:content>

		<media:content url="http://desenvolvendoaplicacoeseamente.files.wordpress.com/2009/12/mvc-structure-generic.gif?w=300" medium="image">
			<media:title type="html">mvc-structure-generic</media:title>
		</media:content>
	</item>
	</channel>
</rss>
