<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2050029748151061599</id><updated>2022-03-29T22:33:19.086+02:00</updated><category term="android"/><category term="miscelánea"/><category term="postgreSQL"/><category term="ubuntu"/><category term="java"/><category term="curso android"/><category term=".NET"/><category term="alfresco"/><category term="mysql"/><category term="control de versiones"/><category term="eclipse"/><category term="jaxb"/><category term="blogger"/><category term="amazon"/><category term="google"/><category term="SQLite"/><category term="nhibernate"/><category term="ubuntu server"/><category term="SQL"/><category term="elgg"/><category term="xml"/><category term="hibernate"/><category term="innovacion"/><category term="javascript"/><category term="oracle"/><category term="virtualización"/><category term="CNAME"/><category term="DNS"/><category term="SEO"/><category term="SQL Server 2012"/><category term="apache"/><category term="conectores"/><category term="docasu"/><category term="lamp"/><category term="matlab"/><category term="servicios web"/><category term="tapestry5"/><category term="tomcat"/><category term="SERVER_NAME"/><category term="aplicaciones"/><category term="modbus"/><category term="redireccion"/><category term="squirrel"/><title type='text'>El blog de Jose A. López Pastor</title><subtitle type='html'>Tecnología, Alfresco, Android, gadgets, Internet, desarrollo web, frikadas y alguna cosa más</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>210</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-3295664365802805160</id><published>2015-08-17T23:28:00.001+02:00</published><updated>2015-08-17T23:28:29.660+02:00</updated><title type='text'>Clase 3ª del curso SQL Server 2012</title><content type='html'>Os dejo la 3ª clase del curso de SQL Server 2012.&lt;br /&gt;En breve tendremos la 4ª entrega!&lt;br /&gt;Espero que os sirva y os ayude.&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;355&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;//es.slideshare.net/slideshow/embed_code/key/kraImuxzYOS0Gb&quot; style=&quot;border-width: 1px; border: 1px solid #CCC; margin-bottom: 5px; max-width: 100%;&quot; width=&quot;425&quot;&gt; &lt;/iframe&gt; &lt;br /&gt;&lt;div style=&quot;margin-bottom: 5px;&quot;&gt;&lt;strong&gt; &lt;a href=&quot;https://es.slideshare.net/josealopezpastor/curso-sql-server-2012-clase-3&quot; target=&quot;_blank&quot; title=&quot;Curso sql server 2012 clase 3&quot;&gt;Curso sql server 2012 clase 3&lt;/a&gt; &lt;/strong&gt; from &lt;strong&gt;&lt;a href=&quot;https://www.slideshare.net/josealopezpastor&quot; target=&quot;_blank&quot;&gt;josealopezpastor&lt;/a&gt;&lt;/strong&gt; &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Saludos</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/3295664365802805160/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2015/08/clase-3-del-curso-sql-server-2012.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/3295664365802805160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/3295664365802805160'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2015/08/clase-3-del-curso-sql-server-2012.html' title='Clase 3ª del curso SQL Server 2012'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-8558957206873205544</id><published>2015-08-07T11:30:00.005+02:00</published><updated>2015-08-07T11:30:58.415+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android"/><title type='text'>Llamando a un AlertDialog fuera de una activity</title><content type='html'>Esta mañana me he tenido que pelear con un AlertDialog que podía hacer dos opciones, por un lado mandar el documento adjunto por mail o por otro lado abrir el pdf. El problema era que llamaba al AlertDialog desde fuera de la Activity por lo que he tenido que usar&lt;br /&gt;&lt;pre style=&quot;background-color: white; color: black; font-family: &#39;DejaVu Sans Mono&#39;; font-size: 9,0pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: white; color: black; font-family: &#39;DejaVu Sans Mono&#39;; font-size: 9,0pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;alertDialog.getWindow().setType(WindowManager.LayoutParams.&lt;span style=&quot;color: #660e7a; font-style: italic; font-weight: bold;&quot;&gt;TYPE_SYSTEM_ALERT&lt;/span&gt;);&lt;/span&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: white; color: black; font-family: &#39;DejaVu Sans Mono&#39;; font-size: 9,0pt;&quot;&gt;&amp;nbsp;&lt;/pre&gt;y añadir un permiso en el AndroidManifest.xml&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: white; color: black; font-family: &amp;quot;DejaVu Sans Mono&amp;quot;;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;lt;&lt;span style=&quot;color: navy; font-weight: bold;&quot;&gt;uses-permission &lt;/span&gt;&lt;span style=&quot;color: #660e7a; font-weight: bold;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: blue; font-weight: bold;&quot;&gt;:name=&lt;/span&gt;&lt;span style=&quot;color: green; font-weight: bold;&quot;&gt;&quot;android.permission.SYSTEM_ALERT_WINDOW&quot; &lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: white; color: black; font-family: &#39;DejaVu Sans Mono&#39;; font-size: 9,0pt;&quot;&gt;&amp;nbsp;&lt;/pre&gt;El método completo que he usado es el siguiente:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: white; color: black; font-family: &#39;DejaVu Sans Mono&#39;; font-size: 9,0pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;AlertDialog alertDialog = &lt;span style=&quot;color: navy; font-weight: bold;&quot;&gt;new &lt;/span&gt;AlertDialog.Builder(context).create();&lt;br /&gt;alertDialog.getWindow().setType(WindowManager.LayoutParams.&lt;span style=&quot;color: #660e7a; font-style: italic; font-weight: bold;&quot;&gt;TYPE_SYSTEM_ALERT&lt;/span&gt;);&lt;br /&gt;alertDialog.setTitle(&lt;span style=&quot;color: green; font-weight: bold;&quot;&gt;&quot;Documento correctamente generado&quot;&lt;/span&gt;);&lt;br /&gt;alertDialog.setMessage(&lt;span style=&quot;color: green; font-weight: bold;&quot;&gt;&quot;¿Que desea hacer con el documento?&quot;&lt;/span&gt;);&lt;br /&gt;alertDialog.setButton(AlertDialog.&lt;span style=&quot;color: #660e7a; font-style: italic; font-weight: bold;&quot;&gt;BUTTON_NEUTRAL&lt;/span&gt;,&lt;span style=&quot;color: green; font-weight: bold;&quot;&gt;&quot;Mandar por email&quot; &lt;/span&gt;,&lt;br /&gt;        &lt;span style=&quot;color: navy; font-weight: bold;&quot;&gt;new &lt;/span&gt;DialogInterface.OnClickListener() {&lt;br /&gt;            &lt;span style=&quot;color: navy; font-weight: bold;&quot;&gt;public void &lt;/span&gt;onClick(DialogInterface dialog, &lt;span style=&quot;color: navy; font-weight: bold;&quot;&gt;int &lt;/span&gt;which) {&lt;br /&gt;                Log.&lt;span style=&quot;font-style: italic;&quot;&gt;i&lt;/span&gt;(&lt;span style=&quot;color: green; font-weight: bold;&quot;&gt;&quot;Print.java&quot;&lt;/span&gt;, &lt;span style=&quot;color: green; font-weight: bold;&quot;&gt;&quot;Button email&quot;&lt;/span&gt;);&lt;br /&gt;                Uri path = Uri.&lt;span style=&quot;font-style: italic;&quot;&gt;fromFile&lt;/span&gt;(&lt;span style=&quot;color: #660e7a;&quot;&gt;pdfFile&lt;/span&gt;);&lt;br /&gt;                Intent intent = &lt;span style=&quot;color: navy; font-weight: bold;&quot;&gt;new &lt;/span&gt;Intent(Intent.&lt;span style=&quot;color: #660e7a; font-style: italic; font-weight: bold;&quot;&gt;ACTION_SEND&lt;/span&gt;);&lt;br /&gt;                intent.setType(&lt;span style=&quot;color: green; font-weight: bold;&quot;&gt;&quot;message/rfc822&quot;&lt;/span&gt;);&lt;br /&gt;                Uri uri = Uri.&lt;span style=&quot;font-style: italic;&quot;&gt;fromFile&lt;/span&gt;(&lt;span style=&quot;color: #660e7a;&quot;&gt;pdfFile&lt;/span&gt;);&lt;br /&gt;                intent.putExtra(Intent.&lt;span style=&quot;color: #660e7a; font-style: italic; font-weight: bold;&quot;&gt;EXTRA_SUBJECT&lt;/span&gt;, &quot;Texto&quot;);&lt;br /&gt;                intent.putExtra(Intent.&lt;span style=&quot;color: #660e7a; font-style: italic; font-weight: bold;&quot;&gt;EXTRA_STREAM&lt;/span&gt;, uri);&lt;br /&gt;                intent.addFlags(Intent.&lt;span style=&quot;color: #660e7a; font-style: italic; font-weight: bold;&quot;&gt;FLAG_ACTIVITY_NEW_TASK&lt;/span&gt;);&lt;br /&gt;                intent.addFlags(Intent.&lt;span style=&quot;color: #660e7a; font-style: italic; font-weight: bold;&quot;&gt;FLAG_ACTIVITY_MULTIPLE_TASK&lt;/span&gt;);&lt;br /&gt;                &lt;span style=&quot;color: #660e7a;&quot;&gt;context&lt;/span&gt;.startActivity(intent);&lt;br /&gt;            }&lt;br /&gt;        });&lt;br /&gt;alertDialog.setButton(AlertDialog.&lt;span style=&quot;color: #660e7a; font-style: italic; font-weight: bold;&quot;&gt;BUTTON_POSITIVE&lt;/span&gt;, &lt;span style=&quot;color: green; font-weight: bold;&quot;&gt;&quot;Imprimir&quot;&lt;/span&gt;,&lt;br /&gt;        &lt;span style=&quot;color: navy; font-weight: bold;&quot;&gt;new &lt;/span&gt;DialogInterface.OnClickListener() {&lt;br /&gt;            &lt;span style=&quot;color: navy; font-weight: bold;&quot;&gt;public void &lt;/span&gt;onClick(DialogInterface dialog, &lt;span style=&quot;color: navy; font-weight: bold;&quot;&gt;int &lt;/span&gt;which) {&lt;br /&gt;                Log.&lt;span style=&quot;font-style: italic;&quot;&gt;i&lt;/span&gt;(&lt;span style=&quot;color: green; font-weight: bold;&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-weight: bold;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-weight: bold;&quot;&gt;Print.java&lt;/span&gt;&lt;/span&gt;&quot;&lt;/span&gt;, &lt;span style=&quot;color: green; font-weight: bold;&quot;&gt;&quot;Button imprimir&quot;&lt;/span&gt;);&lt;br /&gt;                Uri path = Uri.&lt;span style=&quot;font-style: italic;&quot;&gt;fromFile&lt;/span&gt;(&lt;span style=&quot;color: #660e7a;&quot;&gt;pdfFile&lt;/span&gt;);&lt;br /&gt;                Intent intent = &lt;span style=&quot;color: navy; font-weight: bold;&quot;&gt;new &lt;/span&gt;Intent(Intent.&lt;span style=&quot;color: #660e7a; font-style: italic; font-weight: bold;&quot;&gt;ACTION_VIEW&lt;/span&gt;);&lt;br /&gt;                intent.setDataAndType(path, &lt;span style=&quot;color: green; font-weight: bold;&quot;&gt;&quot;application/pdf&quot;&lt;/span&gt;);&lt;br /&gt;                intent.setFlags(Intent.&lt;span style=&quot;color: #660e7a; font-style: italic; font-weight: bold;&quot;&gt;FLAG_ACTIVITY_CLEAR_TOP&lt;/span&gt;);&lt;br /&gt;                intent.addFlags(Intent.&lt;span style=&quot;color: #660e7a; font-style: italic; font-weight: bold;&quot;&gt;FLAG_ACTIVITY_NEW_TASK&lt;/span&gt;);&lt;br /&gt;                &lt;span style=&quot;color: navy; font-weight: bold;&quot;&gt;try &lt;/span&gt;{&lt;br /&gt;                    &lt;span style=&quot;color: #660e7a;&quot;&gt;context&lt;/span&gt;.startActivity(intent);&lt;br /&gt;                } &lt;span style=&quot;color: navy; font-weight: bold;&quot;&gt;catch &lt;/span&gt;(ActivityNotFoundException e) {&lt;br /&gt;                    Toast.&lt;span style=&quot;font-style: italic;&quot;&gt;makeText&lt;/span&gt;(&lt;span style=&quot;color: #660e7a;&quot;&gt;context&lt;/span&gt;,&lt;span style=&quot;color: green; font-weight: bold;&quot;&gt;&quot;No Application Available to View PDF&quot;&lt;/span&gt;, Toast.&lt;span style=&quot;color: #660e7a; font-style: italic; font-weight: bold;&quot;&gt;LENGTH_SHORT&lt;/span&gt;).show();&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        });&lt;br /&gt;alertDialog.show();&lt;/span&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/8558957206873205544/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2015/08/llamando-un-alertdialog-fuera-de-una.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/8558957206873205544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/8558957206873205544'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2015/08/llamando-un-alertdialog-fuera-de-una.html' title='Llamando a un AlertDialog fuera de una activity'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-2519706110996982533</id><published>2015-06-25T14:01:00.001+02:00</published><updated>2015-06-25T14:01:18.791+02:00</updated><title type='text'>Mi primera aplicación para Windows Phone y Windows 8</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;Hace unos días me decidí a trastear con Windows Phone y gracias a&amp;nbsp;&lt;a href=&quot;http://appstudio.windows.com/&quot;&gt;AppStudio&lt;/a&gt; he podido crear mi primera aplicación. Además, gracias a la línea que ha adoptado Microsoft, es bastante sencillo generar el mismo desarrollo para Windows Phone y para Windows 8. Os dejo algunas capturas de pantalla y los enlaces:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Enlace para Windows Phone: &lt;a href=&quot;https://www.windowsphone.com/es-es/store/app/mejores-canciones-infantiles/4dd297e9-a1a7-4b34-a3ee-15c12f683b18&quot;&gt;aquí&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Enlace para Windows 8: &lt;a href=&quot;http://apps.microsoft.com/windows/es-es/app/mejores-canciones-infantiles/0110283d-1e74-4742-a8cf-1b2b3e8aad6f&quot;&gt;aquí&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-nbNNclPmJ1Q/VYvsn_a1sqI/AAAAAAAAFM8/M-QvstsS9kM/s1600/im4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;192&quot; src=&quot;http://1.bp.blogspot.com/-nbNNclPmJ1Q/VYvsn_a1sqI/AAAAAAAAFM8/M-QvstsS9kM/s320/im4.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-ppc3F79SHIE/VYvsjZZt7GI/AAAAAAAAFMk/9j3Mbb9SC-4/s1600/81_1_1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;179&quot; src=&quot;http://3.bp.blogspot.com/-ppc3F79SHIE/VYvsjZZt7GI/AAAAAAAAFMk/9j3Mbb9SC-4/s320/81_1_1.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/--N-GaYRSmXw/VYvsjX0WNLI/AAAAAAAAFMg/iu7dFbL2CMM/s1600/81_2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;179&quot; src=&quot;http://1.bp.blogspot.com/--N-GaYRSmXw/VYvsjX0WNLI/AAAAAAAAFMg/iu7dFbL2CMM/s320/81_2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-pb2J2jroQ5g/VYvsrAhHC-I/AAAAAAAAFNE/47fu2LNbmMI/s1600/im5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://4.bp.blogspot.com/-pb2J2jroQ5g/VYvsrAhHC-I/AAAAAAAAFNE/47fu2LNbmMI/s320/im5.png&quot; width=&quot;192&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-7a2CdGo99Qs/VYvslgS4w8I/AAAAAAAAFM0/2JMD7a1dn8w/s1600/Imagen%2B7.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;172&quot; src=&quot;http://3.bp.blogspot.com/-7a2CdGo99Qs/VYvslgS4w8I/AAAAAAAAFM0/2JMD7a1dn8w/s320/Imagen%2B7.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/2519706110996982533/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2015/06/mi-primera-aplicacion-para-windows.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/2519706110996982533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/2519706110996982533'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2015/06/mi-primera-aplicacion-para-windows.html' title='Mi primera aplicación para Windows Phone y Windows 8'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-nbNNclPmJ1Q/VYvsn_a1sqI/AAAAAAAAFM8/M-QvstsS9kM/s72-c/im4.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-2727035073139390407</id><published>2015-06-18T23:48:00.001+02:00</published><updated>2015-06-18T23:49:25.409+02:00</updated><title type='text'>Copiar listas de reproducción de Youtube</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;Para los que trabajamos con listas de reproducción de Youtube, hay una herramienta muy interesante que te permite copiar todos los vídeos de una lista de reproducción a una tuya. Os dejo el enlace porque a mi me ha sido muy útil:&amp;nbsp;&lt;a href=&quot;http://youtubeplaylist.net/&quot;&gt;http://youtubeplaylist.net/&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-XoW3SLKnk3c/VYM8vTewaJI/AAAAAAAAFJE/TeHm8QDpdf4/s1600/Imagen%2B2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;191&quot; src=&quot;http://1.bp.blogspot.com/-XoW3SLKnk3c/VYM8vTewaJI/AAAAAAAAFJE/TeHm8QDpdf4/s400/Imagen%2B2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/2727035073139390407/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2015/06/copiar-listas-de-reproduccion-de-youtube.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/2727035073139390407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/2727035073139390407'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2015/06/copiar-listas-de-reproduccion-de-youtube.html' title='Copiar listas de reproducción de Youtube'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-XoW3SLKnk3c/VYM8vTewaJI/AAAAAAAAFJE/TeHm8QDpdf4/s72-c/Imagen%2B2.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-3319881992227798385</id><published>2015-06-12T16:44:00.000+02:00</published><updated>2015-06-12T16:44:03.598+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SQL"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server 2012"/><title type='text'>Curso SQL Server 2012. Clase 2</title><content type='html'>Os dejo la segunda parte del curso SQL Server 2012.&lt;br /&gt;Cualquier duda que tengáis sobre el mismo o cualquier pregunta no dudéis en en comentarmela.&lt;br /&gt;&lt;br /&gt;Saludos&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;355&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;//es.slideshare.net/slideshow/embed_code/key/rmi3WZqOnb4EqY&quot; style=&quot;border-width: 1px; border: 1px solid #CCC; margin-bottom: 5px; max-width: 100%;&quot; width=&quot;425&quot;&gt; &lt;/iframe&gt; &lt;br /&gt;&lt;div style=&quot;margin-bottom: 5px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/3319881992227798385/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2015/06/curso-sql-server-2012-clase-2.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/3319881992227798385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/3319881992227798385'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2015/06/curso-sql-server-2012-clase-2.html' title='Curso SQL Server 2012. Clase 2'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-4869560246441394221</id><published>2015-06-11T00:06:00.002+02:00</published><updated>2015-06-11T00:06:59.558+02:00</updated><title type='text'>Permisos en Windows Phone 8.1</title><content type='html'>De lo poco que he aprendido de mi primer día con Windows Phone es que los permisos han cambiado de Windows Phone a Windows Phone 8.1. Existe esta lista con los permisos anteriores y los permisos actuales.&lt;br /&gt;&lt;a href=&quot;https://msdn.microsoft.com/en-us/library/windows/apps/dn642081(v=vs.105).aspx&quot;&gt;https://msdn.microsoft.com/en-us/library/windows/apps/dn642081(v=vs.105).aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;table style=&quot;border-collapse: collapse; margin-bottom: 20px; margin-top: 20px; width: 734px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th style=&quot;color: #636363; padding: 10px 8px;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 15px;&quot;&gt;Windows Phone 8 capability&lt;/div&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;WMAppManifest.xml&lt;/div&gt;&lt;/th&gt;&lt;th style=&quot;color: #636363; padding: 10px 8px;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 15px;&quot;&gt;Windows&amp;nbsp;Phone&amp;nbsp;8.1 capability&lt;/div&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;Package.appxmanifest&lt;/div&gt;&lt;/th&gt;&lt;th style=&quot;color: #636363; padding: 10px 8px;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;More info&lt;/div&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_APPOINTMENTS&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;Appointments&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_CONTACTS&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;Contacts&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_IDENTITY_DEVICE&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;None&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_IDENTITY_USER&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;None&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_ISV_CAMERA&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;Webcam&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_LOCATION&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;Location&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;Requires user consent.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_MAP&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;None&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;In Windows&amp;nbsp;Phone&amp;nbsp;8.1, this capability is provided automatically to all applications.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_MEDIALIB_AUDIO&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;MusicLibrary&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_MEDIALIB_PHOTO&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;PicturesLibrary&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_MEDIALIB_PLAYBACK&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;None&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;In Windows&amp;nbsp;Phone&amp;nbsp;8.1, this capability is provided automatically to all applications.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_MICROPHONE&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;Microphone&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_NETWORKING&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;Internet (Client &amp;amp; Server)&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_PHONEDIALER&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;None&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_PROXIMITY&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;Proximity&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_PUSH_NOTIFICATION&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;None&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;Windows&amp;nbsp;Phone&amp;nbsp;8.1 apps that use push notifications with the WNS service don&#39;t require a capability.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_REMOVABLE_STORAGE&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;Removable Storage&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_RINGTONE_ADD&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;None&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_SCREEN_RECORDER&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;None&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;In Windows&amp;nbsp;Phone&amp;nbsp;8.1, this capability is provided automatically to all applications.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_SENSORS&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;None&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;In Windows&amp;nbsp;Phone&amp;nbsp;8.1, this capability is provided automatically to all applications.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_SPEECH_RECOGNITION&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;Microphone&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_VOIP&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;None&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_WALLET&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;None&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;In Windows&amp;nbsp;Phone&amp;nbsp;8.1, this capability is provided automatically to all applications.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_WALLET_PAYMENTINSTRUMENTS&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;None&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;This capability cannot be used by third-party app developers.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;ID_CAP_WEBBROWSERCOMPONENT&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;None&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;In Windows&amp;nbsp;Phone&amp;nbsp;8.1, this capability is provided automatically to all applications.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;None&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;VideosLibrary&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;None&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;Shared User Certificates&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 20.0059986114502px; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;None&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 20.0059986114502px; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;div style=&quot;color: #454545; line-height: 1.429em !important; padding-bottom: 0px;&quot;&gt;Enterprise Authentication&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 20.0059986114502px; padding: 10px 8px; vertical-align: top;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/4869560246441394221/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2015/06/permisos-en-windows-phone-81.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/4869560246441394221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/4869560246441394221'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2015/06/permisos-en-windows-phone-81.html' title='Permisos en Windows Phone 8.1'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-433051224606835674</id><published>2015-05-27T14:45:00.001+02:00</published><updated>2015-05-27T14:45:34.853+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SQL"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server 2012"/><title type='text'>Curso SQL Server 2012. Clase 1.</title><content type='html'>Buenas amigos!!&lt;br /&gt;Hace unas semanas que di un curso de SQL Server 2012 a una empresa. Estaban interesados sobre todo en la parte de administración por lo que el curso no está centrado en el lenguaje SQL propiamente sino en las posibilidades que tiene SQL Server 2012.&lt;br /&gt;Os iré dejando las transparencias por aquí! Espero que os guste y aprendáis!!&lt;br /&gt;&lt;br /&gt;&lt;iframe frameborder=&quot;0&quot; height=&quot;400&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;https://www.slideshare.net/slideshow/embed_code/key/EZ5yMRKF8nBYPO&quot; width=&quot;476&quot;&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/433051224606835674/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2015/05/curso-sql-server-2012-clase-1.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/433051224606835674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/433051224606835674'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2015/05/curso-sql-server-2012-clase-1.html' title='Curso SQL Server 2012. Clase 1.'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-1921507833920171118</id><published>2015-05-20T22:01:00.003+02:00</published><updated>2015-05-20T22:01:59.831+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android"/><title type='text'>Ver el logcat del terminal #Android</title><content type='html'>Tras un día de frustración peleándome con Proguard he aprendido como leer el logcat directamente del terminal, sin tener que pasar por el de Eclipse. Y esto para qué, pues bien, cuando pasaba Proguard para generar el apk y lo ejecutaba en el terminal la aplicación se cerraba repentinamente sin dar pistas de porque lo hacía en el logcat de Eclipse.&lt;br /&gt;Tras varias horas en Google en general y stackoverflow en particular encontré la solución con:&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;adb shell logcat -f sdcard/logoutput.txt&lt;/blockquote&gt;Y entonces puedes buscar en el log donde está el crash. Os dejo la página oficial del logcat &lt;a href=&quot;http://developer.android.com/tools/help/logcat.html&quot;&gt;aquí&amp;nbsp;&lt;/a&gt;&lt;span id=&quot;goog_1756507176&quot;&gt;&lt;/span&gt;&lt;span id=&quot;goog_1756507177&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://www.blogger.com/&quot;&gt;&lt;/a&gt;&lt;br /&gt;Espero que os sirva!&lt;br /&gt;Saludos</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/1921507833920171118/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2015/05/ver-el-logcat-del-terminal-android.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/1921507833920171118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/1921507833920171118'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2015/05/ver-el-logcat-del-terminal-android.html' title='Ver el logcat del terminal #Android'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-2123957188326355157</id><published>2015-02-17T22:32:00.001+01:00</published><updated>2015-02-17T22:34:43.459+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android"/><category scheme="http://www.blogger.com/atom/ns#" term="aplicaciones"/><title type='text'>Canciones Educativas en Inglés</title><content type='html'>Seguimos creando aplicaciones de calidad para que los reyes de la casa disfruten y a la misma vez aprendan. Esta vez hemos creado una aplicación que te permite ver, ordenadas por categorías, las mejores canciones en inglés que puedes encontrar por Internet. Esperemos que os guste tanto como le gustan a mi niño!&lt;br /&gt;&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.litlelitodevelopment.cancioneseducativasingles&quot;&gt;https://play.google.com/store/apps/details?id=com.litlelitodevelopment.cancioneseducativasingles&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-sRM2NAoLcos/VOOzL-A9SrI/AAAAAAAAFDg/QRnjUEfx0jU/s1600/2015-02-16%2B22.54.35.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-sRM2NAoLcos/VOOzL-A9SrI/AAAAAAAAFDg/QRnjUEfx0jU/s1600/2015-02-16%2B22.54.35.png&quot; height=&quot;320&quot; width=&quot;180&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-MD6X4SQt4b8/VOOzODQ9YVI/AAAAAAAAFDs/em6IFnoEn94/s1600/2015-02-16%2B22.54.44.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-MD6X4SQt4b8/VOOzODQ9YVI/AAAAAAAAFDs/em6IFnoEn94/s1600/2015-02-16%2B22.54.44.png&quot; height=&quot;320&quot; width=&quot;180&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-rtE-ynPuzwA/VOOzN3C482I/AAAAAAAAFDo/GGbN2D2XD-c/s1600/2015-02-16%2B22.54.50.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-rtE-ynPuzwA/VOOzN3C482I/AAAAAAAAFDo/GGbN2D2XD-c/s1600/2015-02-16%2B22.54.50.png&quot; height=&quot;320&quot; width=&quot;180&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-m9z55-Mgd0o/VOOzPlZZypI/AAAAAAAAFD4/cbLQrkHnYc0/s1600/2015-02-16%2B22.55.40.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-m9z55-Mgd0o/VOOzPlZZypI/AAAAAAAAFD4/cbLQrkHnYc0/s1600/2015-02-16%2B22.55.40.png&quot; height=&quot;180&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-Rkdo1MuIJB8/VOOzRQfYfjI/AAAAAAAAFEA/6hcMXm7VTJ0/s1600/2015-02-16%2B22.56.41.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-Rkdo1MuIJB8/VOOzRQfYfjI/AAAAAAAAFEA/6hcMXm7VTJ0/s1600/2015-02-16%2B22.56.41.png&quot; height=&quot;180&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/2123957188326355157/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2015/02/canciones-educativas-en-ingles.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/2123957188326355157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/2123957188326355157'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2015/02/canciones-educativas-en-ingles.html' title='Canciones Educativas en Inglés'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-sRM2NAoLcos/VOOzL-A9SrI/AAAAAAAAFDg/QRnjUEfx0jU/s72-c/2015-02-16%2B22.54.35.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-8957021862522591122</id><published>2015-02-17T20:03:00.002+01:00</published><updated>2015-02-17T20:03:40.813+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android"/><title type='text'>Como grabar la pantalla de los teléfono Android</title><content type='html'>Si tienes Android 4.4 o superior no te hace falta ninguna aplicación para grabar lo que está pasando en tu teléfono. Basta con tener instalado el SDK de Android y el siguiente comando desde la carpeta platform-tools.&lt;br /&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Monaco, &#39;Courier New&#39;, Courier, monospace; font-size: 14.3999996185303px; line-height: 24px;&quot;&gt;adb shell screenrecord /sdcard/archivo.mp4&lt;/span&gt;&lt;br /&gt;Para bajarnos la grabación del teléfono a nuestro ordenador solamente tenemos que usar&lt;br /&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Monaco, &#39;Courier New&#39;, Courier, monospace; font-size: 14.3999996185303px; line-height: 24px;&quot;&gt;adb pull&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Monaco, &#39;Courier New&#39;, Courier, monospace; font-size: 14.3999996185303px; line-height: 24px;&quot;&gt;/sdcard/archivo.mp4&lt;/span&gt;&lt;br /&gt;Dejo &lt;a href=&quot;http://www.xatakandroid.com/tutoriales/como-grabar-la-pantalla-de-nuestro-dispositivo-con-android-4-4&quot;&gt;aquí &lt;/a&gt;la fuente para profundizar y más información.</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/8957021862522591122/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2015/02/como-grabar-la-pantalla-de-los-telefono.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/8957021862522591122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/8957021862522591122'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2015/02/como-grabar-la-pantalla-de-los-telefono.html' title='Como grabar la pantalla de los teléfono Android'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-3304951371928122943</id><published>2014-09-21T23:06:00.002+02:00</published><updated>2014-09-21T23:06:41.479+02:00</updated><title type='text'>Como redondear esquinas de imágenes</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Os dejo aquí este vídeo de como redondear las esquinas de las imágenes.  Lo he usado varias veces y nunca me acuerdo como se hace ;-)&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; src=&quot;//www.youtube.com/embed/XBwf_r9-t-E&quot; width=&quot;420&quot;&gt;&lt;/iframe&gt; &lt;/div&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/3304951371928122943/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2014/09/como-redondear-esquinas-de-imagenes.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/3304951371928122943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/3304951371928122943'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2014/09/como-redondear-esquinas-de-imagenes.html' title='Como redondear esquinas de imágenes'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-8825883107813101334</id><published>2014-03-04T23:25:00.000+01:00</published><updated>2014-03-04T23:31:43.925+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="curso android"/><title type='text'>Capítulo 3. Layout: LinearLayout, RelativeLayout, TableLayout y FrameLayout. (II)</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s1600/icono-curso-android.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s200/icono-curso-android.png&quot; height=&quot;191&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Accesos rápidos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/p/curso-android.html&quot;&gt;Índice del curso&amp;nbsp;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/2014/01/curso-android-capitulo3-distribucion-archivos-proyecto-android.html&quot;&gt;Capítulo anterior:&amp;nbsp; Distribución de archivos de los proyectos Android (I)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Vimos en el post anterior que la apariencia de nuestras pantallas se definía mediante archivos XML que situaremos en la carpeta res/layout.Si vamos al nuevo proyecto que creamos en capítulos anteriores y abrimos esta carpeta veremos un fichero activity_main.xml con un contenido como vemos a continuación:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/--Lzm8h-ZMOI/UxYm6FaXkfI/AAAAAAAAC9M/EADLitrjUwk/s1600/relativelayout1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/--Lzm8h-ZMOI/UxYm6FaXkfI/AAAAAAAAC9M/EADLitrjUwk/s1600/relativelayout1.png&quot; height=&quot;174&quot; width=&quot;320&quot; /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&amp;nbsp;Lo primero que podemos ver dentro de este fichero es que tenemos un componente RelativeLayout y dentro un componente TextView. En este tema vamos a centrarnos en explicar los elementos contenedores, es decir, elementos en los que introduciremos otros componentes. Estos elementos contenedores son LinearLayout, RelativeLayout, FrameLayout y TableLayout.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;Estos elementos son llamados contenedores ya que en su interior se añaden el resto de elementos como botones, etiquetas de texto, imágenes, etc. Vamos a hacer una pequeña descripción de cada uno de estos elementos para posteriormente explicar con detalle sus principales características:&lt;/div&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;FrameLayout:&lt;/b&gt; es el contenedor primario y más básico de todos. Si empleamos este contenedor, cada uno de los componentes que añadamos se van solapando uno encima de otro. Por lo tanto, tendremos que pensarnos muy bien el usar este contenedor si deseamos introducir más de dos componentes en su interior&lt;/li&gt;&lt;li&gt;&lt;b&gt;LinearLayout:&lt;/b&gt; los elementos que vamos situando en su interior se van colocando una a continuación del otro. Este elemento tiene una propiedad llamada orientation, que explicaremos en detalle más adelante, mediante la que seleccionamos si los elementos se van añadiendo uno a continuación de otro de forma vertical o de forma horizontal. &lt;/li&gt;&lt;li&gt;&lt;b&gt;RelativeLayout:&lt;/b&gt; mediante el empleo de este contenedor podemos indicarle a los elementos que situemos en su interior la posición con respecto a los otros elementos o con respecto al contenedor donde los estamos situando. Este contenedor tiene una serie de variables que nos permiten especificar si queremos situar los elementos a la derecha, izquierda, encima o debajo del resto de elementos.&lt;/li&gt;&lt;li&gt;&lt;b&gt;TableLayout:&lt;/b&gt; los componentes que se introducen dentro de este contenedor se distribuyen en filas y columnas. Se tienen propiedades que nos permiten definir el tamaño de las filas y de las columnas.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&amp;nbsp;Vamos a ir cambiando ahora el archivo activity_main.xml para ir viendo como funcionan los contenedores que hemos explicado anteriormente más en detalle. Para este primer ejemplo vamos a usar un FrameLayout, añadiendo en su interior dos componentes del tipo TextView. Para ello vamos a sustituir el código que&amp;nbsp; tiene el archivo por el siguiente:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id=&quot;iframeDiv463ddadc-1c97-4cb6-acac-3e0368b19e6e&quot; style=&quot;display: none; margin: 0px;&quot;&gt;&lt;iframe frameborder=&quot;0&quot; id=&quot;iframe463ddadc-1c97-4cb6-acac-3e0368b19e6e&quot; src=&quot;http://www.blogtrog.com/code.aspx?id=463ddadc-1c97-4cb6-acac-3e0368b19e6e&quot; style=&quot;border: 1px solid #e0e0e0; height: 200px; margin: 0px; width: 600px;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div id=&quot;noIframeDiv463ddadc-1c97-4cb6-acac-3e0368b19e6e&quot; style=&quot;display: block; margin: 0px;&quot;&gt;&lt;pre&gt;&lt;div&gt;&lt;br /&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;FrameLayout xmlns:android&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;http://schemas.android.com/apk/res/android&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;    xmlns:tools&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;http://schemas.android.com/tools&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;    android:layout_width&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;match_parent&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;    android:layout_height&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;match_parent&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;TextView&lt;br /&gt;        &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;android:layout_width&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;wrap_content&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;        android:layout_height&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;wrap_content&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;        android:text&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;@string/hello_world&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;    &lt;br /&gt;     &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;TextView&lt;br /&gt;        &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;android:layout_width&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;wrap_content&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;        android:layout_height&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;wrap_content&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;        android:text&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;Otro texto&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;    &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;FrameLayout&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: black;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;script language=&quot;javascript&quot; src=&quot;http://www.blogtrog.com/scripts/bt_code.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;bt_code_init(&#39;463ddadc-1c97-4cb6-acac-3e0368b19e6e&#39;);&lt;/script&gt; Como hemos dicho, tenemos un componente FrameLayout con dos componentes del tipo TextView en su interior. Al usar este componente, como hemos dicho anteriormente, vamos a ver un texto encima del otro tal y como mostramos en la imagen siguiente.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-aX0x0tpoiqc/UxY1A6X36BI/AAAAAAAAC9c/Pe9sRG3h5tQ/s1600/relativelayout2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-aX0x0tpoiqc/UxY1A6X36BI/AAAAAAAAC9c/Pe9sRG3h5tQ/s1600/relativelayout2.png&quot; height=&quot;156&quot; width=&quot;200&quot; /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;Ahora vamos a poner un ejemplo con el componente LinearLayout. Vamos a usar este contenedor y dentro vamos a insertar los mismos TextView que en el ejemplo anterior. El código que va a tener nuestro archivo activity_main.xml va a ser el siguiente:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div id=&quot;iframeDiv007b547c-de73-454d-a37d-389c947bc5e1&quot; style=&quot;display: none; margin: 0px;&quot;&gt;&lt;iframe frameborder=&quot;0&quot; id=&quot;iframe007b547c-de73-454d-a37d-389c947bc5e1&quot; src=&quot;http://www.blogtrog.com/code.aspx?id=007b547c-de73-454d-a37d-389c947bc5e1&quot; style=&quot;border: 1px solid #e0e0e0; height: 200px; margin: 0px; width: 600px;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div id=&quot;noIframeDiv007b547c-de73-454d-a37d-389c947bc5e1&quot; style=&quot;display: block; margin: 0px;&quot;&gt;&lt;pre&gt;&lt;div&gt;&lt;br /&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;LinearLayout &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;xmlns:android&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;http://schemas.android.com/apk/res/android&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;    xmlns:tools&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;http://schemas.android.com/tools&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;    android:layout_width&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;match_parent&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;    android:layout_height&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;match_parent&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;    android:orientation&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;horizontal&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;TextView&lt;br /&gt;        &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;android:layout_width&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;wrap_content&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;        android:layout_height&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;wrap_content&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;        android:text&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;@string/hello_world&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;    &lt;br /&gt;     &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;TextView&lt;br /&gt;        &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;android:layout_width&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;wrap_content&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;        android:layout_height&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;wrap_content&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;        android:text&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;Otro texto&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;LinearLayout&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;    &lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Como podemos ver estamos usando un componente LinearLayout con el atributo android:orientation=&quot;horizontal&quot; por lo que los EditText se colocarán uno a continuación del otro tal y como vemos en la imagen siguiente:&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-fdaPP--bqzU/UxY3XlB3GRI/AAAAAAAAC9o/iyy2LCeWBW0/s1600/relativelayout3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-fdaPP--bqzU/UxY3XlB3GRI/AAAAAAAAC9o/iyy2LCeWBW0/s1600/relativelayout3.png&quot; height=&quot;123&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Si cambiamos el atributo android:orientation=&quot;horizontal&quot; por android:orientation=&quot;vertical&quot;, veremos como los EditText se colocan uno debajo de otro tal y como os mostramos en la imagen siguiente:&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-ds8eKrLStwA/UxY4JETXfCI/AAAAAAAAC9w/hv3VUi3C03A/s1600/relativelayout4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-ds8eKrLStwA/UxY4JETXfCI/AAAAAAAAC9w/hv3VUi3C03A/s1600/relativelayout4.png&quot; height=&quot;118&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Ahora vamos a mostrar un ejemplo del componente RelativeLayout. En este caso vamos a usar los mismos EditText. Vamos a escribir el siguiente código que explicaremos a continuación:&lt;br /&gt;&lt;br /&gt;&lt;div id=&quot;iframeDiv4ccb4fe4-533d-4d57-b763-0d3e3c23eede&quot; style=&quot;display: none; margin: 0px;&quot;&gt;&lt;iframe frameborder=&quot;0&quot; id=&quot;iframe4ccb4fe4-533d-4d57-b763-0d3e3c23eede&quot; src=&quot;http://www.blogtrog.com/code.aspx?id=4ccb4fe4-533d-4d57-b763-0d3e3c23eede&quot; style=&quot;border: 1px solid #e0e0e0; height: 200px; margin: 0px; width: 600px;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div id=&quot;noIframeDiv4ccb4fe4-533d-4d57-b763-0d3e3c23eede&quot; style=&quot;display: block; margin: 0px;&quot;&gt;&lt;pre&gt;&lt;div&gt;&lt;br /&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;RelativeLayout &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;xmlns:android&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;http://schemas.android.com/apk/res/android&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;    xmlns:tools&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;http://schemas.android.com/tools&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;    android:layout_width&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;match_parent&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;    android:layout_height&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;match_parent&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;    android:orientation&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;vertical&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt; &lt;br /&gt;    &lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;TextView&lt;br /&gt;        &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;android:id&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;@+id/textView1&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;        android:layout_width&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;wrap_content&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;        android:layout_height&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;wrap_content&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;        android:text&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;@string/hello_world&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;    &lt;br /&gt;     &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;TextView&lt;br /&gt;        &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;android:id&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;@+id/textView2&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt; &lt;br /&gt;        android:layout_width&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;wrap_content&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;        android:layout_height&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;wrap_content&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;        android:layout_below&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;@id/textView1&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;        android:text&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;Otro texto&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;    &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;RelativeLayout&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;    &lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;script language=&quot;javascript&quot; src=&quot;http://www.blogtrog.com/scripts/bt_code.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;bt_code_init(&#39;4ccb4fe4-533d-4d57-b763-0d3e3c23eede&#39;);&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;Podemos ver que ahora le hemos añadido a cada elemento TextView un id para poder referirnos a ellos. Si nos fijamos en el textView2 podemos ver que estamos empleando el atributo android:layout_below=&quot;@id/textView1&quot; para indicar que queremos situar este elemento debajo. Lo que veremos será entonces lo siguiente:&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-Ez4DbEYZIrg/UxY6pG5zqSI/AAAAAAAAC98/CpIw23gbLWI/s1600/relativelayout5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-Ez4DbEYZIrg/UxY6pG5zqSI/AAAAAAAAC98/CpIw23gbLWI/s1600/relativelayout5.png&quot; height=&quot;89&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Además de below podemos usar toRightOf, toLeftOf or above, para situar un componente a la derecha, a la izquierda o encima de otro. En la imagen siguiente vemos el resultado de usar a android:layout_toRightOf=&quot;@id/textView1&quot;:&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/--2la3R0Khto/UxY7uRJObMI/AAAAAAAAC-E/5XlLQBBGNpk/s1600/relativelayout6.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/--2la3R0Khto/UxY7uRJObMI/AAAAAAAAC-E/5XlLQBBGNpk/s1600/relativelayout6.png&quot; height=&quot;99&quot; width=&quot;200&quot; /&gt;&lt;/a&gt; &lt;/div&gt;Y ahora por último vamos a explicar el contenedor TableLayout, explicando como se crean las filas y las columnas dentro de la tablas. Para ello vamos a usar este contenedor de la siguiente forma:&lt;br /&gt;&lt;div id=&quot;iframeDive9ec7078-98b8-404b-9550-a75285184636&quot; style=&quot;display: none; margin: 0px;&quot;&gt;&lt;iframe frameborder=&quot;0&quot; id=&quot;iframee9ec7078-98b8-404b-9550-a75285184636&quot; src=&quot;http://www.blogtrog.com/code.aspx?id=e9ec7078-98b8-404b-9550-a75285184636&quot; style=&quot;border: 1px solid #e0e0e0; height: 200px; margin: 0px; width: 600px;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div id=&quot;noIframeDive9ec7078-98b8-404b-9550-a75285184636&quot; style=&quot;display: block; margin: 0px;&quot;&gt;&lt;pre&gt;&lt;div&gt;&lt;br /&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;TableLayout &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;xmlns:android&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;http://schemas.android.com/apk/res/android&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;       android:layout_width&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;match_parent&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;       android:layout_height&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;match_parent&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;TableRow&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;                  &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;TextView &lt;br /&gt;                      &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;android:layout&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;@+id/textView1&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;                      android:layout_width&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;wrap_content&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;                      android:layout_height&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;wrap_content&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;                      android:text&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;@string/hello_world&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;TableRow&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;TableRow&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;                 &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;TextView&lt;br /&gt;                    &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;android:id&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;@+id/textView2&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt; &lt;br /&gt;                    android:layout_width&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;wrap_content&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;                    android:layout_height&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;wrap_content&quot;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;                    android:text&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;Otro texto&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;TableRow&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;TableLayout&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;script language=&quot;javascript&quot; src=&quot;http://www.blogtrog.com/scripts/bt_code.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;bt_code_init(&#39;e9ec7078-98b8-404b-9550-a75285184636&#39;);&lt;/script&gt; Podemos ver que dentro del contenedor TableLayout tenemos dos componentes TableRow. Cada uno de estos componentes nos va a describir el número de filas que va a tener nuestra tabla. El número de columnas que va a tener la misma va a venir determinada por los elementos que haya en su interior, de modo que si añadimos varios elementos dentro del TableRow tendremos varias columnas. Lo que podemos ver si volcamos el siguiente código en un terminal es lo siguiente:&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-eOyq18Ts140/UxZQ_uOdKvI/AAAAAAAAC-o/qwRAVunKsWA/s1600/relativelayout7.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-eOyq18Ts140/UxZQ_uOdKvI/AAAAAAAAC-o/qwRAVunKsWA/s1600/relativelayout7.png&quot; height=&quot;169&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Con esto damos por cerrado el post. Ya hemos hecho una primera introducción a los contenedores. En la siguiente entrada vamos a dar una explicación más detallada sobre el funcionamiento de los mismos, las alineaciones de componentes y la distribución de los mismos dentro de los contenedores. Hasta el siguiente post y si te es de utilidad, ya sabes, no dudes en compartir ;-)&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/8825883107813101334/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2014/03/curso-android-relativelayout-linearlayout-tablelayout-framelayout.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/8825883107813101334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/8825883107813101334'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2014/03/curso-android-relativelayout-linearlayout-tablelayout-framelayout.html' title='Capítulo 3. Layout: LinearLayout, RelativeLayout, TableLayout y FrameLayout. (II)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s72-c/icono-curso-android.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-4702708249531370052</id><published>2014-02-11T13:43:00.000+01:00</published><updated>2014-03-01T18:17:05.160+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android"/><title type='text'>Como decompilar un APK del market y ver su contenido</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;Buenas amigos!! Después de un tiempo con mil lios vengo a contaros una cosa que he aprendido y que me está viniendo genial para mejorar como programador Android. Cuantas veces usando una aplicación en Android habéis dicho: ostras que bien que está esto hecho, como me molaría saber como han programado esta parte, joder que calidad que tiene esta aplicación.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Pues bien, os voy a enseñar a bajaros un .apk del market y ver su contenido ;-). Si, como lo oyes, puedes bajarte un .apk del market y decompilar una aplicación para explorar sus clases, sus layouts, etc. y os voy a enseñar como hacerlo.&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Lo primero es bajarse en tu terminal la aplicación que quieres decompilar. Necesitas tenerla instalada para poder sacar el .apk. Bueno pues una vez que te bajas la aplicación que quieres decompilar tienes que instalarte el APK Extractor del siguiente enlace (&lt;a href=&quot;https://play.google.com/store/apps/details?id=net.sylark.apkextractor&amp;amp;hl=es&quot;&gt;aquí&lt;/a&gt;). Esta aplicación te permite extraer el .apk de cualquier aplicación que tengas instalado en tu terminal tal y como os muestro en la imagen siguiente:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-1fwkVxQbbfs/UvoTWJ72YbI/AAAAAAAACxY/gkvn7MJo8RA/s1600/unnamed.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-1fwkVxQbbfs/UvoTWJ72YbI/AAAAAAAACxY/gkvn7MJo8RA/s1600/unnamed.jpg&quot; height=&quot;200&quot; width=&quot;120&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;Una vez que el APK Extractor te ha sacado el .apk de la aplicación que quieres estudiar a la SD de tu terminal tienes que mandártela a tu PC, bien por correo, pinchando el teléfono o como te apetezca.&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Ahora entra en juego el programa dex2jar. Lo puedes bajar del siguiente enlace (&lt;a href=&quot;http://code.google.com/p/dex2jar/&quot;&gt;aquí&lt;/a&gt;). Este programa va a generar un .jar que luego puedes descomprimir y explorar a partir del fichero .apk. Para ello llevamos el .apk a la carpeta donde tengamos el dex2jar y desde un cmd tecleamos:&lt;/div&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;dex2jar.bat &amp;lt;fichero .apk&amp;gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-Pv9JQ6VQBuE/UvoWRa9tCYI/AAAAAAAACxo/XrQMNfnT6P8/s1600/Imagen+4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-Pv9JQ6VQBuE/UvoWRa9tCYI/AAAAAAAACxo/XrQMNfnT6P8/s1600/Imagen+4.png&quot; height=&quot;159&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Veremos entonces que se nos ha creado un fichero con el mismo nombre que el apk anterior que tenemos pero al que se le añade *dex2jar.jar. Este fichero ya podemos descomprimirlo con winrar, winzip o similares. Una vez descomprimido, veremos que tenemos varias carpetas con un montón de clases compiladas de las que no podemos saber nada a no ser que usemos jd-gui que podéis descargar de este enlace (&lt;a href=&quot;http://code.google.com/p/innlab/downloads/detail?name=jd-gui-0.3.3.windows.zip&amp;amp;can=2&amp;amp;q=&quot;&gt;aquí&lt;/a&gt;). Este programa se va a encargar de decompilar las clases y nos va a hacer algo como lo que os muestro a continuación:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-WyL-Th3UXfQ/UvoZh2LwD8I/AAAAAAAACxw/76WMy8KRqCg/s1600/Imagen+6.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-WyL-Th3UXfQ/UvoZh2LwD8I/AAAAAAAACxw/76WMy8KRqCg/s1600/Imagen+6.png&quot; height=&quot;182&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Ya podéis echar un vistazo a las clases que forman el programa en cuestión y ver como está implementado eso que tanto os fascina.&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Espero que os sirva, y si es así, que no os tiemble la mano al compartir!!&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;PD: he conseguido hacer esto gracias a &lt;a href=&quot;http://www.elladodelmal.com/2014/01/la-estafa-de-la-linterna-molona-que.html&quot;&gt;esta entrada&lt;/a&gt; de uno de los mejores blogs de la blogosfera: http://www.elladodelmal.com/&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/4702708249531370052/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2014/02/como-decompilar-un-apk-del-market-y-ver.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/4702708249531370052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/4702708249531370052'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2014/02/como-decompilar-un-apk-del-market-y-ver.html' title='Como decompilar un APK del market y ver su contenido'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-1fwkVxQbbfs/UvoTWJ72YbI/AAAAAAAACxY/gkvn7MJo8RA/s72-c/unnamed.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-2561751629136635136</id><published>2014-01-31T08:37:00.000+01:00</published><updated>2014-03-01T20:06:40.749+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="curso android"/><title type='text'>Capítulo 3. Distribución de archivos de los proyectos Android (I)</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s1600/icono-curso-android.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s200/icono-curso-android.png&quot; height=&quot;191&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Accesos rápidos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/p/curso-android.html&quot;&gt;Índice del curso&amp;nbsp;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/2014/01/curso-android-capitulo2-perspectiva-debug-eclipse.html&quot;&gt;Capítulo anterior:&amp;nbsp; Perspectiva Debug de Eclipse para Android&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&amp;nbsp;Comenzamos un nuevo tema en el que vamos a explicar la distribución de carpetas de los proyectos Android y los principales componentes que tenemos disponibles como botones, campos de texto, label, etc. Primero recordar que en esta entrada del blog (&lt;a href=&quot;http://www.josealopezpastor.com/2013/12/curso-android-capitulo2-primer-proyecto-eclipse.html&quot;&gt;aquí&lt;/a&gt;) nos creamos nuestro primero proyecto en Android. Vimos entonces que en Eclipse teníamos una apariencia como esta:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-fG1zWz57Qok/UpUmNc2_nHI/AAAAAAAACUs/WSMJ_OrDiBc/s1600/Imagen+20.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-fG1zWz57Qok/UpUmNc2_nHI/AAAAAAAACUs/WSMJ_OrDiBc/s320/Imagen+20.png&quot; height=&quot;179&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Vemos que en la parte izquierda de la pantalla tenemos una serie de carpetas y archivos que componen nuestro proyecto y que no explicamos entonces. Vamos a entrar en profundidad a explicar todas y cada una de las carpetas así como la distribución de los archivos en las mismas con el fin de comprender un poco mejor como se programan las aplicaciones en Android. Además nos servirá para introducir el concepto de activity y como se le da la funcionalidad a las pantallas. Los archivos que podemos ver en el proyecto son:&lt;br /&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/div&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;&lt;b&gt;AndroidManifest.xml:&lt;/b&gt; es uno de los ficheros más importantes de nuestro proyecto Android. Algunas de las cosas que indicamos en este archivo son los permisos de nuestra aplicación, versiones de Android que son compatibles con la aplicación, las activity de las que consta, etc. &lt;/li&gt;&lt;li&gt;&lt;b&gt;.classpath, .project:&lt;/b&gt; ficheros que necesita Eclipse para gestionar el proyecto.&lt;/li&gt;&lt;li&gt;&lt;b&gt;ic_launcher-web.png:&lt;/b&gt; icono de nuestra aplicación a alta resolución.&lt;/li&gt;&lt;li&gt;&lt;b&gt;proguard-project.txt:&lt;/b&gt; nos da información sobre cómo usar el componente de Android ProGuard. Se trata de una herramienta que modifica nuestra aplicación con el fin de hacerla más difícil de descifrar ante ataques de ingeniería inversa.&lt;/li&gt;&lt;li&gt;&lt;b&gt;project.properties:&lt;/b&gt; aquí se indica la versión del SDK que estamos empleando para generar nuestra aplicación.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div style=&quot;background-color: #ffffcc;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;PORQUE TE LO MERECES!! VISITA LOS MÁS VENDIDOS&amp;nbsp; DE AMAZON EN MÓVILES&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;img alt=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot; border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-wSWDu6ZrFYE/UuojlvSRqgI/AAAAAAAACi4/W2oWLbMre4Q/s1600/amazon.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Además podemos ver las siguientes carpetas:&lt;/div&gt;&lt;ul&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;assest:&lt;/b&gt; aquí guardaremos los ficheros que no queremos sean compilados, por lo tanto serán introducidos en el archivo apk que generamos cuando compilamos nuestra aplicación tal y como se encuentran aquí. Es usado por ejemplo para guardar datos y texturas para juegos.&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;bin:&lt;/b&gt; aquí se almacena nuestro proyecto compilado, es decir, será el directorio de salida de la compilación de nuestro proyecto. Encontraremos entonces ficheros con terminación .class que corresponden a los ficheros .java compilados.&amp;nbsp;&lt;/li&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;&lt;b&gt;bin/classes:&lt;/b&gt; contiene todas las clases compiladas&lt;/li&gt;&lt;li&gt;&lt;b&gt;bin/res:&lt;/b&gt; contiene los archivos con imágenes que almacenábamos en res/drawable.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;libs:&lt;/b&gt; contiene otras librerías externas que añadamos a nuestro proyecto. &lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;res:&lt;/b&gt; dentro de esta carpeta almacenaremos los ficheros de imágenes (png, jpg, etc) de nuestra aplicación, los archivos de especificación de las activity, los ficheros de especificación de los menús y, por último los ficheros que definirán las etiquetas de texto y los estilos que usaremos en la aplicación. Las subcarpetas que encontramos dentro de res son:&lt;/li&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;&lt;b&gt;res/drawable:&lt;/b&gt; almacenamos en esta carpeta todos los recursos gráficos que emplearemos en nuestra aplicación. Es decir, en esta carpeta introduciremos los iconos y ficheros png, jpg, bmp, etc. Además podemos observar que hay varias carpetas drawable distintas, con una terminación hdpi, ldpi, mdpi y xhdpi cada una de ellas. Lo ideal es generar tantas versiones de cada archivo como carpetas encontramos, cada una con una resolución distinta. En tiempo de ejecución Android cargará el recurso con la resolución correspondiente al tamaño de pantalla donde se está ejecutando. Así evitamos emplear imágenes con mucha resolución y que, por lo tanto, ocupan mucho espacio en teléfonos que no soportan imágenes con tanta calidad. En el caso contrario, si la imagen tiene poca resolución y la mostramos en una pantalla de tamaño grande, la imagen se pixelará y no se mostrará como deseamos. &lt;/li&gt;&lt;li&gt;&lt;b&gt;res/layout:&lt;/b&gt; en esta carpeta se almacenan los archivos que formarán las pantallas de nuestra aplicación. Cada una de estas pantallas se llama activity y se definen mediante archivos XML. Además podemos definir distinta distribución de la activity para distintos tamaños de pantalla. Además también podemos tener carpetas que tengan el sufijo -land, como por ejemplo layout-xlarge-land o layout-land. Añadiendo el sufijo -land indicamos que se tiene que emplear este diseño cuando el teléfono se ponga en posición horizontal. Vemos entonces que tenemos muchas consideraciones de diseño a la hora de implementar nuestra aplicación si queremos que se muestre correctamente en todo tipo de teléfonos.&lt;/li&gt;&lt;/ul&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;menu:&lt;/b&gt; en esta carpeta se almacenarán los ficheros XML que definen las pantallas de menú. Estas pantallas se emplean generalmente para configurar y establecer las preferencias de nuestra aplicación.&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;values:&lt;/b&gt; en esta carpeta estarán los archivos que nos definan los elementos de texto, colores, estilos y temas de nuestra aplicación. Si vemos nuestra carpeta values, tenemos un fichero llamado string.xml en donde hemos almacenado las etiquetas de texto que tenemos en nuestra aplicación. Si queremos que nuestra aplicación sea multilenguaje y que se muestre en el idioma que tenga predefinido el terminal donde se está ejecutando tenemos que crearnos una carpeta del tipo values-xx. &lt;/li&gt;&lt;li&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;src:&lt;/b&gt; en esta carpeta estarán situados los archivos Java de nuestra aplicación destinados a dotar de funcionalidad nuestro desarrollo. Podemos observar que dentro de esta carpeta hay una serie de subdirectorios formados con el nombre del package y del namespace que empleamos en la creación del proyecto. En este caso src/com/josealopezpastor/holamundo.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;Una vez que ya tenemos clara la distribución de carpetas de nuestro proyecto vamos a ir explicando los principales componentes de Android y como podemos emplearlos en nuestro proyecto. &lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=&quot;color: red;&quot;&gt;LIBRO RECOMENDADO PARA APRENDER ANDROID&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;index=aps&amp;amp;keywords=978-0-470-56552-0&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-MR-MHf5pAA0/UrxkJgN6Y-I/AAAAAAAACak/xzPKonsksi8/s200/libro+android+reto+meier.jpg&quot; height=&quot;100&quot; width=&quot;100&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Uno de los libros fundamientales y que recomiendo para aprender Android y llegar a hacer aplicaciones profesionales es: &lt;a href=&quot;http://www.amazon.es/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;index=aps&amp;amp;keywords=978-0-470-56552-0&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;Android 2 Application Developement de Reto Meier&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/2561751629136635136/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2014/01/curso-android-capitulo3-distribucion-archivos-proyecto-android.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/2561751629136635136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/2561751629136635136'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2014/01/curso-android-capitulo3-distribucion-archivos-proyecto-android.html' title='Capítulo 3. Distribución de archivos de los proyectos Android (I)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s72-c/icono-curso-android.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-5586668337725470582</id><published>2014-01-06T22:24:00.000+01:00</published><updated>2014-03-01T18:17:24.676+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="curso android"/><title type='text'>Capítulo 2. Perspectiva Debug de Eclipse para Android (VIII)</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s1600/icono-curso-android.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s200/icono-curso-android.png&quot; height=&quot;191&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Accesos rápidos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/p/curso-android.html&quot;&gt;Índice del curso&amp;nbsp;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/2014/01/curso-android-capitulo2-perspectiva-ddms-eclipse.html&quot;&gt;Capítulo anterior:&amp;nbsp; Perspectiva DDMS de Eclipse para Android&amp;nbsp;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Una vez que hemos repasado la perspectiva DDMS en la entrada anterior, vamos a repasar otra perspectiva que puede ser muy interesante para depurar nuestros desarrollos, se trata de la perspectiva debug. Podemos abrirla desde Ventana - Abrir Perspectiva - Otras - Depurar. Se cambiará entonces nuestra pantalla de Eclipse y veremos una distribución como la que vemos a continuación.&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-zIa0dpZu2mQ/Ur2i9xCV9bI/AAAAAAAACcM/JD1vwCXzQ_0/s1600/perspectiva+debug.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-zIa0dpZu2mQ/Ur2i9xCV9bI/AAAAAAAACcM/JD1vwCXzQ_0/s320/perspectiva+debug.png&quot; height=&quot;162&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div style=&quot;background-color: #ffffcc;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;PORQUE TE LO MERECES!! VISITA LOS MÁS VENDIDOS&amp;nbsp; DE AMAZON EN MÓVILES&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;img alt=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot; border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-wSWDu6ZrFYE/UuojlvSRqgI/AAAAAAAACi4/W2oWLbMre4Q/s1600/amazon.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Esta perspectiva es muy interesante para poder consultar el estado de las variables que maneja nuestra aplicación y como se va desarrollando la ejecución de la misma ya que nos permite avanzar sentencia a sentencia. Para poner en marcha estas funcionalidades tenemos que indicar en nuestro código donde queremos establecer un breakpoint y la ejecución se detendrá en ese punto. Solamente se pueden establecer breakpoint en los ficheros Java y para ello tenemos que hacer doble click a la izquierda de la sentencia donde queremos establecerlo. En la imagen siguiente vemos un breakpoint en el establecido en nuestra clase MainActivity.java. Sabemos que tenemos un breakpoint por el punto azul que vemos a la izquierda de la sentencia.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-NWyMb0dur_o/Ur2kjPK9uWI/AAAAAAAACcY/2uhCodktrx0/s1600/perspectiva+debug2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-NWyMb0dur_o/Ur2kjPK9uWI/AAAAAAAACcY/2uhCodktrx0/s320/perspectiva+debug2.png&quot; height=&quot;141&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-t_4HExFqdJk/Ur2kzMnacMI/AAAAAAAACcg/53UVu5b9JcA/s1600/perspectiva+debug3.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-H8Qkj9-fBUQ/Ur2lKtaFDzI/AAAAAAAACco/g8JqqOR0gFU/s1600/perspectiva+debug4.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Para lanzar nuestra aplicación en modo debug tenemos que lanzarlo desde el botón situado justa a la derecha de ejecutar &lt;a href=&quot;http://3.bp.blogspot.com/-t_4HExFqdJk/Ur2kzMnacMI/AAAAAAAACcg/53UVu5b9JcA/s1600/perspectiva+debug3.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-t_4HExFqdJk/Ur2kzMnacMI/AAAAAAAACcg/53UVu5b9JcA/s1600/perspectiva+debug3.png&quot; /&gt;&lt;/a&gt;. Cuando la ejecución llega a la sentencia donde hemos establecido el breakpoint el emulador se detiene y se habilitan los botones situados en la parte superior que nos permiten ejecutar las instrucciones paso a paso. Para ello tenemos el botón &lt;a href=&quot;http://2.bp.blogspot.com/-H8Qkj9-fBUQ/Ur2lKtaFDzI/AAAAAAAACco/g8JqqOR0gFU/s1600/perspectiva+debug4.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-H8Qkj9-fBUQ/Ur2lKtaFDzI/AAAAAAAACco/g8JqqOR0gFU/s1600/perspectiva+debug4.png&quot; /&gt;&lt;/a&gt;&amp;nbsp; Si pulsamos dicho botón observaremos como la ejecución avanza a la siguiente instrucción.&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Y con esto damos por terminado este capítulo. Comenzamos en el capítulo siguiente con los principales componentes Android. &lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;span style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt; &lt;/i&gt;&lt;span style=&quot;color: red;&quot;&gt;LIBRO RECOMENDADO PARA APRENDER ANDROID&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;index=aps&amp;amp;keywords=978-0-470-56552-0&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-MR-MHf5pAA0/UrxkJgN6Y-I/AAAAAAAACak/xzPKonsksi8/s200/libro+android+reto+meier.jpg&quot; height=&quot;100&quot; width=&quot;100&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Uno de los libros fundamientales y que recomiendo para aprender Android y llegar a hacer aplicaciones profesionales es: &lt;a href=&quot;http://www.amazon.es/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;index=aps&amp;amp;keywords=978-0-470-56552-0&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;Android 2 Application Developement de Reto Meier&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/5586668337725470582/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2014/01/curso-android-capitulo2-perspectiva-debug-eclipse.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/5586668337725470582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/5586668337725470582'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2014/01/curso-android-capitulo2-perspectiva-debug-eclipse.html' title='Capítulo 2. Perspectiva Debug de Eclipse para Android (VIII)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s72-c/icono-curso-android.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-4904756356029971990</id><published>2014-01-06T00:16:00.000+01:00</published><updated>2014-03-01T18:17:39.267+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="curso android"/><title type='text'>Capítulo 2. Perspectiva DDMS de Eclipse para Android (VII)</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s1600/icono-curso-android.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s200/icono-curso-android.png&quot; height=&quot;191&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Accesos rápidos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/p/curso-android.html&quot;&gt;Índice del curso&amp;nbsp;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/2013/12/capitulo2-curso-android-gestionar-emulador-consola.html&quot;&gt;Capítulo anterior:&amp;nbsp; Gestionar los emuladores desde consola&amp;nbsp;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Una vez que hemos terminado de explicar como cargar nuestra primera aplicación al terminal Android o al emulador vamos a explicar un par de consejos sobre el uso de Eclipse que nos pueden ser muy útiles a la hora de implementar nuestros desarrollos en Android. Lo primero que vamos a explicar es la una perspectiva de Eclipse que nos puede ser muy interesante a la hora de testear&amp;nbsp; nuestras aplicaciones Android. Se llama DDMS (Dalvik Debug Monitor Server) y aporta abundante información sobre nuestro terminal o el emulador en donde&amp;nbsp; hemos cargado la aplicación. Podemos mostrar esta perspectiva de forma fácil desde Ventana - Abrir perspectiva - DDMS. Para poder obtener toda la información que nos aporta esta perspectiva tenemos que modificar la configuración por defecto de Eclipse y marcar dos check que vemos en la pantalla Ventana - Preferencias - DDMS. Éstos dos check son Thread updates enabled by default y Heap updates enabled by default tal y como se muestra en la imagen siguiente.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-8F5RfbxV4sc/Ur2Vl5tkmNI/AAAAAAAACbg/4c9hdC-YZE8/s1600/android+ddms.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-8F5RfbxV4sc/Ur2Vl5tkmNI/AAAAAAAACbg/4c9hdC-YZE8/s320/android+ddms.png&quot; height=&quot;230&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;span style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;span style=&quot;mso-bidi-font-style: normal;&quot;&gt;Entre las características que nos ofrece esta perspectiva se encuentran la posibilidad de escanear los puertos del emulador, realizar capturas de pantalla, mostrar información de los hilos y la pila de memoria del terminal, visualizar el LogCat, procesos activos e información de la radio, gestionar llamadas entrantes y mensajes de texto y algunas funcionalidades más.&lt;br /&gt;Si tenemos nuestro emulador abierto, podemos abrir la perspectiva DDMS y nuestro Eclipse se mostrará como en la ilustración siguiente. En la parte izquierda y bajo el nombre de devices podemos ver los emuladores que tenemos activos o los terminales que tenemos conectados al PC. Si hacemos click en nuestro emulador se abrirá una lista con todos los procesos que tenemos abiertos. Podemos ver el último de todos el proceso correspondiente a nuestro proyecto.&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;span style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-DzTCET9YqSI/Ur2XnnJgTeI/AAAAAAAACbs/JbK49BEgokM/s1600/android+ddms2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-DzTCET9YqSI/Ur2XnnJgTeI/AAAAAAAACbs/JbK49BEgokM/s320/android+ddms2.png&quot; height=&quot;154&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;span style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div style=&quot;background-color: #ffffcc;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;PORQUE TE LO MERECES!! VISITA LOS MÁS VENDIDOS&amp;nbsp; DE AMAZON EN MÓVILES&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;img alt=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot; border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-wSWDu6ZrFYE/UuojlvSRqgI/AAAAAAAACi4/W2oWLbMre4Q/s1600/amazon.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;mso-bidi-font-style: normal;&quot;&gt;Con los botones que tenemos justo al lado de la palabra device actualizamos la información relativa tanto a la memoria consumida por nuestros threads como a la memoria que nos queda disponible de nuestro terminal. También podemos ver, con Network Statistics la gestión de la red que hace nuestro terminal con el fin de optimizar el proceso de carga y consulta de datos. Estas características no la usaremos a no ser que estemos creando grandes aplicaciones o queramos depurar de forma concienzuda el gasto de memoria de nuestra aplicación. &lt;br /&gt;Otra funcionalidad importante de esta perspectiva es la posibilidad de cargar archivos desde el PC al emulador o terminal conectado o viceversa. Para ello tenemos que hacer click en File Explorer. Veremos entonces la estructura de ficheros y archivos que tiene nuestro terminal. Podemos bajar un fichero o subirlo mediante estos botones&lt;/span&gt;&lt;span style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-W9010tAK5kM/Ur2X5oKslOI/AAAAAAAACb0/RPhdwjLSyU0/s1600/android+ddms3.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-W9010tAK5kM/Ur2X5oKslOI/AAAAAAAACb0/RPhdwjLSyU0/s1600/android+ddms3.png&quot; /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;span style=&quot;mso-bidi-font-style: normal;&quot;&gt;Podemos además controlar como se gestionan las llamadas entrantes, sms, localización del dispositivo, etc. Para ello vamos a sacar en esta perspectiva la vista Emulator Control siguiendo la ruta Ventana - Mostrar Vista - Otras - Emulator Control. Veremos ahora una pantalla en la que podemos establecer nuestro terminal en modo ronaming, sin SIM, etc, la velocidad de la red a la que estamos conectando el emulador, simular una llamada entrante desde el número que deseemos, enviar un SMS con un texto que queramos o incluso seleccionar las coordenadas que queramos que tenga nuestro emulador para probar aplicaciones de geolocalización.&amp;nbsp; &lt;/span&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-RA2MFfEeQfE/Ur2YtKoxLCI/AAAAAAAACb8/q9jWzTAXHwM/s1600/android+ddms4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-RA2MFfEeQfE/Ur2YtKoxLCI/AAAAAAAACb8/q9jWzTAXHwM/s320/android+ddms4.png&quot; height=&quot;181&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&amp;nbsp;&lt;/i&gt;&lt;span style=&quot;mso-bidi-font-style: normal;&quot;&gt;Como hemos dicho anteriormente, hemos sacado a esta perspectiva una vista que no venía en la versión por defecto. Es decir, la perspectiva DDMS no trae por defecto la vista Emulator Control sino que la hemos activado nosotros. Si queremos podemos guardar esta perspectiva tal y como la hemos dejado actualmente desde VentanaGuardar perspectiva como. Se nos abrirá un asistente para que establezcamos el nombre que queremos que tenga nuestra nueva perspectiva y la tendremos disponible a partir de ahora&lt;i&gt;. &lt;/i&gt;En la siguiente entrada repasaremos la perspectiva Debug que emplearemos para depurar nuestras aplicaciones.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;span style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt; &lt;/i&gt;&lt;span style=&quot;color: red;&quot;&gt;LIBRO RECOMENDADO PARA APRENDER ANDROID&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;index=aps&amp;amp;keywords=978-0-470-56552-0&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-MR-MHf5pAA0/UrxkJgN6Y-I/AAAAAAAACak/xzPKonsksi8/s200/libro+android+reto+meier.jpg&quot; height=&quot;100&quot; width=&quot;100&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Uno de los libros fundamientales y que recomiendo para aprender Android y llegar a hacer aplicaciones profesionales es: &lt;a href=&quot;http://www.amazon.es/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;index=aps&amp;amp;keywords=978-0-470-56552-0&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;Android 2 Application Developement de Reto Meier&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/4904756356029971990/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2014/01/curso-android-capitulo2-perspectiva-ddms-eclipse.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/4904756356029971990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/4904756356029971990'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2014/01/curso-android-capitulo2-perspectiva-ddms-eclipse.html' title='Capítulo 2. Perspectiva DDMS de Eclipse para Android (VII)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s72-c/icono-curso-android.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-5254447536653028505</id><published>2014-01-02T21:13:00.002+01:00</published><updated>2014-01-30T11:23:16.842+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="curso android"/><title type='text'>Capítulo 2. Gestionar los emuladores desde consola (VI)</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s1600/icono-curso-android.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s200/icono-curso-android.png&quot; height=&quot;191&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Accesos rápidos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/p/curso-android.html&quot;&gt;Índice del curso&amp;nbsp;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/2013/12/curso-android-capitulo2-cargar-alplicacion-telefono-ubuntu.html&quot;&gt;Capítulo anterior:&amp;nbsp; Conectar nuestro terminal Android al ordenador en Ubuntu&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Ya hemos visto como volcar nuestros desarrollos tanto a un emulador como a un teléfono o terminal Android conectado a nuestro ordenador en los capítulos anteriores del curso Android.&amp;nbsp; Ahora vamos a explicar como gestionar los emuladores pero desde consola, sin tener que acceder a la herramienta gráfica de gestión de emuladores de Eclipse. Para ello tenemos que irnos a la ruta donde tenemos instalado el SDK.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Pero además de cómo hemos explicado anteriormente, los emuladores también se pueden crear desde una consola. Estas opciones son válidas tanto para Ubuntu como para Windows. Para ello nos situamos en la carpeta platform-tools del SDK de android ver la carpeta en donde tenemos que hacerlo y tenemos los siguientes comandos:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;android create avd -n &amp;lt;name&amp;gt; -target &amp;lt;targetID&amp;gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;Mediante este comando se crea un emulador con el nombre que especifiquemos en name y con la versión de Android que especifiquemos en -target. Para conocer cuáles son las posibles versiones que tenemos disponibles de Android tenemos el comando siguiente (este comando no se encuentra en el directorio platform-tools sino en tools):&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;android list targets&lt;/blockquote&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div style=&quot;background-color: #ffffcc;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;PORQUE TE LO MERECES!! VISITA LOS MÁS VENDIDOS&amp;nbsp; DE AMAZON EN MÓVILES&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;img alt=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot; border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-wSWDu6ZrFYE/UuojlvSRqgI/AAAAAAAACi4/W2oWLbMre4Q/s1600/amazon.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;Veremos un listado como muestra en la imagen siguiente con un listado de los posibles niveles del API. El campo id es el que tenemos que indicar en el comando de creación del emulador para especificar el sistema operativo que deseamos. &lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-WCwVQHAprfo/Urx6Qu61fdI/AAAAAAAACa0/PGzGSr4XyC0/s1600/emulador+android+comandos.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-WCwVQHAprfo/Urx6Qu61fdI/AAAAAAAACa0/PGzGSr4XyC0/s320/emulador+android+comandos.png&quot; height=&quot;320&quot; width=&quot;279&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Otra de las características del emulador que podemos manejar mediante el terminal es el tipo de la pantalla que queremos que tenga. &lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;android create avd -n &amp;lt;name&amp;gt; -t &amp;lt;targetID&amp;gt; --skin WVGA800&lt;/blockquote&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Los tipo de pantallas que podemos emplear en función del tamaño y la resolución se muestra en la tabla siguiente. Estos tipos de pantallas son los mismos que vemos en la pantalla de configuración del emulador en la lista de device.&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-MbvcWmqCqTk/Urx6wsxno_I/AAAAAAAACa8/jR9wyy-QLoE/s1600/emulador+android+comandos+2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-MbvcWmqCqTk/Urx6wsxno_I/AAAAAAAACa8/jR9wyy-QLoE/s320/emulador+android+comandos+2.png&quot; height=&quot;122&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;En esta entrada del blog (&lt;a href=&quot;http://www.josealopezpastor.com/2013/12/curso-android-capitulo2-emulador-Android-Eclipse.html&quot;&gt;aquí&lt;/a&gt;) ya nos hemos creado un emulador desde Eclipse. Ahora nos crearemos un emulador desde consola. Pare ello usaremos el siguiente comando:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;android create avd -n 2-hdpi -t 18 --skin WVGA800&lt;/blockquote&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Vemos en la siguiente imagen como hemos creado el emulador&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-j4obuQYwYrc/Urx91osepaI/AAAAAAAACbI/-Pyr1OhaL7s/s1600/emulador+android+comandos+3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-j4obuQYwYrc/Urx91osepaI/AAAAAAAACbI/-Pyr1OhaL7s/s320/emulador+android+comandos+3.png&quot; height=&quot;114&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Una vez que tenemos creado el emulador podemos arrancarlos con:&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;emulator -avd &amp;lt;name&amp;gt;&lt;/blockquote&gt;En este caso&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;emulator -avd 2-hdpi&lt;/blockquote&gt;Y veremos como se abre nuestro emulador:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-bKLr_WCo1Sg/Urx-XDyvlpI/AAAAAAAACbQ/rhyTrF2CdmE/s1600/emulador+android+comandos+4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-bKLr_WCo1Sg/Urx-XDyvlpI/AAAAAAAACbQ/rhyTrF2CdmE/s320/emulador+android+comandos+4.png&quot; height=&quot;295&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Otra cosa que podemos hacer es borrar un emulador. Para ello tenemos el siguiente comando:&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;android delete avd -n &amp;lt;name&amp;gt;&lt;/blockquote&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;La documentación oficial sobre la gestión del emulador Android desde consola la podéis encontrar &lt;a href=&quot;http://developer.android.com/tools/devices/managing-avds-cmdline.html&quot;&gt;aquí&lt;/a&gt;. En los siguientes post de este tema explicaremos un par de consejos que debemos seguir a la hora de emplear Eclipse.&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;LIBRO RECOMENDADO PARA APRENDER ANDROID&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;index=aps&amp;amp;keywords=978-0-470-56552-0&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-MR-MHf5pAA0/UrxkJgN6Y-I/AAAAAAAACak/xzPKonsksi8/s200/libro+android+reto+meier.jpg&quot; height=&quot;100&quot; width=&quot;100&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Uno de los libros fundamientales y que recomiendo para aprender Android y llegar a hacer aplicaciones profesionales es: &lt;a href=&quot;http://www.amazon.es/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;index=aps&amp;amp;keywords=978-0-470-56552-0&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;Android 2 Application Developement de Reto Meier&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/5254447536653028505/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2014/01/capitulo2-curso-android-gestionar-emulador-consola.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/5254447536653028505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/5254447536653028505'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2014/01/capitulo2-curso-android-gestionar-emulador-consola.html' title='Capítulo 2. Gestionar los emuladores desde consola (VI)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s72-c/icono-curso-android.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-5292697958021924181</id><published>2013-12-26T23:37:00.000+01:00</published><updated>2014-01-30T11:23:07.389+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="curso android"/><title type='text'>Capítulo 2. Conectar nuestro terminal Android al ordenador con Ubuntu (V)</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s1600/icono-curso-android.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s200/icono-curso-android.png&quot; height=&quot;191&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Accesos rápidos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/p/curso-android.html&quot;&gt;Índice del curso&amp;nbsp;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/2013/12/curso-android-capitulo2-cargar-alplicacion-telefono-windows.html&quot;&gt;Capítulo anterior:&amp;nbsp; Conectar nuestro terminal Android al ordenador en Windows &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&amp;nbsp;En la entrada anterior vimos como conectar nuestros teléfonos para volcar nuestros desarrollos desde un entorno en Windows(tienes el enlace justo arriba). Ahora vamos a mostrar lo mismo pero desde Ubuntu. Tenemos que usar los comandos que lleva el SDK para la gestión del emulador. Podéis consultar la documentación oficial &lt;a href=&quot;http://developer.android.com/tools/help/adb.html&quot;&gt;aquí&lt;/a&gt;. Para ello tenemos que ir a la carpeta platform-tools donde se encuentra instalado el SDK y usaremos el comando&lt;/div&gt;&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;xxx@xxx:~/xxx/android-sdk-linux/platform-tools $ ./adb devices&amp;nbsp; &lt;/blockquote&gt;&lt;br /&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;Veremos entonces que nuestra consola muestra algo como:&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;List of devices attached ?????????&amp;nbsp;&amp;nbsp;&amp;nbsp; no permissions&lt;/blockquote&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div style=&quot;background-color: #ffffcc;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;PORQUE TE LO MERECES!! VISITA LOS MÁS VENDIDOS&amp;nbsp; DE AMAZON EN MÓVILES&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;img alt=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot; border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-wSWDu6ZrFYE/UuojlvSRqgI/AAAAAAAACi4/W2oWLbMre4Q/s1600/amazon.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;Esto quiere decir que no tenemos nuestro dispositivo correctamente conectado. Tenemos que irnos a&amp;nbsp; &lt;i&gt;cd /etc/udev/rules.d/ &lt;/i&gt;y añadir en el fichero&lt;i&gt; 51-android.rules&lt;/i&gt; el renglón:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;i&gt;SUBSYSTEM==&quot;usb&quot;, SYSFS{idVendor}==&quot;xxxx&quot;,MODE=&quot;0666&quot;&lt;/i&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;El idVendor cambia para cada uno de los distintos fabricantes, por lo que tendremos que buscar el que nos interese. Por ejemplo para Samsung tenemos que emplear como idVendor 04e8 y para HTC 0bb4. Podemos encontrar un listado de los idVendor a emplear en la página oficial de Android &lt;a href=&quot;http://developer.android.com/tools/device.html&quot;&gt;http://developer.android.com/tools/device.html&lt;/a&gt;.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Una vez hecho esto, volvemos&amp;nbsp; /platform-tools/ y reiniciamos el servicio con:&lt;/div&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;sudo ./adb kill-server&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;sudo ./adb start-server&lt;/div&gt;&lt;/blockquote&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Con esto, si ejecutamos de nuevo &lt;i&gt;./adb devices&lt;/i&gt; vermos algo como lo siguiente. Esto nos indica que ya tenemos acceso a nuestro terminal&lt;/div&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;List of devices attached &lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;S583058235733&amp;nbsp;&amp;nbsp;&amp;nbsp; device &lt;/div&gt;&lt;/blockquote&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Ya veremos entonces desde Eclipse tanto el emulador como nuestro dispositivo físico.&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;LIBRO RECOMENDADO PARA APRENDER ANDROID&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;index=aps&amp;amp;keywords=978-0-470-56552-0&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-MR-MHf5pAA0/UrxkJgN6Y-I/AAAAAAAACak/xzPKonsksi8/s200/libro+android+reto+meier.jpg&quot; height=&quot;100&quot; width=&quot;100&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Uno de los libros fundamientales y que recomiendo para aprender Android y llegar a hacer aplicaciones profesionales es: &lt;a href=&quot;http://www.amazon.es/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;index=aps&amp;amp;keywords=978-0-470-56552-0&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;Android 2 Application Developement de Reto Meier&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/5292697958021924181/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2013/12/curso-android-capitulo2-cargar-alplicacion-telefono-ubuntu.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/5292697958021924181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/5292697958021924181'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2013/12/curso-android-capitulo2-cargar-alplicacion-telefono-ubuntu.html' title='Capítulo 2. Conectar nuestro terminal Android al ordenador con Ubuntu (V)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s72-c/icono-curso-android.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-5829352206515497911</id><published>2013-12-26T12:24:00.000+01:00</published><updated>2014-01-30T11:21:47.188+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="curso android"/><title type='text'>Capítulo 2. Conectar nuestro terminal Android al ordenador en Windows (IV). </title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s1600/icono-curso-android.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s200/icono-curso-android.png&quot; height=&quot;191&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Accesos rápidos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/p/curso-android.html&quot;&gt;Índice del curso&amp;nbsp;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/2013/12/curso-android-capitulo2-emulador-Android-Eclipse.html&quot;&gt;Capítulo anterior: Usando el emulador de Android en Eclipse&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&amp;nbsp;Si pudiste seguir con éxito el post anterior (&lt;a href=&quot;http://www.josealopezpastor.com/2013/12/curso-android-capitulo2-emulador-Android-Eclipse.html&quot;&gt;aquí&lt;/a&gt;), ya habrás sido capaz de volcar tu primero proyecto en el emulador, viendo en la pantalla el mensaje Hello World!. Ahora vamos a volcar el desarrollo a un terminal conectado al ordenador desde un sistema Windows. Lo primero que tenemos que hacer es habilitar nuestro teléfono que permita instalar aplicaciones que no son del Market. Para ello tenemos que ir a Ajustes-Aplicaciones y seleccionamos Orígenes desconocidos. Además tenemos que permitir la depuración por USB desde Ajuste-Aplicaciones-Desarrollo y seleccionamos Depuración de USB.&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-djSvHwaOW4U/UqXNGMcQogI/AAAAAAAACZI/nptvZmEp65I/s1600/android-terminal1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-djSvHwaOW4U/UqXNGMcQogI/AAAAAAAACZI/nptvZmEp65I/s320/android-terminal1.png&quot; height=&quot;320&quot; width=&quot;179&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-bGzw6Jk1Fz8/UqXNF5v489I/AAAAAAAACZE/RCVH4YKin4k/s1600/android-terminal2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-bGzw6Jk1Fz8/UqXNF5v489I/AAAAAAAACZE/RCVH4YKin4k/s320/android-terminal2.png&quot; height=&quot;320&quot; width=&quot;179&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div style=&quot;background-color: #f5ecce;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div style=&quot;background-color: #ffffcc;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;PORQUE TE LO MERECES!! VISITA LOS MÁS VENDIDOS&amp;nbsp; DE AMAZON EN MÓVILES&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;img alt=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot; border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-wSWDu6ZrFYE/UuojlvSRqgI/AAAAAAAACi4/W2oWLbMre4Q/s1600/amazon.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Una vez que hemos realizado estos pasos desde el Administrador de dispositivos veremos que nuestro teléfono ha sido correctamente reconocido. Normalmente los drivers de los teléfonos al ser por USB vienen preinstalados en Windows y no hay que hacer ningún otro paso que conectar el terminal.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Si intentamos cargar nuesta aplicación en un terminal veremos entonces que tenemos dos dispositivos disponible, el emulador que nos hemos creado anteriormente y el terminal que hemos insertado por USB.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-PwcD3REiO6w/UqXnfvXY5qI/AAAAAAAACZs/TNY7EsCnmdg/s1600/android-telefono.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-PwcD3REiO6w/UqXnfvXY5qI/AAAAAAAACZs/TNY7EsCnmdg/s320/android-telefono.png&quot; height=&quot;219&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Como podéis ver se trata de un terminal Android de Sony bastante barato. Ahora si cargamos la aplicación en el terminal podemos ver que se muestra el mismo mensaje. En la siguiente entrada veremos como realizar esta misma operación pero desde Ubuntu&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;LIBRO RECOMENDADO PARA APRENDER ANDROID&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;index=aps&amp;amp;keywords=978-0-470-56552-0&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-MR-MHf5pAA0/UrxkJgN6Y-I/AAAAAAAACak/xzPKonsksi8/s200/libro+android+reto+meier.jpg&quot; height=&quot;100&quot; width=&quot;100&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Uno de los libros fundamientales y que recomiendo para aprender Android y llegar a hacer aplicaciones profesionales es: &lt;a href=&quot;http://www.amazon.es/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;index=aps&amp;amp;keywords=978-0-470-56552-0&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;Android 2 Application Developement de Reto Meier&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/5829352206515497911/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2013/12/curso-android-capitulo2-cargar-alplicacion-telefono-windows.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/5829352206515497911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/5829352206515497911'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2013/12/curso-android-capitulo2-cargar-alplicacion-telefono-windows.html' title='Capítulo 2. Conectar nuestro terminal Android al ordenador en Windows (IV). '/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s72-c/icono-curso-android.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-2927632118165708210</id><published>2013-12-23T12:03:00.001+01:00</published><updated>2014-01-30T11:21:27.567+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="curso android"/><title type='text'>Capítulo 2. Usando el emulador de Android en Eclipse (III)</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s1600/icono-curso-android.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s200/icono-curso-android.png&quot; height=&quot;191&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Accesos rápidos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/p/curso-android.html&quot;&gt;Índice del curso&amp;nbsp;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/2013/12/curso-android-capitulo2-programar-Android-Eclipse.html&quot;&gt;Capítulo anterior:Principales componentes Eclipse para Android&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Vamos a realizar un pequeño repaso para no perder el hilo del capítulo. Lo comenzamos creándonos nuestro primer proyecto Android llamado Hola Mundo! (&lt;a href=&quot;http://www.josealopezpastor.com/2013/12/curso-android-capitulo2-primer-proyecto-eclipse.html&quot;&gt;aquí&lt;/a&gt;), después explicamos los detalles fundamentales de la aplicación que vamos a usar para programar(&lt;a href=&quot;http://www.josealopezpastor.com/2013/12/curso-android-capitulo2-programar-Android-Eclipse.html&quot;&gt;aquí&lt;/a&gt;), es decir Eclipse, y ahora vamos a ver funcionando este primer proyecto en un Emulador de un terminal Android. El paso que tendremos que dar para cargar nuestra aplicación en el emulador sería pulsar el botón con flecha blanca y verde que mostramos en la imagen siguiente. Mediante este botón podemos cargar nuestro desarrollo en un terminal conectado a nuestro ordenador o a un emulador.&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-FsRRBS30m4M/UptipBr-OLI/AAAAAAAACXQ/o9JSHVMkbSA/s1600/emulador-eclipse-android.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-FsRRBS30m4M/UptipBr-OLI/AAAAAAAACXQ/o9JSHVMkbSA/s320/emulador-eclipse-android.png&quot; height=&quot;204&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style=&quot;background-color: #f5ecce;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div style=&quot;background-color: #ffffcc;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;PORQUE TE LO MERECES!! VISITA LOS MÁS VENDIDOS&amp;nbsp; DE AMAZON EN MÓVILES&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;img alt=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot; border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-wSWDu6ZrFYE/UuojlvSRqgI/AAAAAAAACi4/W2oWLbMre4Q/s1600/amazon.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Pero antes de cargar nuestro proyecto de ejemplo vamos a describir en profundidad el emulador de Android. El SDK de Android permite crear tantos emuladores como deseemos, con distintas versiones del sistema operativo y distinta configuración hardware. Podemos tenerlos además activos de manera simultánea de forma que podemos probar el comportamiento de nuestra aplicación en distintos hardware emulados de manera simultánea. Es recomendable además crearnos varios emuladores, cada uno con un tamaño de pantalla distinto. Esto nos permitirá testear el comportamiento de nuestras aplicaciones antes de su instalación en distintos hardware. Los ejemplos y códigos que desarrollemos en este curso serán volcados y probados en el emulador para comprobar su funcionamiento.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Los emuladores se pueden crear y gestionar desde el propio Eclipse. Para ello&amp;nbsp; nos vamos al proyecto que hemos creado y hacemos click en Window-Android Virtual Device Manager y desde el botón New podemos comenzar a crearnos los emuladores necesarios para probar nuestros desarrollos. Veremos entonces una imagen como la que mostramos a continuación.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-SaOQ7ZuaqYw/Upto34J9fuI/AAAAAAAACXg/eMfhJ0NngiI/s1600/emulador-eclipse-android+4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-SaOQ7ZuaqYw/Upto34J9fuI/AAAAAAAACXg/eMfhJ0NngiI/s320/emulador-eclipse-android+4.png&quot; height=&quot;320&quot; width=&quot;190&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&amp;nbsp;Para configurar nuestro emulador tenemos que indicar los siguientes parámetros:&lt;/div&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;AVD Name (Android Virtual Device): nombre que emplearemos para el emulador. No se pueden emplear para el nombre espacios en blanco ni caracteres especiales.&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;Device: especifica el tamaño de pantalla que emplearemos en el emulador. Podemos elegir entre algunos de los terminales fabricados por Google como Nexus 7 o Nexus One o elegir directamente el tamaño y la densidad de pantalla que queremos emplear. En el tema 6 explicaremos las diferencias entre ldpi, mldpi, hdpi y xhdpi. Ahora simplemente nos fijaremos en que podemos crear múltiples emuladores con distintos tamaños de pantalla distintos, desde 2.7” hasta 10.1” &lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;Target: seleccionaremos la versión de Android que queremos emplear en nuestro emulador. Podemos elegir tantas como SDK hayamos instalado previamente. &lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;Keyword: si queremos emular teclado físico en nuestros dispositivos.&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;Skin: podemos hacer que nuestro emulador tenga la apariencia del teléfono que hemos seleccionado.&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;Front Camera – Back Camera: podemos emular la cámara de nuestro terminal mediante la webcam de nuestro equipo de desarrollo &lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;RAM: la memoria RAM que queremos que tenga nuestro emulador.&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;Internal Storage: cantidad de memoria interna que queremos tenga nuestro emulador&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;SD-Card: tamaño que queremos especificar como memoria SD de nuestro emulador.&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;Use Host GPU: nos permite usar el hardware del equipo donde estamos programando para aceleración gráfica. Se necesita Android 4.0.3 (API 15) o superior.&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Vamos a crearnos un primer emulador y vamos a volcar en el nuestro proyecto de ejemplo. Este primer proyecto solamente tiene un label que muestra el mensaje Hola Mundo! Para crearnos este primer emulador vamos a usar los siguientes parámetros:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-6IkcpcSfhxQ/UqV6zwG0GiI/AAAAAAAACYE/3pazoofF_Ko/s1600/emulador-eclipse-android+5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-6IkcpcSfhxQ/UqV6zwG0GiI/AAAAAAAACYE/3pazoofF_Ko/s320/emulador-eclipse-android+5.png&quot; height=&quot;320&quot; width=&quot;190&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Pulsando el botón OK ya tenemos creado nuestro primer emulador. Ahora solo nos falta una pequeña configuración en Eclipse para poder ejecutar nuestra primera aplicación. Tenemos hacer click en la flecha verde de ejecutar e ir a Run Configurations. Veremos una pantalla como la siguiente:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-onm0KegE6s8/UqWKeOSZjsI/AAAAAAAACYU/X8oHWixblGA/s1600/emulador-eclipse-android+6.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-onm0KegE6s8/UqWKeOSZjsI/AAAAAAAACYU/X8oHWixblGA/s320/emulador-eclipse-android+6.png&quot; height=&quot;198&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Tenemos entonces que crearnos una nueva configuración para la ejecución de nuestras aplicaciones Android haciendo click en el botón New Launch Configuration&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-rj5uofO4SSQ/UqWLPTxjpVI/AAAAAAAACYc/Io6P7ZeQFZA/s1600/emulador-eclipse-android+7.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-rj5uofO4SSQ/UqWLPTxjpVI/AAAAAAAACYc/Io6P7ZeQFZA/s200/emulador-eclipse-android+7.png&quot; height=&quot;190&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Seleccionaremos entonces nuestro proyecto y en la pantalla de Target indicaremos que pregunte siempre que emulador elegir antes de lanzar nuestra aplicación:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-mYVqhpmXbbo/UqWMIow8WuI/AAAAAAAACYo/nSpC10Ngvjo/s1600/emulador-eclipse-android+8.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-mYVqhpmXbbo/UqWMIow8WuI/AAAAAAAACYo/nSpC10Ngvjo/s200/emulador-eclipse-android+8.png&quot; height=&quot;128&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Ya podemos hacer click en el botón de Run para pasar una nueva pantalla desde la que seleccionamos en que emulador queremos cargar nuestra aplicación.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-9bpwiFmc9Z8/UqWOu-51TRI/AAAAAAAACY0/AtTaW2kRyYA/s1600/emulador-eclipse-android+9.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-9bpwiFmc9Z8/UqWOu-51TRI/AAAAAAAACY0/AtTaW2kRyYA/s320/emulador-eclipse-android+9.png&quot; height=&quot;217&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Y listo, ya veremos el primer proyecto que hemos comenzado con el texto Hola mundo! en la pantalla del Emulador.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-GgM-m3e29BI/UqXRprK4FHI/AAAAAAAACZY/9m0x8Hp0asE/s1600/emulador-eclipse-android+10.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-GgM-m3e29BI/UqXRprK4FHI/AAAAAAAACZY/9m0x8Hp0asE/s320/emulador-eclipse-android+10.png&quot; height=&quot;320&quot; width=&quot;235&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;LIBRO RECOMENDADO PARA APRENDER ANDROID&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;index=aps&amp;amp;keywords=978-0-470-56552-0&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-MR-MHf5pAA0/UrxkJgN6Y-I/AAAAAAAACak/xzPKonsksi8/s200/libro+android+reto+meier.jpg&quot; height=&quot;100&quot; width=&quot;100&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Uno de los libros fundamientales y que recomiendo para aprender Android y llegar a hacer aplicaciones profesionales es: &lt;a href=&quot;http://www.amazon.es/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;index=aps&amp;amp;keywords=978-0-470-56552-0&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;Android 2 Application Developement de Reto Meier&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/2927632118165708210/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2013/12/curso-android-capitulo2-emulador-Android-Eclipse.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/2927632118165708210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/2927632118165708210'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2013/12/curso-android-capitulo2-emulador-Android-Eclipse.html' title='Capítulo 2. Usando el emulador de Android en Eclipse (III)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s72-c/icono-curso-android.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-4814129285517853243</id><published>2013-12-15T23:19:00.000+01:00</published><updated>2014-01-30T11:21:10.720+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="curso android"/><title type='text'>Capítulo 2. Principales componentes de Eclipse para Android (II)</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s1600/icono-curso-android.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s200/icono-curso-android.png&quot; height=&quot;191&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Accesos rápidos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/p/curso-android.html&quot;&gt;Índice del curso&amp;nbsp;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/2013/12/curso-android-capitulo2-primer-proyecto.html&quot;&gt;Capítulo anterior: Nuestro primer proyecto Android en Eclipse&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;En el capítulo anterior (enlace arriba) comenzamos el primer proyecto Android empleando Eclipse. Si todo ha ido con éxito, verás una pantalla con un montón de secciones como la que mostramos a continuación y que iremos explicando con detalle:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-kQcz3UhyCls/UpsQ6w5SxaI/AAAAAAAACV0/Puk5__ke-Ik/s1600/eclipse-android.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-kQcz3UhyCls/UpsQ6w5SxaI/AAAAAAAACV0/Puk5__ke-Ik/s320/eclipse-android.png&quot; height=&quot;179&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Esta es la distribución de componentes de Eclipse para un proyecto Android por defecto, pero podemos configurarcomo deseemos. Vamos a ir explicando los componentes que podemos ver ahora y algunos que nos serán de interés. Si recordamos, en la entrada anterior comenzamos un proyecto llamado Hola Mundo. Por defecto, y por regla general, los proyectos que tenemos almacenados en nuestro workspace se muestran en la izquierda de la pantalla en una sección llamada Package Explorer.&lt;br /&gt;&lt;br /&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;Dentro de esta sección vemos los componentes de nuestro proyecto que explicaremos más adelante. Se puede configurar como se muestra el contenido de nuestros proyectos mediante Windows-Show View y seleccionando Proyecto Explorer o Navigator tal y como mostramos en la imagen siguiente:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-tbdDJ5jHEtw/UpsTWmixIGI/AAAAAAAACWA/mrRphftyW2E/s1600/eclipse-android+2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-tbdDJ5jHEtw/UpsTWmixIGI/AAAAAAAACWA/mrRphftyW2E/s320/eclipse-android+2.png&quot; height=&quot;238&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div style=&quot;background-color: #ffffcc;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;PORQUE TE LO MERECES!! VISITA LOS MÁS VENDIDOS&amp;nbsp; DE AMAZON EN MÓVILES&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;img alt=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot; border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-wSWDu6ZrFYE/UuojlvSRqgI/AAAAAAAACi4/W2oWLbMre4Q/s1600/amazon.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;Yo prefiero la vista Navigator por lo que la emplearé a lo largo de los ejemplos. Podemos ver el resultado del cambio de vista en la view de la izquierda como hemos comentado. Explicaremos posteriormente el contenido del proyecto y para que sirve cada archivo.&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-O8IH_jEHIiU/Upsf1rBe-xI/AAAAAAAACWQ/GEaL_LoD_Xs/s1600/eclipse-android+3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-O8IH_jEHIiU/Upsf1rBe-xI/AAAAAAAACWQ/GEaL_LoD_Xs/s320/eclipse-android+3.png&quot; height=&quot;320&quot; width=&quot;162&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;En la parte central Eclipse se encuentra el editor de archivos. Este editor nos muestra en una pestaña distinta cada archivo que estamos modificando. Para la programación de Android existen fundamentalmente dos tipos de archivos: archivos Java y archivos XML. Mediante los archivos Java se definen los objetos que emplearemos y se dota de funcionalidad a la aplicación mientras que los archivos XML se emplean para la definición de las pantallas (activitys). Cuando hemos abierto Eclipse hemos observado que Eclipse nos muestra que está editando el archivo activity_main.xml. Al tratarse de un archivo de tipo .xml lo estamos empleando para definir la apariencia de una pantalla llamada activity_main.Eclipse permite modificar las activitys mediante un editor gráfico, sin tener que modificar el código de la misma. Podemos insertar nuevos componentes en nuestra pantalla arrastrando componentes a su interior, pero generalmente trabajaremos definiendo y modificando los componentes mediante texto. Para cambiar de este modo gráfico a modo edición de texto tenemos que hacer click en el nombre del fichero en la parte inferior de este editor. Veremos ahora el código que define nuestra activity.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-TpngXW-Y7L4/UpshFTh-bXI/AAAAAAAACWg/T5oLPR1oQKw/s1600/eclipse-android+5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-TpngXW-Y7L4/UpshFTh-bXI/AAAAAAAACWg/T5oLPR1oQKw/s200/eclipse-android+5.png&quot; height=&quot;129&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-flbl5YkBS7s/Upsg2vaynTI/AAAAAAAACWY/sp-mygp19rs/s1600/eclipse-android+4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-flbl5YkBS7s/Upsg2vaynTI/AAAAAAAACWY/sp-mygp19rs/s200/eclipse-android+4.png&quot; height=&quot;129&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;En la vista inferior vemos que hay varias pestañas con otros componentes de Eclipse abiertos. Dos de los componentes que se suelen emplear en esta vista son la Consola y el LogCat, ambos empleados para programar en Android. La consola se encuentra habilitada por defecto pero tenemos que habilitar el LogCat. Para ello Windows-Show View-Other-LogCat y veremos en la parte inferior lo siguiente:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-1e99zwVEha8/UpsiVM7hYQI/AAAAAAAACWs/qXAEyH82tgg/s1600/eclipse-android+7.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-1e99zwVEha8/UpsiVM7hYQI/AAAAAAAACWs/qXAEyH82tgg/s320/eclipse-android+7.png&quot; height=&quot;85&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;Posteriormente, en siguientes capítulos os mostraremos como utilizar estas ventanas y como depurar nuestras aplicaciones mediante la consola y el LogCat. Ahora pasamos a las vistas que se muestran a la derecha, con el nombre Outline y TaskList no las emplearemos por ahora. Podemos por lo tanto cerrarlas y emplear toda esta parte de la pantalla para el editor de ficheros.&lt;span lang=&quot;ES-TRAD&quot;&gt; Un pequeño truco, si hacemos doble click sobre la pestaña del editor de ficheros veremos que este ocupa toda la pantalla y nos facilita así la edición de archivos. Veremos así como se esconden el resto de vistas a derecha e izquierda. Si volvemos a hacer doble click en la pestaña volveremos a ver Eclipse tal y como estaba anteriormente.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-FgFOJa_ltwk/UpsjInt3nqI/AAAAAAAACW0/Hs8qoIJL16Q/s1600/eclipse-android+8.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-FgFOJa_ltwk/UpsjInt3nqI/AAAAAAAACW0/Hs8qoIJL16Q/s320/eclipse-android+8.png&quot; height=&quot;178&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Otro componente importante de Eclipse es la Toolbar. Esta se divide en dos filas, una con los comandos de configuración y modificación de Eclipse y otra fila que nos proveerá de acciones como compilar o ejecutar nuestra aplicación.&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-FS3pukDWjcY/UpsjsM_wkBI/AAAAAAAACXA/USRKFpiUXyM/s1600/eclipse-android+9.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-FS3pukDWjcY/UpsjsM_wkBI/AAAAAAAACXA/USRKFpiUXyM/s320/eclipse-android+9.png&quot; height=&quot;16&quot; width=&quot;320&quot; /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;Algunas de las cosas más importantes que usaremos de la toolbar son las siguientes:&lt;/div&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;Archivo: Nos permite entre otras cosas abrir un nuevo proyecto como hicimos en el tema anterior; cerrar proyectos; es recomendable cerrar los proyectos con los que no estemos trabajando; cambiar el espacio de trabajo de donde Eclipse carga nuestros proyectos; importar y exportar proyectos.&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;Editar: nos permite cortar, copiar y pegar código del editor, deshacer y rehacer acciones y varias tareas más. Habitualmente estas acciones son realizadas empleando atajos de teclado tan extendidos como Ctrl+C (copiar), Ctrl+V (pegar), etc.&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;Search: lo utilizaremos para buscar expresiones de texto por nuestro código. Lo habitual será emplear Search-Buscar y seleccionar Búsqueda de archivos.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;Proyecto: sobre todo emplearemos la opción Propiedades. Desde esta  opción se configuran múltiples opciones de nuestro proyecto pero la más  importante es poder cambiar la versión del sistema operativo que estamos  empleando en nuestro desarrollo. Para ello tenemos que seleccionar  Android y a continuación veremos como tenemos seleccionada la opción 4.2  ya que iniciamos el proyecto con ella pero podemos cambiar a otra  versión, aunque tenemos que tener cuidado con estos cambios ya que  pueden producir errores.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;Ejecutar: empleado para compilar nuestra aplicación y cargarla en un emulador o en un dispositivo físico. Estas opciones las usaremos frecuentemente por lo que hablaremos de estas opciones en posteriores capítulos de este tema.&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;Ventana: desde aquí se cambia la apariencia de Eclipse e indicamos que view y componentes queremos mostrar. Recordad que la empleamos anteriormente para cambiar el menú de navegación del proyecto y para mostrar la vista consola y LogCat. Otra de las cosas que emplearemos a menudo es el cambio de perspectiva. Se trata de una configuración predefinida de Eclipse con varias vistas que nos permite una mayor facilidad a la hora de realizar tareas de depuración del código. Para mostrar la perspectiva de depuración hacemos Ventana-Abrir perspectiva-Depurar. Si queremos cambiar de forma rápida a la perspectiva anterior, podemos hacer click en el recuadro marcado en rojo en la esquina superior derecha en la imagen anterior. Además también podemos personalizar nuestra perspectiva y posteriormente guardarla desde Ventana-Guardar perspectiva. Así la tendremos disponible posteriormente de forma rápida. &amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;Ayuda: lo más relevante de este menú es poder instalar nuevo software para Eclipse en forma de plug-in. Recordad que también lo hemos empleado para instalar el plug-in ADT de Eclipse en el capítulo anterior.&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Ya hemos repasado toda la parte superior de la toolbar. En la parte inferior se encuentran accesos rápidos a muchos de los elementos que hemos comentado anteriormente. Sin duda, dos de los que más emplearemos son los botones de depurar y ejecutar. Como su nombre indica, con ellos pondremos a funcionar nuestra aplicación a medida que vamos avanzando en el desarrollo para comprobar su funcionamiento. Para poder depurar y ejecutar nuestras aplicaciones necesitamos un emulador o un dispositivo físico con el que hacerlos. Esto es lo que explicamos en los siguientes capítulos.&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;LIBRO RECOMENDADO PARA APRENDER ANDROID&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;index=aps&amp;amp;keywords=978-0-470-56552-0&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-MR-MHf5pAA0/UrxkJgN6Y-I/AAAAAAAACak/xzPKonsksi8/s200/libro+android+reto+meier.jpg&quot; height=&quot;100&quot; width=&quot;100&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Uno de los libros fundamientales y que recomiendo para aprender Android y llegar a hacer aplicaciones profesionales es: &lt;a href=&quot;http://www.amazon.es/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;index=aps&amp;amp;keywords=978-0-470-56552-0&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;Android 2 Application Developement de Reto Meier&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/4814129285517853243/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2013/12/curso-android-capitulo2-programar-Android-Eclipse.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/4814129285517853243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/4814129285517853243'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2013/12/curso-android-capitulo2-programar-Android-Eclipse.html' title='Capítulo 2. Principales componentes de Eclipse para Android (II)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s72-c/icono-curso-android.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-4526266582706852890</id><published>2013-12-12T18:05:00.000+01:00</published><updated>2014-01-30T11:20:45.345+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="curso android"/><title type='text'>Capítulo 2. Nuestro primer proyecto Android en Eclipse (I)</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s1600/icono-curso-android.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s200/icono-curso-android.png&quot; height=&quot;191&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Accesos rápidos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/p/curso-android.html&quot;&gt;Índice del curso&amp;nbsp;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.blogger.com/Permalink%20-%20http://www.josealopezpastor.com/2013/12/curso-android-capitulo1-entorno-programacion-linux.html&quot;&gt;Capítulo anterior: Instalación del entorno de desarrollo de Android en Ubuntu&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;En las dos entradas anteriores instalamos todo lo necesario para comenzar a programar en Android, tanto en Windows (&lt;a href=&quot;http://www.josealopezpastor.com/2013/11/curso-android-capitulo1-entorno-programacion-windows.html&quot;&gt;aquí&lt;/a&gt;) como en Ubuntu (&lt;a href=&quot;http://www.blogger.com/Permalink%20-%20http://www.josealopezpastor.com/2013/12/curso-android-capitulo1-entorno-programacion-linux.html&quot;&gt;aquí&lt;/a&gt;). En este tema vamos a comentar los aspectos fundamentales de nuestra herramienta de programación, en este caso Eclipse, comenzando por nuestro primer proyecto.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Para comenzar un proyecto tenemos que abrir Eclipse e irnos a File-New-Other y seleccionaremos Android Application Project&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-KjGGFLz_68w/UpUMF1ZHJDI/AAAAAAAACT4/Jv-wM-dfxEw/s1600/Imagen+9.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-KjGGFLz_68w/UpUMF1ZHJDI/AAAAAAAACT4/Jv-wM-dfxEw/s320/Imagen+9.png&quot; height=&quot;272&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Veremos entonces una pantalla como la siguiente:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-SURNTj4XLG8/UpUMaFJYnCI/AAAAAAAACUA/y3e5ORMYaOs/s1600/Imagen+10.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-SURNTj4XLG8/UpUMaFJYnCI/AAAAAAAACUA/y3e5ORMYaOs/s320/Imagen+10.png&quot; height=&quot;271&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Esta es la pantalla donde comenzarán nuestro proyectos Android. Lo primero que tenemos que indicar es el nombre de la aplicación, el nombre del proyecto y el nombre del package. En el campo Application Name pondremos el nombre que queremos que tenga nuestra aplicación, por ejemplo en este caso usaremos Hola Mundo. El campo Project Name será el directorio que usaremos para almacenar nuestro proyecto dentro del workspace y el nombre que veremos en Eclipse, en nuestro caso lo llamaremos HolaMundo y por último el Package Name para indicar el nombre de nuestro paquete. Este termino se suele completar con el dominio de la empresa, el nombre de la misma y por último el nombre del paquete. A modo de ejemplo, si nos fijamos en Adobe, una nomenclatura para sus proyectos sería:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div style=&quot;background-color: #ffffcc;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;PORQUE TE LO MERECES!! VISITA LOS MÁS VENDIDOS&amp;nbsp; DE AMAZON EN MÓVILES&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;img alt=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot; border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-wSWDu6ZrFYE/UuojlvSRqgI/AAAAAAAACi4/W2oWLbMre4Q/s1600/amazon.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;com.adobe.reader (Adobe Reader)&lt;/li&gt;&lt;li&gt;com.adobe.photoshop (Adobe Photoshop)&lt;/li&gt;&lt;li&gt;com.adobe.ideas (Adobe Ideas)&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;En la documentación oficial se puede consultar más información sobre como crear el nombre de los paquetes (&lt;a href=&quot;http://developer.android.com/training/basics/firstapp/creating-project.html&quot;&gt;aquí&lt;/a&gt;). En mi caso vamos a elegir com.josealopezpastor.holamundo.&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Ahora tenemos que elegir la versión de Android más antigua para la que queremos que funcione nuestro desarrollo en el campo Minimun required SDK, tenemos que indicar la versión de Android más alta donde hemos probado nuestra aplicación en el campo Target SDK y sobre que versión queremos compilar nuestro desarrollo en Compile With. Son muchas las versiones de Android, pero si especificamos como el Minimun Required SDK Android 2.2 y como Target SDK Android 4.3 estaremos cubriendo el 97.7% de los terminales Android tal y como vemos en la página de información de Android (&lt;a href=&quot;http://developer.android.com/about/dashboards/index.html&quot;&gt;aquí&lt;/a&gt;).&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Además nos da la opción de seleccionar uno de los themes que Android trae por defecto como son Holo Dark y Holo Light. Holo Dark se caracteriza por tener un fondo negro con el texto en blanco mientras que Holo Light se caracteriza por emplear colores claros con fuentes en negro. Se puede consultar más información sobre los themes de Android en el siguiente enlace (&lt;a href=&quot;http://developer.android.com/design/style/themes.html&quot;&gt;aquí&lt;/a&gt;).&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Una vez que hemos seleccionado estos parámetros en la pantalla siguiente podemos elegir si queremos que nos cree los iconos necesarios para las distintas densidades de pantalla y si queremos crear una activity por defecto.&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-c1EpfaC5PPs/UpUjWtf4_vI/AAAAAAAACUQ/rXfzjtMNgZc/s1600/Imagen+13.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-c1EpfaC5PPs/UpUjWtf4_vI/AAAAAAAACUQ/rXfzjtMNgZc/s320/Imagen+13.png&quot; height=&quot;284&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;En el caso de seleccionar que queremos crear un icono por defecto veremos una pantalla como la que mostraremos a continuación en la que podemos seleccionar una imagen y varios efectos para crear los iconos de nuestra aplicación para cada densidad de pantalla. Posteriormente explicaremos el concepto de densidad de pantalla.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-Xt1dUFZwGmA/UpUksXab9fI/AAAAAAAACUY/YR1CsJv27r8/s1600/Imagen+15.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-Xt1dUFZwGmA/UpUksXab9fI/AAAAAAAACUY/YR1CsJv27r8/s320/Imagen+15.png&quot; height=&quot;285&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Si hemos dicho que queremos crear una activity pasaremos a la pantalla que mostramos a continuación en la que podemos crear la activity por defecto según varios formatos como son Fullscreen Activity o Master/Detail Flow. Tenemos que indicarle entonces el nombre que queremos ponerle a dicha activity y ya tendremos neustro proyecto inicializado.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-47Xy3BHPDwY/UpUmCem7tBI/AAAAAAAACUg/WIb9TKJRGts/s1600/Imagen+17.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-47Xy3BHPDwY/UpUmCem7tBI/AAAAAAAACUg/WIb9TKJRGts/s320/Imagen+17.png&quot; height=&quot;285&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Por si se desconoce, Activity es el nombre que tienen en Android las pantallas, cada una de las pantallas se llama Activity. Si una vez hecho esto ves una pantalla como la que mostramos a continuación,&amp;nbsp; ENHORABUENA, ya has creado tu primer proyecto en Android!!&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-fG1zWz57Qok/UpUmNc2_nHI/AAAAAAAACUo/9aNDM7_sO3I/s1600/Imagen+20.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-fG1zWz57Qok/UpUmNc2_nHI/AAAAAAAACUo/9aNDM7_sO3I/s320/Imagen+20.png&quot; height=&quot;179&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;LIBRO RECOMENDADO PARA APRENDER ANDROID&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;index=aps&amp;amp;keywords=978-0-470-56552-0&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-MR-MHf5pAA0/UrxkJgN6Y-I/AAAAAAAACak/xzPKonsksi8/s200/libro+android+reto+meier.jpg&quot; height=&quot;100&quot; width=&quot;100&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Uno de los libros fundamientales y que recomiendo para aprender Android y llegar a hacer aplicaciones profesionales es: &lt;a href=&quot;http://www.amazon.es/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;index=aps&amp;amp;keywords=978-0-470-56552-0&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;Android 2 Application Developement de Reto Meier&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/4526266582706852890/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2013/12/curso-android-capitulo2-primer-proyecto-eclipse.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/4526266582706852890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/4526266582706852890'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2013/12/curso-android-capitulo2-primer-proyecto-eclipse.html' title='Capítulo 2. Nuestro primer proyecto Android en Eclipse (I)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s72-c/icono-curso-android.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-4189386424206768348</id><published>2013-12-10T23:08:00.001+01:00</published><updated>2013-12-10T23:08:58.506+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="miscelánea"/><title type='text'>Como instalar IIS Server en Windows 2003 Server sin el CD</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-R8Mr84IFOu8/UqeQ7hMryJI/AAAAAAAACZ8/T_A_zbfRn14/s1600/iis.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;143&quot; src=&quot;http://3.bp.blogspot.com/-R8Mr84IFOu8/UqeQ7hMryJI/AAAAAAAACZ8/T_A_zbfRn14/s200/iis.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Esta mañana me he topado con un problema, he tenido que instalar IIS en un Servidor con Windows 2003 Server 64 bits y no tenía el CD.&lt;br /&gt;Tras Googlear un rato he encontrado esto y por ahora me está funcionando:&lt;br /&gt;&lt;a href=&quot;http://www.microsoft.com/web/downloads/platform.aspx&quot;&gt;http://www.microsoft.com/web/downloads/platform.aspx&lt;/a&gt;&lt;br /&gt;Te bajas el instalador y te pregunta por todo aquello que quieres instalar: Visual Studio Express, SQL Server Express, PHP, IIS Express, etc.&lt;br /&gt;&lt;br /&gt;Espero que os sirva y si os funciona compartir sin miedo!</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/4189386424206768348/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2013/12/instalar-iis-windows-sin-cd.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/4189386424206768348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/4189386424206768348'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2013/12/instalar-iis-windows-sin-cd.html' title='Como instalar IIS Server en Windows 2003 Server sin el CD'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-R8Mr84IFOu8/UqeQ7hMryJI/AAAAAAAACZ8/T_A_zbfRn14/s72-c/iis.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-2802317923099344938</id><published>2013-12-06T21:32:00.001+01:00</published><updated>2014-01-30T11:20:23.014+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="curso android"/><title type='text'>Capítulo 1. Instalación del entorno de desarrollo de Android en Ubuntu (IV)</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s1600/icono-curso-android.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s200/icono-curso-android.png&quot; height=&quot;191&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Accesos rápidos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/p/curso-android.html&quot;&gt;Índice del curso&amp;nbsp;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/2013/11/curso-android-capitulo1-entorno-programacion-windows.html&quot;&gt;Capítulo anterior: Instalación del entorno de desarrollo de Android en Windows&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;Una vez que hemos realizado la instalación de todo el entorno de desarrollo en Windows, vamos a realizar la instalación en Ubuntu. La instalación es similar a la de Windows, tenemos que instalar los mismos componentes. Estos son:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;SDK de Java&lt;/li&gt;&lt;li&gt;SDK de Android&lt;/li&gt;&lt;li&gt;Entorno gráfico de programación: Eclipse&lt;/li&gt;&lt;li&gt;Plugin para Eclipse.&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Los pasos para la instalación son casi los mismos pero de forma un poco distinta :-),&amp;nbsp; lo vimos en el post anterior (&lt;a href=&quot;http://www.josealopezpastor.com/2013/11/curso-android-capitulo1-entorno-programacion-windows.html&quot;&gt;aquí&lt;/a&gt;). Lo primero que vamos a instalar es Java, concretamente el OpenJDK. Para ello sudo &lt;i&gt;apt-get install openjdk-7-jdk &lt;/i&gt;desde una consola. Si todo va de forma correcta podemos y veremos que se nos ha instalado la versión 1.7.09 tal y como muestra la imagen siguiente:&lt;br /&gt;&lt;br /&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-ZFK_aLGA7ls/UpPLXUbff3I/AAAAAAAACTE/ZsNpuF9vtLo/s1600/Imagen+4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-ZFK_aLGA7ls/UpPLXUbff3I/AAAAAAAACTE/ZsNpuF9vtLo/s320/Imagen+4.png&quot; height=&quot;85&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Vamos entonces a bajarnos la versión del SDK de Android que nos corresponda de &lt;a href=&quot;http://developer.android.com/sdk/index.html&quot;&gt;http://developer.android.com/sdk/index.html&lt;/a&gt; para descomprimirlo donde nos interese. En mi caso en la carpeta de mi usuario. Una vez que lo hemos descomprimido tenemos que ir a la ruta adt-bundle-linux-x86/sdk/tools y ejecutar el comando ./android. Se abrirá entonces la ventana del SDK Manager desde el que instalaremos todos los componentes sino tenemos problemas de espacio.&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-dIkbjy_BeM0/UpPLr-ViD9I/AAAAAAAACTM/SovxZ-HX9AY/s1600/Imagen+5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-dIkbjy_BeM0/UpPLr-ViD9I/AAAAAAAACTM/SovxZ-HX9AY/s320/Imagen+5.png&quot; height=&quot;166&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;background-color: #f5ecce;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div style=&quot;background-color: #ffffcc;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;PORQUE TE LO MERECES!! VISITA LOS MÁS VENDIDOS&amp;nbsp; DE AMAZON EN MÓVILES&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;img alt=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot; border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-wSWDu6ZrFYE/UuojlvSRqgI/AAAAAAAACi4/W2oWLbMre4Q/s1600/amazon.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; text-align: justify;&quot;&gt;Una vez que lo hemos instalado todo vamos a instalar el Eclipse. En el mismo caso que para Windows, tenemos que ir a &lt;/span&gt;&lt;a href=&quot;http://www.eclipse.org/downloads/&quot; style=&quot;background-color: transparent; text-align: justify;&quot;&gt;http://www.eclipse.org/downloads/&lt;/a&gt;&lt;span style=&quot;background-color: transparent; text-align: justify;&quot;&gt;, seleccionamos la versión 32 o 64 bits y una vez que lo descargamos solamente tenemos que moverlo a la carpeta que deseamos y ya podemos ejecutarlo dado que no es necesario instalarlo. Para ello, mediante un terminal solamente tenemos que ejecutar ./android desde la ruta donde lo hemos dejado.&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-7oqm6SrXXbQ/UpPL5WSe2sI/AAAAAAAACTU/4W53AEkT9LQ/s1600/Imagen+6.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-7oqm6SrXXbQ/UpPL5WSe2sI/AAAAAAAACTU/4W53AEkT9LQ/s320/Imagen+6.png&quot; height=&quot;117&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Ahora tenemos que instalar el Plugin para Android. Para ello tenemos que ir a Help-Install new software y en add añadir la URL &lt;a href=&quot;https://dl-ssl.google.com/android/eclipse/&quot;&gt;https://dl-ssl.google.com/android/eclipse/&lt;/a&gt;. Tenemos que instalarlo todo, tanto el Developer Tools como el NDK Plugin.&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-o27zg7qtzg0/UpPMq3B05lI/AAAAAAAACTc/zJ6-U3hDHQs/s1600/Imagen+7.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-o27zg7qtzg0/UpPMq3B05lI/AAAAAAAACTc/zJ6-U3hDHQs/s320/Imagen+7.png&quot; height=&quot;259&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Vamos entonces a vincular Eclipse con el SKD de Android. Para ello tenemos que ir a Open Preferences y especificar donde hemos instalado el SDK tal y como mostramos en la siguiente imagen.&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-vKZfe9r1-zQ/UpPM-rkpBRI/AAAAAAAACTk/MhM5wrJSWZQ/s1600/Imagen+8.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-vKZfe9r1-zQ/UpPM-rkpBRI/AAAAAAAACTk/MhM5wrJSWZQ/s320/Imagen+8.png&quot; height=&quot;279&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Para comprobar que no tenemos ningún problema, vamos a File-New-Other y ya podemos comenzar nuestro proyecto Android.&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Con esto damos por terminado el tema 1, comenzaremos el nuevo tema con nuestro primer proyecto Android, haremos una explicación de como funciona Eclipse para programar Android, conectaremos un terminal físico y os explicaré como instalarse git como repositorio de nuestros proyectos en Android.&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;LIBRO RECOMENDADO PARA APRENDER ANDROID&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;index=aps&amp;amp;keywords=978-0-470-56552-0&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-MR-MHf5pAA0/UrxkJgN6Y-I/AAAAAAAACak/xzPKonsksi8/s200/libro+android+reto+meier.jpg&quot; height=&quot;100&quot; width=&quot;100&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Uno de los libros fundamientales y que recomiendo para aprender Android y llegar a hacer aplicaciones profesionales es: &lt;a href=&quot;http://www.amazon.es/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;index=aps&amp;amp;keywords=978-0-470-56552-0&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;Android 2 Application Developement de Reto Meier&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/2802317923099344938/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2013/12/curso-android-capitulo1-entorno-programacion-linux.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/2802317923099344938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/2802317923099344938'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2013/12/curso-android-capitulo1-entorno-programacion-linux.html' title='Capítulo 1. Instalación del entorno de desarrollo de Android en Ubuntu (IV)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s72-c/icono-curso-android.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2050029748151061599.post-543530888162832668</id><published>2013-11-30T11:53:00.000+01:00</published><updated>2014-01-30T11:20:13.998+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="curso android"/><title type='text'>Capítulo 1. Instalación del entorno de desarrollo de Android en Windows (III)</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s1600/icono-curso-android.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s200/icono-curso-android.png&quot; height=&quot;191&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Accesos rápidos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/p/curso-android.html&quot;&gt;Índice del curso&amp;nbsp;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.josealopezpastor.com/2013/11/curso-android-capitulo1-sdk.html&quot;&gt;Capítulo anterior: SDK de Android&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Como hemos comentado en el post anterior de este capítulo (&lt;a href=&quot;http://www.josealopezpastor.com/2013/11/curso-android-capitulo1-sdk.html&quot;&gt;aquí&lt;/a&gt;) vamos a comenzar a explicar como se instala el entorno de desarrollo para Android, tanto en Windows como en Linux, comenzando con Windows.&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Para poder programar Android con Windown necesitamos instalar los siguientes componentes:&lt;/div&gt;&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;SDK de Java&lt;/li&gt;&lt;li&gt;SDK de Android&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;nbsp;Entorno gráfico de programación: Eclipse&lt;/li&gt;&lt;li&gt;Plugin de Eclipse para programar Android&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;Como hemos dicho, lo primero que tenemos que instalar es el SDK de Java. Se puede descargar de &lt;a href=&quot;http://www.oracle.com/technetwork/es/java/javase/downloads/index.html&quot;&gt;este enlace&lt;/a&gt; y la versión a fecha de redacción de este post es la 7u45. Probablemente mientras que lees este post la versión habrá cambiado pero seguramente no habrá ningún problema (más bien es lo más recomdable) si usas la última versión disponible. Ojo tenemos que bajarnos el JDK y no solo el JRE. Con el JRE puedes correr aplicaciones Java pero necesitas el JDK para poder programar. Una vez que te instalas la versión correspondiente a tu sistema operativo y aceptas las condiciones de uso, etc., etc., puede comprobar que está correctamente instalado haciendo &lt;i&gt;java -version&lt;/i&gt; desde la consola de comandos. Si tu resultado es como el que vemos en la imagen siguiente, ya tienes el SDK instalado.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-V2vX-zw_5ow/UmqdN4rmZiI/AAAAAAAACMw/6NABgraJWaw/s1600/JRE_instalado.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-V2vX-zw_5ow/UmqdN4rmZiI/AAAAAAAACMw/6NABgraJWaw/s320/JRE_instalado.png&quot; height=&quot;162&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div style=&quot;background-color: #ffffcc;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;PORQUE TE LO MERECES!! VISITA LOS MÁS VENDIDOS&amp;nbsp; DE AMAZON EN MÓVILES&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;&lt;img alt=&quot;http://www.amazon.es/gp/bestsellers/electronics/934197031/?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot; border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-wSWDu6ZrFYE/UuojlvSRqgI/AAAAAAAACi4/W2oWLbMre4Q/s1600/amazon.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;Ahora vamos a por el SDK de Android.Podemos descarlo desde este enlace y una vez en nuestro poder descomprimimos el .zip y ejecutamos el fichero &lt;i&gt;SDK manager.exe&lt;/i&gt;. Podemos ver que se trata de un gestor de descargas desde el que se manejan los paquetes que necesitamos para programar en Android. Podemos ver los siguientes componentes:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Android SDK Tools&lt;/li&gt;&lt;li&gt;Android SDK Platform Tools&lt;/li&gt;&lt;li&gt;Android Platform&lt;/li&gt;&lt;li&gt;Extras&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;En mi caso voy a instalar todos los paquetes y componentes para no tener problemas a la hora de programar en varias versiones de Android. &lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-S_6d6wB0C2I/UmqksE6CngI/AAAAAAAACNE/LfGgKuN4fd8/s1600/instalar+sdk+android.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-S_6d6wB0C2I/UmqksE6CngI/AAAAAAAACNE/LfGgKuN4fd8/s320/instalar+sdk+android.png&quot; height=&quot;228&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Una vez que lo tenemos todo instalado, ya podemos comenzar con la instalación del entorno gráfico de desarrollo, el IDE que vamos a emplear para desarrollar nuestras aplicaciones. En el &lt;a href=&quot;http://www.eclipse.org/downloads/&quot;&gt;siguiente enlace&lt;/a&gt; podemos encontrar la última versión disponible de Eclipse que en el momento de la redacción de este tema es la Eclipse Kepler 4.3.1. Eclipse no necesita instalación por lo que podemos dejarlo en la carpeta que deseemos y ejecutarlo directamente. La primera vez que lo ejecutamos tenemos que indicarle el workspace que vamos a emplear para depositar nuestros proyectos y entonces ya veremos una imagen como la siguiente:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-sqzzRAwt71E/UmuN3CCjqTI/AAAAAAAACNQ/hgDeq5gsNkY/s1600/eclipse+kepler.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-sqzzRAwt71E/UmuN3CCjqTI/AAAAAAAACNQ/hgDeq5gsNkY/s320/eclipse+kepler.png&quot; height=&quot;176&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Mirarla con cariño porque este va a ser nuestro espacio de trabajo para programar nuestras aplicaciones en Android a lo largo del curso. Ahora que tenemos el IDE necesitamos el plugin para programar Eclipse. Para ello hacemos Help-Install new software y en add para especificar la url desde la que descargar el plugin. Tenemos que añadir entonces el repositorio &lt;a href=&quot;https://dl-ssl.google.com/android/eclipse/&quot;&gt;https://dl-ssl.google.com/android/eclipse/.&amp;nbsp;&lt;/a&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-VvWYMEVU_kU/UmuOdAMV-8I/AAAAAAAACNY/Hd9OPsfMDN8/s1600/instalar+plugin+android+eclipse.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-VvWYMEVU_kU/UmuOdAMV-8I/AAAAAAAACNY/Hd9OPsfMDN8/s320/instalar+plugin+android+eclipse.png&quot; height=&quot;250&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Cuando pulsemos OK veremos que hay dos paquetes disponibles, instalaremos los dos. Durante la instalación nos pedirá que arranquemos Eclipse. En mi caso, me ha mostrado un error al arrancar. Esto es debido a que nos falta un último paso. Una vez instalado el plugin tenemos que especificarle a Eclipse donde tenemos el SKD de Android instalado. Para ello desde Windows-Preferences-Android le especificamos la ruta del SDK de Android que nos hemos descargado. Tenemos que seleccionar la carpeta sdk. Ahora ya podemos comenzar con nuestro primer proyecto en Android desde File-New-Other e indicamos que deseamos realizar un proyecto Android. Solamente le pondremos el título MiPrimerProyecto y daremos a continuar hasta que volvamos de nuevo a nuestra pantalla principal de Eclipse con nuestro proyecto creado.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-P0NYLKfLIdM/UmuUmYcOiFI/AAAAAAAACNw/Hnb6-00YecY/s1600/primer+proyecto+android.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-P0NYLKfLIdM/UmuUmYcOiFI/AAAAAAAACNw/Hnb6-00YecY/s320/primer+proyecto+android.png&quot; height=&quot;178&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Si ves una pantalla como la anterior ya puedes comenzar a programar en Android dado que ya tienes todos los componentes instalados correctamente. En el siguiente capítulo explicaremos como instalar todo este entorno pero para Ubuntu.&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;LIBRO RECOMENDADO PARA APRENDER ANDROID&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.es/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;index=aps&amp;amp;keywords=978-0-470-56552-0&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-MR-MHf5pAA0/UrxkJgN6Y-I/AAAAAAAACak/xzPKonsksi8/s200/libro+android+reto+meier.jpg&quot; height=&quot;100&quot; width=&quot;100&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Uno de los libros fundamientales y que recomiendo para aprender Android y llegar a hacer aplicaciones profesionales es: &lt;a href=&quot;http://www.amazon.es/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=3626&amp;amp;creative=24790&amp;amp;index=aps&amp;amp;keywords=978-0-470-56552-0&amp;amp;linkCode=ur2&amp;amp;tag=httprodeadosd-21&quot;&gt;Android 2 Application Developement de Reto Meier&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.josealopezpastor.com/feeds/543530888162832668/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.josealopezpastor.com/2013/11/curso-android-capitulo1-entorno-programacion-windows.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/543530888162832668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2050029748151061599/posts/default/543530888162832668'/><link rel='alternate' type='text/html' href='http://www.josealopezpastor.com/2013/11/curso-android-capitulo1-entorno-programacion-windows.html' title='Capítulo 1. Instalación del entorno de desarrollo de Android en Windows (III)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/16759409688912424349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-EIl7WrgsEB4/UpBeWZfyy4I/AAAAAAAACRk/T-UQ9nOpY7I/s72-c/icono-curso-android.png" height="72" width="72"/><thr:total>1</thr:total></entry></feed>