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

<channel>
	<title>Apprendemos.com</title>
	<atom:link href="http://www.apprendemos.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.apprendemos.com</link>
	<description>Tutoriales y Noticias de aplicaciones móviles y web</description>
	<lastBuildDate>Tue, 12 Feb 2013 11:29:51 +0000</lastBuildDate>
	<language>es-ES</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Posible solución al problema del 3G en iPhone 4 con iOS 6.1</title>
		<link>http://www.apprendemos.com/noticias/ios_/posible-solucion-al-problema-del-3g-en-iphone-4-con-ios-6-1</link>
		<comments>http://www.apprendemos.com/noticias/ios_/posible-solucion-al-problema-del-3g-en-iphone-4-con-ios-6-1#comments</comments>
		<pubDate>Tue, 12 Feb 2013 09:59:13 +0000</pubDate>
		<dc:creator>ManuAlamar</dc:creator>
				<category><![CDATA[iOS]]></category>
		<category><![CDATA[ios 6.1 3g]]></category>
		<category><![CDATA[iphone 3g 6.1]]></category>
		<category><![CDATA[iphone 4 6.1]]></category>
		<category><![CDATA[porblema 3g]]></category>
		<category><![CDATA[problema 3g 6.1]]></category>
		<category><![CDATA[solucion 3g iphone 4]]></category>
		<category><![CDATA[solucion problema 3g ios 6.1]]></category>

		<guid isPermaLink="false">http://www.apprendemos.com/?p=1562</guid>
		<description><![CDATA[&#160; &#160; &#160; Tras dos horas probando opciones, distintas configuraciones y activando y desactivando todo. Creo haber encontrado una solución al problema del 3G que al menos en mi caso, y el de un compañero, ha funcionado. &#160;  Ayer actualicé a iOS 6.1 en mi iPhone 4 Libre de 16Gb. Como me pasé toda la [...]]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><div class="shr-publisher-1562"></div><p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Tras dos horas probando opciones, distintas configuraciones y activando y desactivando todo. Creo haber encontrado una solución al problema del 3G que al menos en mi caso, y el de un compañero, ha funcionado.</p>
<p>&nbsp;</p>
<p> Ayer <strong>actualicé a iOS 6.1 en mi iPhone 4 Libre de 16Gb</strong>. Como me pasé toda la tarde y noche con el Wifi, no caí en la cuenta de que <strong>había perdido el 3G</strong>, que si bien el iPhone me marcaba como conectado, <strong>no recibía señal alguna</strong>.</p>
<p>&nbsp;</p>
<p> Decir que estoy en la compaía Ono móvil, que no se lleva muy bien normalmente con mi <strong>iPhone</strong>.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p> Una de las primeras cosas que he hecho, y no sé si ha influido, es retirar la <strong>microSIM</strong> de Ono, con el <strong>iPhone</strong> en marcha, y meter una de Movistar.</p>
<p> Con ella dentro he ido a:</p>
<p><span style="color: #333399;"> <strong>Ajustes -&gt; General -&gt; Restablecer -&gt; Restablecer ajusted de red</strong>.</span></p>
<p>&nbsp;</p>
<p>Estará como un minuto trabajando con el logo de Apple en la pantalla.</p>
<p>&nbsp;</p>
<p> Como me imaginaba, al meter mi <strong>microSIM</strong> de Ono, seguía sin funcionar el <strong>3G</strong>.</p>
<p>&nbsp;</p>
<p>Sin embargo se me ha ocurrido ir a:</p>
<p><span style="color: #333399;"> <strong>Ajustes -&gt; General -&gt; Datos Móviles &#8211; Red de datos móviles</strong></span></p>
<p>&nbsp;</p>
<p> Ahí he visto que los <strong>puntos de acceso de &#8220;datos móviles&#8221;</strong> estaban en blanco.</p>
<p>&nbsp;</p>
<p> En mi caso he puesto el de <strong>ONO</strong>:</p>
<p>&nbsp;</p>
<p> <strong>Punto de acceso</strong>: internet.ono.com</p>
<p> <strong>Nombre de usuario</strong>: (dejar en blanco)</p>
<p> <strong>Contraseña</strong>: (dejar en blanco)</p>
<p>&nbsp;</p>
<p> He activado y desactivado el modo avión y&#8230;Voilà!</p>
<p><strong>3G FUNCIONANDO EN MI IPHONE 4 CON IOS 6.1</strong></p>
<p>&nbsp;</p>
<p>Comentar todo lo que os ocurra, que seguro será de utilidad para otros.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div class="shr-publisher-1562"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><a href="http://clk.tradedoubler.com/click?p= 192623&a=2172818&g= 20628704" target="_BLANK"><img src="http://impes.tradedoubler.com/imp?type(img)g(20628704)a(2172818)42" border=0></a>]]></content:encoded>
			<wfw:commentRss>http://www.apprendemos.com/noticias/ios_/posible-solucion-al-problema-del-3g-en-iphone-4-con-ios-6-1/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tutorial Parser XML (recorrer y analizar) en iPhone</title>
		<link>http://www.apprendemos.com/tutoriales/ios/parser-xml-recorrer-iphone</link>
		<comments>http://www.apprendemos.com/tutoriales/ios/parser-xml-recorrer-iphone#comments</comments>
		<pubDate>Wed, 28 Nov 2012 11:39:37 +0000</pubDate>
		<dc:creator>ManuAlamar</dc:creator>
				<category><![CDATA[iOS]]></category>
		<category><![CDATA[nsxmlparser]]></category>
		<category><![CDATA[parser iphone]]></category>
		<category><![CDATA[parser xml]]></category>
		<category><![CDATA[recorrer xml iphone]]></category>
		<category><![CDATA[webservice xml]]></category>
		<category><![CDATA[xcode]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.apprendemos.com/?p=1444</guid>
		<description><![CDATA[Cuando tenemos aplicaciones que se comunican con servicios web, las respuestas suelen por normal general en XML o JSON. &#160; En este tutorial vamos a apprender como parsear (recorrer y analizar) este XML, mostrando los datos en una tabla. &#160; &#160; Supongamos que enviamos con nuestra aplicación una petición a un servidor que en función [...]]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><div class="shr-publisher-1444"></div><p>Cuando tenemos aplicaciones que se comunican con servicios web, las respuestas suelen por normal general en XML o JSON.</p>
<p>&nbsp;</p>
<p>En este tutorial vamos a apprender como parsear (recorrer y analizar) este XML, mostrando los datos en una tabla.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Supongamos que enviamos con nuestra aplicación una petición a un servidor que en función del parámetro nos devuelve unos resultados u otros, pero siempre con el mismo formato.</p>
<p>Pongamos que queremos recuperar la lista de peliculas de dos actores distintos.</p>
<p>Nuestra aplicación cuenta con una lista de actores que tienen unos &#8220;id_cator&#8221; asociado.</p>
<p>&nbsp;</p>
<p>Si por ejemplo queremos saber las películas de Bruce Willis, pasaremos al servicio el id_actor de Bruce, de forma similar a esto:</p>
<p>http://www.apprendemos.com/webservices/get_peliculas?id_actor=145 </p>
<p>&nbsp;</p>
<p>Pero si queremos las películas de Nicolas Cage, será:</p>
<p>http://www.apprendemos.com/webservices/get_peliculas?id_actor=37</p>
<p><i>*Estas url no existen, son solo ejemplos.</i></p>
<p>&nbsp;</p>
<p>La respuesta podría ser similar a:</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;listado<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pelicula</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;1&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;titulo<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>La Jungla 4.0<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/titulo<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;descripcion<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>La mejor pelicula de los ultimos tiempos. El agente Jonh McCain...<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/descripcion<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;anio<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2010<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/anio<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/pelicula<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pelicula</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;2&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;titulo<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>El sexto sentido<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/titulo<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;descripcion<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>La película con un final prometedor e insesperado.<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/descripcion<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;anio<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>1998<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/anio<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/pelicula<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pelicula</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;3&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;titulo<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Falsas Apariencias<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/titulo<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;descripcion<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Mezcla de acción y comedia junto a Mathew Perry<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/descripcion<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;anio<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2004<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/anio<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/pelicula<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/listado<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>&nbsp;</p>
<p>Como vemos la respuesta contiene un Nodo principal. Por norma, <b>todo XML debe tener un nodo padre principal</b>.</p>
<p>&nbsp;</p>
<p>Después vemos claramente cuales son los distintos items, en este caso, delimitados por &#8220;película&#8221;</p>
<p>&nbsp;</p>
<p>Dentro tenemos 4 elementos: </p>
<p>    &#8211; El id de la pelicula (dentro de &#8220;pelicula id=&#8221;id_pelicula&#8221;" Utilizamos un atributo para mostrar después como recuperarlo. Los atributos hacen ahorrar bastante código en el XML, lo que para las respuestas web son más eficientes).</p>
<p>    &#8211; El título (&#8216;<'titulo'>&#8221;<'/titulo'>&#8216;).</p>
<p>    &#8211; La descripción (&#8216;<'descripcion'>&#8221;<'/descripcion'>&#8216;).</p>
<p>    &#8211; El año de estreno (&#8216;<'anio'>&#8221;<'/anio'>&#8216;).</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Para realizar este tutorial será necesario tener conocimiento de <a href="http://www.apprendemos.com/tutoriales/ios/uitableview" title="Iniciación: UITableView - Apprendemos.com" target="_blank">UITableview (tutorial disponible)</a> y <a href="http://www.apprendemos.com/tutoriales/ios/uinavigationcontroller" title="Iniciación: UINavigationController - Apprendemos.com" target="_blank">UINavigationController (tutorial disponible)</a></p>
<p>&nbsp;</p>
<p>En otro tutorial explicaremos como conectar a un servicio web de forma asíncrona y recuperar sus valores parapoder interacturar.</p>
<p>&nbsp;</p>
<p>En este ejemplo, pondemos crear en un NSString cada XML.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Creamos un nuevo proyecto de tipo <b><i>Single View Application</i></b>.</p>
<p>&nbsp;</p>
<p><a href="http://www.apprendemos.com/wp-content/uploads/2012/11/Single-View-Application-Apprendemos.png"><img src="http://www.apprendemos.com/wp-content/uploads/2012/11/Single-View-Application-Apprendemos-300x203.png" alt="Single View Application - Apprendemos" title="Single View Application - Apprendemos" width="300" height="203" class="aligncenter size-medium wp-image-1458" /></a></p>
<p>Lo primero que vamos a hacer es crear una clase que contendrá los valores de las películas.</p>
<p>&nbsp;</p>
<p>Creamos un <b>NSObject</b>.</p>
<p>&nbsp;</p>
<p><a href="http://www.apprendemos.com/wp-content/uploads/2012/11/New-File-Apprendemos.com_.png"><img src="http://www.apprendemos.com/wp-content/uploads/2012/11/New-File-Apprendemos.com_.png" alt="New File - Apprendemos.com" title="New File - Apprendemos.com" width="500" height="337" class="aligncenter size-full wp-image-1460" /></a></p>
<p>&nbsp;</p>
<p>En Pelicula.h:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #6e371a;">#import &lt;Foundation/Foundation.h&gt;</span>
&nbsp;
<span style="color: #a61390;">@interface</span> Pelicula <span style="color: #002200;">:</span> <span style="color: #400080;">NSObject</span>
<span style="color: #002200;">&#123;</span>
&nbsp;
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #a61390;">@property</span><span style="color: #002200;">&#40;</span>nonatomic<span style="color: #002200;">&#41;</span> <span style="color: #a61390;">int</span> id_pelicula;
<span style="color: #a61390;">@property</span><span style="color: #002200;">&#40;</span>nonatomic, retain<span style="color: #002200;">&#41;</span> <span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span>titulo;
<span style="color: #a61390;">@property</span><span style="color: #002200;">&#40;</span>nonatomic, retain<span style="color: #002200;">&#41;</span> <span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span>descripcion;
<span style="color: #a61390;">@property</span><span style="color: #002200;">&#40;</span>nonatomic<span style="color: #002200;">&#41;</span> <span style="color: #a61390;">int</span> anio;
&nbsp;
<span style="color: #a61390;">@end</span></pre></div></div>

<p>&nbsp;</p>
<p>En Pelicula.m:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #6e371a;">#import &quot;Pelicula.h&quot;</span>
&nbsp;
<span style="color: #a61390;">@implementation</span> Pelicula
<span style="color: #a61390;">@synthesize</span> id_pelicula, titulo, descripcion, anio;
&nbsp;
&nbsp;
<span style="color: #a61390;">@end</span></pre></div></div>

<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Como nuestra aplicación va a navegar entre ventanas le añadimos al AppDelegate un <a href="http://www.apprendemos.com/tutoriales/ios/uinavigationcontroller" title="Iniciación: UINavigationController - Apprendemos.com" target="_blank">UINavigationController, como ya se ha hecho en el tutorial correspondiente</a>.</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">BOOL</span><span style="color: #002200;">&#41;</span>application<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UIApplication <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>application didFinishLaunchingWithOptions<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSDictionary</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>launchOptions
<span style="color: #002200;">&#123;</span>
    self.window <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UIWindow alloc<span style="color: #002200;">&#93;</span> initWithFrame<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UIScreen mainScreen<span style="color: #002200;">&#93;</span> bounds<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
    <span style="color: #11740a; font-style: italic;">// Override point for customization after application launch.</span>
&nbsp;
    self.viewController <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>ViewController alloc<span style="color: #002200;">&#93;</span> initWithNibName<span style="color: #002200;">:</span><span style="color: #a61390;">nil</span> bundle<span style="color: #002200;">:</span><span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>;
&nbsp;
    UINavigationController <span style="color: #002200;">*</span>navController <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UINavigationController alloc<span style="color: #002200;">&#93;</span>initWithRootViewController<span style="color: #002200;">:</span>self.viewController<span style="color: #002200;">&#93;</span>;
&nbsp;
    self.window.rootViewController <span style="color: #002200;">=</span> navController;
    <span style="color: #002200;">&#91;</span>self.window makeKeyAndVisible<span style="color: #002200;">&#93;</span>;
    <span style="color: #a61390;">return</span> <span style="color: #a61390;">YES</span>;
<span style="color: #002200;">&#125;</span></pre></div></div>

<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Én viewController.xib insertamos dos botones.</p>
<p>&nbsp;</p>
<p><a href="http://www.apprendemos.com/wp-content/uploads/2012/11/Interface-Builder-Apprendemos.com_.png"><img src="http://www.apprendemos.com/wp-content/uploads/2012/11/Interface-Builder-Apprendemos.com_.png" alt="Interface Builder - Apprendemos.com" title="Interface Builder - Apprendemos.com" width="321" height="486" class="aligncenter size-full wp-image-1462" /></a></p>
<p>&nbsp;</p>
<p>Y les asignamos el tag 0 y 1 respectivamente.</p>
<p>&nbsp;</p>
<p><a href="http://www.apprendemos.com/wp-content/uploads/2012/11/Set-tag-UIButton-Apprendemos.com_.png"><img src="http://www.apprendemos.com/wp-content/uploads/2012/11/Set-tag-UIButton-Apprendemos.com_.png" alt="Set tag UIButton - Apprendemos.com" title="Set tag UIButton - Apprendemos.com" width="338" height="97" class="aligncenter size-full wp-image-1463" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Creamos un UIViewController ListadoViewController en el proyecto.</p>
<p>&nbsp;</p>
<p><a href="http://www.apprendemos.com/wp-content/uploads/2012/11/ListadoViewController-Apprendemos.com_.png"><img src="http://www.apprendemos.com/wp-content/uploads/2012/11/ListadoViewController-Apprendemos.com_.png" alt="ListadoViewController - Apprendemos.com" title="ListadoViewController - Apprendemos.com" width="500" height="337" class="aligncenter size-full wp-image-1465" /></a></p>
<p>&nbsp;</p>
<p>Dejaremos el código de ListadoViewController.h así:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #6e371a;">#import &lt;UIKit/UIKit.h&gt;</span>
<span style="color: #6e371a;">#import &quot;Pelicula.h&quot;</span>
&nbsp;
<span style="color: #a61390;">@interface</span> ListadoViewController <span style="color: #002200;">:</span> UIViewController &lt;NSXMLParserDelegate, UITableViewDataSource, UITableViewDelegate&gt;
<span style="color: #002200;">&#123;</span>
    <span style="color: #400080;">NSMutableArray</span> <span style="color: #002200;">*</span>peliculas;
    Pelicula <span style="color: #002200;">*</span>auxPelicula;
&nbsp;
    <span style="color: #400080;">NSMutableString</span> <span style="color: #002200;">*</span>currentElementValue;
&nbsp;
    IBOutlet UITableView <span style="color: #002200;">*</span>tableView;
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #a61390;">@property</span><span style="color: #002200;">&#40;</span>nonatomic, retain<span style="color: #002200;">&#41;</span> <span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span>stringXML;
&nbsp;
&nbsp;
<span style="color: #a61390;">@end</span></pre></div></div>

<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Como vemos hemos importado el objeto <b>Pelicula</b>. Hemos declarado al controlador como <b>delegado de UITableView y de NSXMLParser</b>, que será el que implementaremos en el tutorial.</p>
<p>Además declaramos el array que contendrá las películas del actor, el string que almacenará el contenido de cada etiqueta del XML, y la tabla para mostrar los resultados.</p>
<p>&nbsp;</p>
<p>stringXMl hará del contenido XML que en una situación real  recuperaríamos de un servicio web (o de un fichero local).</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Ahora volvemos a <b>viewController.m</b>, y creamos un método que llame al listado, y en función del tag que tenga el botón que hace la llamada, mostraremos un xml u otro. </p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span>IBAction<span style="color: #002200;">&#41;</span>mostrarPeliculasPorActor<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">id</span><span style="color: #002200;">&#41;</span>sender
<span style="color: #002200;">&#123;</span>
    UIButton <span style="color: #002200;">*</span>auxButton <span style="color: #002200;">=</span> <span style="color: #002200;">&#40;</span>UIButton<span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>sender;
&nbsp;
    <span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span>stringXML <span style="color: #002200;">=</span> <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&quot;</span>;
&nbsp;
    <span style="color: #a61390;">switch</span> <span style="color: #002200;">&#40;</span>auxButton.tag<span style="color: #002200;">&#41;</span> <span style="color: #002200;">&#123;</span>
        <span style="color: #a61390;">case</span> <span style="color: #2400d9;">0</span><span style="color: #002200;">:</span>
        <span style="color: #002200;">&#123;</span>
            stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;listado&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;pelicula id=<span style="color: #2400d9;">\&quot;</span>1<span style="color: #2400d9;">\&quot;</span>&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                    stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;titulo&gt;La Jungla 4.0&lt;/titulo&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                    stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;descripcion&gt;La mejor pelicula de los ultimos tiempos. El agente Jonh McCain...&lt;/descripcion&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                    stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;anio&gt;2010&lt;/anio&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;/pelicula&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;pelicula id=<span style="color: #2400d9;">\&quot;</span>2<span style="color: #2400d9;">\&quot;</span>&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                    stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;titulo&gt;El sexto sentido&lt;/titulo&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                    stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;descripcion&gt;La película con un final prometedor e insesperado.&lt;/descripcion&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                    stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;anio&gt;1998&lt;/anio&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;/pelicula&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;pelicula id=<span style="color: #2400d9;">\&quot;</span>3<span style="color: #2400d9;">\&quot;</span>&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                    stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;titulo&gt;Falsas Apariencias&lt;/titulo&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                    stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;descripcion&gt;Mezcla de acción y comedia junto a Mathew Perry&lt;/descripcion&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                    stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;anio&gt;2004&lt;/anio&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;/pelicula&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
            stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;/listado&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
&nbsp;
            <span style="color: #a61390;">break</span>;
        <span style="color: #002200;">&#125;</span>
&nbsp;
        <span style="color: #a61390;">case</span> <span style="color: #2400d9;">1</span><span style="color: #002200;">:</span>
        <span style="color: #002200;">&#123;</span>
            stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;listado&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;pelicula id=<span style="color: #2400d9;">\&quot;</span>35<span style="color: #2400d9;">\&quot;</span>&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                    stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;titulo&gt;Cara a Cara&lt;/titulo&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                    stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;descripcion&gt;Dos personas enfrentadas, a si mismas...&lt;/descripcion&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                    stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;anio&gt;1995&lt;/anio&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;/pelicula&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;pelicula id=<span style="color: #2400d9;">\&quot;</span>56<span style="color: #2400d9;">\&quot;</span>&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                    stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;titulo&gt;El motorista fantasma&lt;/titulo&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                    stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;descripcion&gt;Porque morir con una moto no es decir adios&lt;/descripcion&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                    stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;anio&gt;2007&lt;/anio&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;/pelicula&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;pelicula id=<span style="color: #2400d9;">\&quot;</span>42<span style="color: #2400d9;">\&quot;</span>&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                    stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;titulo&gt;La búsqueda&lt;/titulo&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                    stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;descripcion&gt;Nicolas Cage hace temblar al Sr.Jones&lt;/descripcion&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                    stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;anio&gt;2002&lt;/anio&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
                stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;/pelicula&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
            stringXML <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML stringByAppendingString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&lt;/listado&gt;&quot;</span><span style="color: #002200;">&#93;</span>;
            <span style="color: #a61390;">break</span>;
        <span style="color: #002200;">&#125;</span>
&nbsp;
        <span style="color: #a61390;">default</span><span style="color: #002200;">:</span>
            <span style="color: #a61390;">break</span>;
    <span style="color: #002200;">&#125;</span>
&nbsp;
    ListadoViewController <span style="color: #002200;">*</span>listadoController <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>ListadoViewController alloc<span style="color: #002200;">&#93;</span>initWithNibName<span style="color: #002200;">:</span><span style="color: #a61390;">nil</span> bundle<span style="color: #002200;">:</span><span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>;
    NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;XML = %@&quot;</span>, stringXML<span style="color: #002200;">&#41;</span>;
    <span style="color: #002200;">&#91;</span>listadoController setStringXML<span style="color: #002200;">:</span>stringXML<span style="color: #002200;">&#93;</span>;
&nbsp;
    <span style="color: #002200;">&#91;</span>self.navigationController pushViewController<span style="color: #002200;">:</span>listadoController animated<span style="color: #002200;">:</span><span style="color: #a61390;">YES</span><span style="color: #002200;">&#93;</span>;
&nbsp;
&nbsp;
&nbsp;
<span style="color: #002200;">&#125;</span></pre></div></div>

<p>        </p>
<p>        </p>
<p>Ahora tenemos que llamar desde el listado al <b>parser XML (NSXMLParser)</b>.</p>
<p>&nbsp;</p>
<p>Vamos a <strong>ListadoViewController.m</strong> y en viewDidLoad añadimos lo siguiente:</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>viewDidLoad
<span style="color: #002200;">&#123;</span>
    <span style="color: #002200;">&#91;</span>super viewDidLoad<span style="color: #002200;">&#93;</span>;
&nbsp;
    <span style="color: #11740a; font-style: italic;">// Establecemos el delegate de la tabla, el dataSource y el alto de tabla.</span>
    tableView.delegate <span style="color: #002200;">=</span> self;
    tableView.dataSource <span style="color: #002200;">=</span> self;
    tableView.rowHeight <span style="color: #002200;">=</span> <span style="color: #2400d9;">90.0</span>;
&nbsp;
&nbsp;
&nbsp;
    <span style="color: #11740a; font-style: italic;">// Simulamos la respuesta del servidor con nuestro stringXML.</span>
    <span style="color: #11740a; font-style: italic;">// Lo convertimos a NSData para evitar errores de codificación.</span>
    <span style="color: #400080;">NSData</span> <span style="color: #002200;">*</span>responseData <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>stringXML dataUsingEncoding<span style="color: #002200;">:</span>NSUTF8StringEncoding<span style="color: #002200;">&#93;</span>;
&nbsp;
    <span style="color: #11740a; font-style: italic;">// Si tuvieramos el XML en un archivo local se podría hacer así:</span>
    <span style="color: #11740a; font-style: italic;">// NSData *responseData = [NSData dataWithContentsOfFile:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@&quot;peliculas.xml&quot;]]</span>
&nbsp;
    <span style="color: #11740a; font-style: italic;">// Creamos el parser:</span>
    <span style="color: #400080;">NSXMLParser</span> <span style="color: #002200;">*</span>parser <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><span style="color: #400080;">NSXMLParser</span> alloc<span style="color: #002200;">&#93;</span> initWithData<span style="color: #002200;">:</span>responseData<span style="color: #002200;">&#93;</span>;
&nbsp;
    <span style="color: #11740a; font-style: italic;">// Lo establecemos como delegado, ya que nuestro ListadoViewController implementará el protocolo.</span>
    <span style="color: #002200;">&#91;</span>parser setDelegate<span style="color: #002200;">:</span>self<span style="color: #002200;">&#93;</span>;
&nbsp;
    <span style="color: #11740a; font-style: italic;">// Y parseamos el XML, a falta de algún error:</span>
    <span style="color: #11740a; font-style: italic;">// - Etiquetas sin cerrar</span>
    <span style="color: #11740a; font-style: italic;">// - Mala sintaxis</span>
    <span style="color: #11740a; font-style: italic;">// - Problemas de codificación</span>
    <span style="color: #11740a; font-style: italic;">// - XML sin etiqueta raiz</span>
&nbsp;
    <span style="color: #a61390;">if</span><span style="color: #002200;">&#40;</span><span style="color: #002200;">!</span><span style="color: #002200;">&#91;</span>parser parse<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>
        NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Error al parsear&quot;</span><span style="color: #002200;">&#41;</span>;
    <span style="color: #a61390;">else</span>
        NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;OK Parsing&quot;</span><span style="color: #002200;">&#41;</span>;
&nbsp;
&nbsp;
<span style="color: #002200;">&#125;</span></pre></div></div>

<p>&nbsp;</p>
<p>    </p>
<p>Añadimos el método que detecta las aperturas de los nodos (listado,pelicula,titulo,descripcion y anio):</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #11740a; font-style: italic;">// Este método detecta las etiquetas que abren.</span>
<span style="color: #002200;">-</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>parser<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSXMLParser</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>parser didStartElement<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>elementName namespaceURI<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>namespaceURI qualifiedName<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>qualifiedName attributes<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSDictionary</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>attributeDict
<span style="color: #002200;">&#123;</span>
    <span style="color: #11740a; font-style: italic;">// Comprobamos que etiqueta se ha detectado</span>
    <span style="color: #a61390;">if</span><span style="color: #002200;">&#40;</span><span style="color: #002200;">&#91;</span>elementName isEqualToString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;listado&quot;</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#123;</span>
&nbsp;
        <span style="color: #11740a; font-style: italic;">// Iniciamos el listado</span>
        <span style="color: #11740a; font-style: italic;">// En principio este objeto es nil, pero no está de más comprobar.</span>
        <span style="color: #a61390;">if</span><span style="color: #002200;">&#40;</span>peliculas <span style="color: #002200;">==</span> <span style="color: #a61390;">nil</span><span style="color: #002200;">&#41;</span>
        <span style="color: #002200;">&#123;</span>
            peliculas <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><span style="color: #400080;">NSMutableArray</span> alloc<span style="color: #002200;">&#93;</span>init<span style="color: #002200;">&#93;</span>;
&nbsp;
        <span style="color: #002200;">&#125;</span> <span style="color: #a61390;">else</span> <span style="color: #002200;">&#123;</span>
&nbsp;
            <span style="color: #002200;">&#91;</span>peliculas removeAllObjects<span style="color: #002200;">&#93;</span>;
&nbsp;
        <span style="color: #002200;">&#125;</span>
&nbsp;
    <span style="color: #002200;">&#125;</span> <span style="color: #a61390;">else</span> <span style="color: #a61390;">if</span><span style="color: #002200;">&#40;</span><span style="color: #002200;">&#91;</span>elementName isEqualToString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;pelicula&quot;</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#123;</span>
&nbsp;
        <span style="color: #11740a; font-style: italic;">// Al detectar que abre la etiqueta película creamos el objeto que contendrá los datos.</span>
        auxPelicula <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>Pelicula alloc<span style="color: #002200;">&#93;</span> init<span style="color: #002200;">&#93;</span>;
&nbsp;
        <span style="color: #11740a; font-style: italic;">// En XMl los datos puedes formar parte de una etiqueta, siendo su atributo. Esto ahorra en tamaño para el XML cuando tenemos muchos datos.</span>
        <span style="color: #a61390;">if</span><span style="color: #002200;">&#40;</span><span style="color: #002200;">&#91;</span>attributeDict objectForKey<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;id&quot;</span><span style="color: #002200;">&#93;</span> <span style="color: #002200;">!=</span> <span style="color: #a61390;">nil</span><span style="color: #002200;">&#41;</span>
        <span style="color: #002200;">&#123;</span>
            <span style="color: #11740a; font-style: italic;">// Obtenemos el id de la película.</span>
            auxPelicula.id_pelicula <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>attributeDict objectForKey<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;id&quot;</span><span style="color: #002200;">&#93;</span>intValue<span style="color: #002200;">&#93;</span>;
        <span style="color: #002200;">&#125;</span>
    <span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #002200;">&#125;</span></pre></div></div>

<p>&nbsp;</p>
<p>Añadimos ahora el método que <b>lee y almacena el contenido de las etiquetas</b>. Este podemos dejarlo <b>tal cual en cualquier aplicación que hagamos</b>:</p>
<p>// Este método detecta contenido entre etiquetas, siempre lo dejaremos así.</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #002200;">-</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>parser<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSXMLParser</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>parser foundCharacters<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span><span style="color: #a61390;">string</span>
<span style="color: #002200;">&#123;</span>
    <span style="color: #a61390;">if</span><span style="color: #002200;">&#40;</span><span style="color: #002200;">!</span>currentElementValue<span style="color: #002200;">&#41;</span>
    <span style="color: #002200;">&#123;</span>
        currentElementValue <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><span style="color: #400080;">NSMutableString</span> alloc<span style="color: #002200;">&#93;</span>initWithString<span style="color: #002200;">:</span><span style="color: #a61390;">string</span><span style="color: #002200;">&#93;</span>;
    <span style="color: #002200;">&#125;</span>
    <span style="color: #a61390;">else</span>
    <span style="color: #002200;">&#123;</span>
        <span style="color: #002200;">&#91;</span>currentElementValue appendString<span style="color: #002200;">:</span><span style="color: #a61390;">string</span><span style="color: #002200;">&#93;</span>;
    <span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #002200;">&#125;</span></pre></div></div>

<p>&nbsp;</p>
<p>Pasamos ahora al que seguro es más importante. </p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #11740a; font-style: italic;">// Este método detecta las etiquetas que cierran y es donde se comprueban los valores entre etiquetas para completar los objetos inicializados.</span>
<span style="color: #002200;">-</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>parser<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSXMLParser</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>parser didEndElement<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>elementName namespaceURI<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>namespaceURI qualifiedName<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>qName
<span style="color: #002200;">&#123;</span>
    <span style="color: #11740a; font-style: italic;">// Si es el raiz, sabemos que ha terminado el XML, y por tanto es tonteria, seguir haciendo comprobaciones. Finalizamos el parser.</span>
    <span style="color: #a61390;">if</span><span style="color: #002200;">&#40;</span><span style="color: #002200;">&#91;</span>elementName isEqualToString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;listado&quot;</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#123;</span>
        <span style="color: #a61390;">return</span>;
&nbsp;
        <span style="color: #11740a; font-style: italic;">// Si es el objeto el que cierra, podemos añadir el objeto al listado y finalizarlo, pues ya tendrá todas las propiedades.</span>
    <span style="color: #002200;">&#125;</span>  <span style="color: #a61390;">else</span> <span style="color: #a61390;">if</span><span style="color: #002200;">&#40;</span><span style="color: #002200;">&#91;</span>elementName isEqualToString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;pelicula&quot;</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#123;</span>
&nbsp;
&nbsp;
        <span style="color: #002200;">&#91;</span>peliculas addObject<span style="color: #002200;">:</span>auxPelicula<span style="color: #002200;">&#93;</span>;
        auxPelicula <span style="color: #002200;">=</span> <span style="color: #a61390;">nil</span>;
&nbsp;
        <span style="color: #11740a; font-style: italic;">// Si es un parametro del objeto, se lo añadimos.</span>
    <span style="color: #002200;">&#125;</span> <span style="color: #a61390;">else</span> <span style="color: #a61390;">if</span><span style="color: #002200;">&#40;</span><span style="color: #002200;">&#91;</span>elementName isEqualToString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;titulo&quot;</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>
    <span style="color: #002200;">&#123;</span>
        <span style="color: #002200;">&#91;</span>auxPelicula setTitulo<span style="color: #002200;">:</span>currentElementValue<span style="color: #002200;">&#93;</span>;
&nbsp;
        <span style="color: #11740a; font-style: italic;">// Y así con todos....</span>
    <span style="color: #002200;">&#125;</span> <span style="color: #a61390;">else</span> <span style="color: #a61390;">if</span><span style="color: #002200;">&#40;</span><span style="color: #002200;">&#91;</span>elementName isEqualToString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;descripcion&quot;</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>
    <span style="color: #002200;">&#123;</span>
        <span style="color: #002200;">&#91;</span>auxPelicula setDescripcion<span style="color: #002200;">:</span>currentElementValue<span style="color: #002200;">&#93;</span>;
&nbsp;
    <span style="color: #002200;">&#125;</span> <span style="color: #a61390;">else</span> <span style="color: #a61390;">if</span><span style="color: #002200;">&#40;</span><span style="color: #002200;">&#91;</span>elementName isEqualToString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;anio&quot;</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>
    <span style="color: #002200;">&#123;</span>
        <span style="color: #002200;">&#91;</span>auxPelicula setAnio<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span>currentElementValue intValue<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
&nbsp;
    <span style="color: #002200;">&#125;</span>
&nbsp;
    <span style="color: #11740a; font-style: italic;">// Es importante liberar el contenido de currentElementValue para que no siga concatenando el valor actual con el siguiente.</span>
    currentElementValue <span style="color: #002200;">=</span> <span style="color: #a61390;">nil</span>;
&nbsp;
<span style="color: #002200;">&#125;</span></pre></div></div>

<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Una vez finalizado solo hay que mostrar los resultados en la tabla, estos métodos están explicados en el <b><a href="http://www.apprendemos.com/tutoriales/ios/uitableview" title="Iniciación: UITableView - Apprendemos.com" target="_blank">correspondiente tutorial de listar datos en iOS con UITableView</a></b>.</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #002200;">-</span><span style="color: #002200;">&#40;</span>NSInteger<span style="color: #002200;">&#41;</span>tableView<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UITableView <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>tableView numberOfRowsInSection<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>NSInteger<span style="color: #002200;">&#41;</span>section
<span style="color: #002200;">&#123;</span>
    <span style="color: #a61390;">return</span><span style="color: #002200;">&#91;</span>peliculas count<span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #002200;">-</span><span style="color: #002200;">&#40;</span>NSInteger<span style="color: #002200;">&#41;</span>numberOfSectionsInTableView<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UITableView <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>tableView
<span style="color: #002200;">&#123;</span>
    <span style="color: #a61390;">return</span> <span style="color: #2400d9;">1</span>;
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #002200;">-</span><span style="color: #002200;">&#40;</span>UITableViewCell <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>tableView<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UITableView <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>tableView cellForRowAtIndexPath<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSIndexPath</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>indexPath
<span style="color: #002200;">&#123;</span>
    <span style="color: #11740a; font-style: italic;">// Normalmente recuperaremos del array, según la posicion de la fila..</span>
    Pelicula <span style="color: #002200;">*</span>aPelicula <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>peliculas objectAtIndex<span style="color: #002200;">:</span>indexPath.row<span style="color: #002200;">&#93;</span>;
&nbsp;
    <span style="color: #11740a; font-style: italic;">// Creamos la celda (o fila).</span>
    UITableViewCell <span style="color: #002200;">*</span>cell <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UITableViewCell alloc<span style="color: #002200;">&#93;</span>initWithStyle<span style="color: #002200;">:</span>UITableViewCellStyleDefault reuseIdentifier<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Cell&quot;</span><span style="color: #002200;">&#93;</span> ;
&nbsp;
    <span style="color: #11740a; font-style: italic;">/*-------------------------------------*/</span>
    <span style="color: #11740a; font-style: italic;">/* TÍTULO DE PELÍCULA                  */</span>
    <span style="color: #11740a; font-style: italic;">/*-------------------------------------*/</span>
    <span style="color: #11740a; font-style: italic;">// Creamos una etiqueta para la celda.</span>
    UILabel <span style="color: #002200;">*</span>tituloLabel <span style="color: #002200;">=</span>  <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UILabel alloc<span style="color: #002200;">&#93;</span> initWithFrame<span style="color: #002200;">:</span> CGRectMake<span style="color: #002200;">&#40;</span> <span style="color: #2400d9;">10.0</span>, <span style="color: #2400d9;">0.0</span>, self.view.frame.size.width <span style="color: #002200;">-</span> <span style="color: #2400d9;">20.0</span>, <span style="color: #2400d9;">20.0</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#93;</span>;
&nbsp;
    tituloLabel.textAlignment <span style="color: #002200;">=</span> NSTextAlignmentCenter;
&nbsp;
    <span style="color: #11740a; font-style: italic;">// Insertamos el texto de la etiqueta.</span>
    tituloLabel.text <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #400080;">NSString</span> stringWithFormat<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;%@&quot;</span>,aPelicula.titulo<span style="color: #002200;">&#93;</span>;
&nbsp;
    <span style="color: #11740a; font-style: italic;">// Añadimos el label a la celda.</span>
    <span style="color: #002200;">&#91;</span>cell.contentView addSubview<span style="color: #002200;">:</span>tituloLabel<span style="color: #002200;">&#93;</span>;
&nbsp;
&nbsp;
    <span style="color: #11740a; font-style: italic;">/*-------------------------------------*/</span>
    <span style="color: #11740a; font-style: italic;">/* DESCRIPCIÓN DE PELÍCULA             */</span>
    <span style="color: #11740a; font-style: italic;">/*-------------------------------------*/</span>
    <span style="color: #11740a; font-style: italic;">// Creamos una etiqueta para la celda.</span>
    UILabel <span style="color: #002200;">*</span>descTextView <span style="color: #002200;">=</span>  <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UILabel alloc<span style="color: #002200;">&#93;</span> initWithFrame<span style="color: #002200;">:</span> CGRectMake<span style="color: #002200;">&#40;</span> <span style="color: #2400d9;">10.0</span>, <span style="color: #2400d9;">25.0</span>, self.view.frame.size.width <span style="color: #002200;">-</span> <span style="color: #2400d9;">20.0</span>, <span style="color: #2400d9;">40.0</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#93;</span>;
&nbsp;
    descTextView.numberOfLines <span style="color: #002200;">=</span> <span style="color: #2400d9;">2</span>;
&nbsp;
    <span style="color: #11740a; font-style: italic;">// Insertamos el texto de la etiqueta.</span>
    descTextView.text <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #400080;">NSString</span> stringWithFormat<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;%@&quot;</span>,aPelicula.descripcion<span style="color: #002200;">&#93;</span>;
&nbsp;
    <span style="color: #11740a; font-style: italic;">// Añadimos el label a la celda.</span>
    <span style="color: #002200;">&#91;</span>cell.contentView addSubview<span style="color: #002200;">:</span>descTextView<span style="color: #002200;">&#93;</span>;
&nbsp;
    <span style="color: #11740a; font-style: italic;">/*-------------------------------------*/</span>
    <span style="color: #11740a; font-style: italic;">/* AÑO DE PELÍCULA                     */</span>
    <span style="color: #11740a; font-style: italic;">/*-------------------------------------*/</span>
    <span style="color: #11740a; font-style: italic;">// Creamos una etiqueta para la celda.</span>
    UILabel <span style="color: #002200;">*</span>anioLabel <span style="color: #002200;">=</span>  <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UILabel alloc<span style="color: #002200;">&#93;</span> initWithFrame<span style="color: #002200;">:</span> CGRectMake<span style="color: #002200;">&#40;</span> self.view.frame.size.width <span style="color: #002200;">-</span> <span style="color: #2400d9;">60.0</span>, <span style="color: #2400d9;">70.0</span>, <span style="color: #2400d9;">60.0</span>, <span style="color: #2400d9;">20.0</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#93;</span>;
&nbsp;
    <span style="color: #11740a; font-style: italic;">// Insertamos el texto de la etiqueta.</span>
    anioLabel.text <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #400080;">NSString</span> stringWithFormat<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;%d&quot;</span>,aPelicula.anio<span style="color: #002200;">&#93;</span>;
&nbsp;
    <span style="color: #11740a; font-style: italic;">// Añadimos el label a la celda.</span>
    <span style="color: #002200;">&#91;</span>cell.contentView addSubview<span style="color: #002200;">:</span>anioLabel<span style="color: #002200;">&#93;</span>;
    <span style="color: #11740a; font-style: italic;">/*-------------------------------------*/</span>
&nbsp;
&nbsp;
&nbsp;
&nbsp;
    <span style="color: #11740a; font-style: italic;">// Y finalizamos devolviendo la celda </span>
    <span style="color: #a61390;">return</span> cell;
<span style="color: #002200;">&#125;</span></pre></div></div>

<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Antes de terminar el código, vamos a <b>viewDidLoad</b> y justo después del parseo recargamos los datos de la tabla:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #a61390;">if</span><span style="color: #002200;">&#40;</span><span style="color: #002200;">!</span><span style="color: #002200;">&#91;</span>parser parse<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>
        NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Error al parsear&quot;</span><span style="color: #002200;">&#41;</span>;
    <span style="color: #a61390;">else</span>
        NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;OK Parsing&quot;</span><span style="color: #002200;">&#41;</span>;
&nbsp;
    <span style="color: #002200;">&#91;</span>tableView reloadData<span style="color: #002200;">&#93;</span>;</pre></div></div>

<p>&nbsp;</p>
<p>Por último queda ir al <b>ListadoViewController.xib</b> y arrastrar un <b>tableView</b>.</p>
<p>Le asignamos el <b><i>IBOutlet de tableView, y las propiedades delegate y datasource</i></b>:</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>    </p>
<p>    </p>
<p>&nbsp;</p>
<p>Podéis probar como al iniciar al simulador.</p>
<p>&nbsp;</p>
<p><a href="http://www.apprendemos.com/wp-content/uploads/2012/11/MainView-Apprendemos.com_.png"><img src="http://www.apprendemos.com/wp-content/uploads/2012/11/MainView-Apprendemos.com_.png" alt="MainView - Apprendemos.com" title="MainView - Apprendemos.com" width="434" height="616" class="alignnone size-full wp-image-1471" /></a></p>
<p>&nbsp;</p>
<p>Si pulsamos sobre el botón de Bruce Willis, nos muestra las que hemos añadido a su xml. Lo mismo pasa con Nicolas Cage.</p>
<p>&nbsp;</p>
<p><a href="http://www.apprendemos.com/wp-content/uploads/2012/11/Bruce-Willis-Films-Apprendemos.com_.png"><img src="http://www.apprendemos.com/wp-content/uploads/2012/11/Bruce-Willis-Films-Apprendemos.com_.png" alt="Bruce Willis Films - Apprendemos.com" title="Bruce Willis Films - Apprendemos.com" width="434" height="616" class="alignnone size-full wp-image-1470" /></a></p>
<p>&nbsp;</p>
<p>Esperamos que os haya gustado este <b>tutorial de recorrido y análisis de XML en iOS</b>, pues el parseo XML es muy útil para cualquier comunicación con servidores.</p>
<p>Recordar que si os gustan <b>nuestros tutoriales</b>, a nosotros nos gusta más aún que se difundan, compartir en las redes sociales nos viene bien a todos <img src='http://www.apprendemos.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<div class="shr-publisher-1444"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><a href="http://clk.tradedoubler.com/click?p= 192623&a=2172818&g= 20628704" target="_BLANK"><img src="http://impes.tradedoubler.com/imp?type(img)g(20628704)a(2172818)51" border=0></a>]]></content:encoded>
			<wfw:commentRss>http://www.apprendemos.com/tutoriales/ios/parser-xml-recorrer-iphone/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Yeeply &#8211; La plataforma para desarrolladores móviles</title>
		<link>http://www.apprendemos.com/noticias/yeeply-la-plataforma-para-desarrolladores-moviles</link>
		<comments>http://www.apprendemos.com/noticias/yeeply-la-plataforma-para-desarrolladores-moviles#comments</comments>
		<pubDate>Mon, 26 Nov 2012 13:00:04 +0000</pubDate>
		<dc:creator>ManuAlamar</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[empresas moviles]]></category>
		<category><![CDATA[freelance]]></category>
		<category><![CDATA[ideas]]></category>
		<category><![CDATA[plug and play]]></category>
		<category><![CDATA[proyectos moviles]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[upv]]></category>
		<category><![CDATA[yeeply]]></category>

		<guid isPermaLink="false">http://www.apprendemos.com/?p=1414</guid>
		<description><![CDATA[&#160;  Hace algo más de un mes, un buen amigo me comentó a cerca de una nueva plataforma que estaba empezando. Me pidió que le echara un vistazo ya que estaba creada por conocidos suyos, los cuales vienen de la misma universidad que yo, la Universitat Politécnica de Valencia, y han sido impulsados por el instituto [...]]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><div class="shr-publisher-1414"></div><p>&nbsp;</p>
<p> Hace algo más de un mes, un buen amigo me comentó a cerca de una nueva plataforma que estaba empezando. Me pidió que le echara un vistazo ya que estaba creada por conocidos suyos, los cuales vienen de la misma universidad que yo, la <a title="Universitat Politécnica de Valencia" href="http://www.upv.es/index-es.html" target="_blank"><strong>Universitat Politécnica de Valencia</strong></a>, y han sido impulsados por el <a title="Instituto IDEAS UPV - Apprendemos.com" href="http://www.ideas.upv.es/" target="_blank">instituto <strong>IDEAS</strong></a>, en el que estuve en su dia, a punto de participar.</p>
<p>&nbsp;</p>
<p>Finalmente he encontrado un hueco para echarle un vistazo, y la sorpresa ha sido  bastante grata.</p>
<p>Por ese motivo, hoy os vamos a presentar esta plataforma que consideramos ha de convertirse en indispensable para cada uno de vosotros, desarrolladores, diseñadores, publicistas y otros expertos, así como para las empresas que están por ahí buscando profesionales sin llegar a encontraros (si, a vosotros). </p>
<p>&nbsp;</p>
<p>Yeeply es el nombre de esta plataforma online que pone en contacto a profesionales en busca de proyectos en los que participar, y a empresas que buscan soluciones en el campo de la tecnología de mayor alza del mercado, la tecnología móvil.</p>
<p>Es decir, está pensada para el desarrollo de apps móviles de todos los niveles y plataformas, publicidad móvil interactiva, etc. </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-align: center;"> <a href="http://www.apprendemos.com/wp-content/uploads/2012/11/Expertos-y-Empresas-Yeeply-Apprendemos.com_.png"><img class=" wp-image-1425 aligncenter" title="Expertos y Empresas Yeeply - Apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/11/Expertos-y-Empresas-Yeeply-Apprendemos.com_.png" alt="Expertos y Empresas Yeeply - Apprendemos.com" width="594" height="244" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>En un momento en que la tecnología móvil es un indispensable en las vidas y negocios, a veces (y como desarrollador doy fe de ello), es dificil encontrar algunos proyectos en los que participar, aunque en realidad, haya empresas de sobra buscando programadores para esta tarea. <strong>Yeeply</strong> se encarga de citar ambas partes: profesional y empresa, de forma online para llegar a un acuerdo de desarrollo.</p>
<p>&nbsp;</p>
<p>Los expertos,  tienen disponible un importante catálogo de proyectos registrados por los Clientes o Empresas,que tienen una idea o necesidad que necesitan sea llevada a cabo por estos Expertos.</p>
<p> Los desarrolladores realizan ofertas para los proyectos presentados, hasta que finalmente la empresa se decanta por un profesional. </p>
<p>&nbsp;</p>
<p><a href="http://www.apprendemos.com/wp-content/uploads/2012/11/Detalle-Proyectos-Yeeply-Apprendemos.png"><img class="wp-image-1431 aligncenter" title="Detalle Proyectos Yeeply - Apprendemos" src="http://www.apprendemos.com/wp-content/uploads/2012/11/Detalle-Proyectos-Yeeply-Apprendemos.png" alt="Detalle Proyectos Yeeply - Apprendemos" width="610" height="149" /></a></p>
<p>&nbsp;</p>
<p>En este sentido hay un punto muy a favor en lo que a calidad se refiere: ambas partes serán evaluada por la otra. Esto, llegado a un número considerable de votos, puede darnos una fiabilidad muy importante, del nivel de confianza que por ejemplo, nos pueden dar los votos de eBay en su proceso de compraventa, donde los votos de un vendedor siempre son decisivos.</p>
<p>&nbsp;</p>
<p>Además Yeeply cuenta de inicio con todo el apoyo de Plug and Play, la potente aceleradora de Silicon Valley, lo que otorga una calidad superior al proyecto.</p>
<p style="text-align: center;"><a href="http://www.apprendemos.com/wp-content/uploads/2012/11/Colaboradores-Yeeply-Apprendemos.com_.png"><img class=" wp-image-1417 aligncenter" title="Colaboradores  - Yeeply - Apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/11/Colaboradores-Yeeply-Apprendemos.com_.png" alt="Colaboradores  - Yeeply - Apprendemos.com" width="552" height="70" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Pero esto <strong>no es un portal de búsqueda de empleo</strong>. Es la reinvención de este tipo de portales, ya que aquí los profesionales, tendrán un perfil atractivo en el que mostrar de forma elegante y llamativa, que proyectos han realizado, pudiendo demostrar su valía para destacar por encima de otros.</p>
<p>&nbsp;</p>
<p>Así mismo las empresas podrán detallar sus proyectos y la cuantía que tienen pensada para el proyecto planteado.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Como vemos la lista de perfiles no es tan cerrada como puede ser, podemos encontrar:</p>
<p>    &#8211; <strong>Desarrolladores de aplicaciones</strong></p>
<p>    &#8211; Diseñadores</p>
<p>    &#8211; Expertos SEO</p>
<p>    &#8211; Publicistas</p>
<p>&nbsp;</p>
<p>O simplemente, expertos en &#8220;algo&#8221; referente a estos campos, ya que el abanico sería dificil de cerrar a solo unos perfiles.</p>
<p>&nbsp;</p>
<p style="text-align: center;"><a href="http://www.apprendemos.com/wp-content/uploads/2012/11/Pasos-Yeeply-Apprendemos.com_.png"><img class=" wp-image-1426 aligncenter" title="Pasos Yeeply  - Apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/11/Pasos-Yeeply-Apprendemos.com_.png" alt="Pasos Yeeply  - Apprendemos.com" width="567" height="119" /></a></p>
<p style="text-align: center;"> </p>
<p style="text-align: center;"> </p>
<p style="text-align: center;"> </p>
<p><strong>El perfil del profesional</strong>, así como <strong>sus proyectos son públicos en la red</strong>, incluídas las búsqueda de Google, a menos que se solicite lo contrario. </p>
<p>Así mismo los datos de contactos solo estarán disponibles para la empresa registrada en Yeeply, en caso de llegar Empresa y Experto a un acuerdo.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Yeeply funciona con un sencillo sistema de créditos en el que tanto realizar una oferta (en el caso del experto), como aceptar una oferta (en el caso del cliente) tiene un coste fijo de 10 créditos por oferta.</p>
<p>Se pueden <strong>conseguir créditos</strong> de diferentes maneras:</p>
<ul>
<li>Invitando a expertos a unirse a la plataforma = 25 créditos por cada experto</li>
<li>Invitando a clientes que publican proyectos = 50 créditos por cada cliente</li>
<li>Registrarse en Yeeply siendo recomendado = 25 créditos</li>
<li>Comprando créditos a través de Paypal.
<ul>
<li>9,90 € = 100 créditos</li>
<li>15,90 € = 200 créditos</li>
<li>24,90 € = 400 créditos</li>
</ul>
</li>
</ul>
<div>Este sistema evita que las empresas publiquen ofertas a la ligera sin trabajar realmente en su contenido, así como evita a estas que los profesionales se inscriban a diestro y siniestro en absolutamente todas sin ser quizás el perfil adecuado.</div>
<p>Además <strong>Yeeply paga un 10% de comisión</strong> por todos los gastos realizados por tus recomendados en la plataforma, por lo que recomendamos únicamente invitar a expertos o clientes reales. Todas las invitaciones serán comprobadas y acreditadas.</p>
<p> <a href="http://www.apprendemos.com/wp-content/uploads/2012/11/Comision-Yeeply-Apprendemos.com_.png"><img class="size-full wp-image-1419 aligncenter" title="Comision Yeeply  - Apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/11/Comision-Yeeply-Apprendemos.com_.png" alt="Comision Yeeply  - Apprendemos.com" width="288" height="149" /></a></p>
<p>&nbsp;</p>
<p>Así mismo <strong>publicar proyectos en Yeeply es totalmente gratuito</strong> y no consume ningún crédito, de forma que el aumento de proyectos crezca de forma considerable.</p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><a title="Registro Yeeply - Apprendemos.com" href="http://www.yeeply.com/es/Register/User" target="_blank"><span style="color: #000000;"><strong>Registrase en Yeeply</strong></span></a></span> es muy sencillo y apenas requiere unos pasos y la confirmación por email.</p>
<p style="text-align: center;"><a href="http://www.apprendemos.com/wp-content/uploads/2012/11/Registro-Yeeply-Apprendemos.com_1.png"><img class=" wp-image-1421 aligncenter" title="Registro Yeeply - Apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/11/Registro-Yeeply-Apprendemos.com_1.png" alt="Registro Yeeply - Apprendemos.com" width="410" height="325" /></a></p>
<p style="text-align: center;"> </p>
<p style="text-align: left;">Además el proyecto que actualmente está disponible solo en Español, muestra claramente su intención por añadir Inglés, Francés y Alemán a su interfaz, lo cual, hace crecer las posibilidades de alcance de empresas y profesionales. Estaremos muy atentos.</p>
<p style="text-align: left;"> </p>
<p style="text-align: left;"><a href="http://www.apprendemos.com/wp-content/uploads/2012/11/Idiomas-Yeeply.png"><img class="size-full wp-image-1422 aligncenter" title="Idiomas - Yeeply - Apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/11/Idiomas-Yeeply.png" alt="Idiomas - Yeeply - Apprendemos.com" width="280" height="191" /></a></p>
<p style="text-align: left;"> </p>
<p style="text-align: left;"> </p>
<p style="text-align: left;">Para finalizar os dejamos con un <strong>vídeo en el que el propio equipo de Yeeply</strong> nos explican mejor que nosotros, en que consiste esta gran plataforma.</p>
<p style="text-align: center;"><iframe src="http://www.youtube.com/embed/RNMdzEotEb8" frameborder="0" width="480" height="360"></iframe></p>
<p style="text-align: center;"> </p>
<p style="text-align: left;"> </p>
<p style="text-align: left;"> </p>
<p style="text-align: left;">Bueno, hasta aquí nuestra visión de Yeeply en Apprendemos.com</p>
<p style="text-align: left;"> </p>
<p style="text-align: left;">Ahora solo queda lo más importante, conocer vuestra opinión. Os animamos a todos a probarlo y a comentar aquí vuestra experiencia.</p>
<div class="shr-publisher-1414"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><a href="http://clk.tradedoubler.com/click?p= 192623&a=2172818&g= 20628704" target="_BLANK"><img src="http://impes.tradedoubler.com/imp?type(img)g(20628704)a(2172818)32" border=0></a>]]></content:encoded>
			<wfw:commentRss>http://www.apprendemos.com/noticias/yeeply-la-plataforma-para-desarrolladores-moviles/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MonoTouch &#8211; Programa iOS &amp; Android en .NET (C#)</title>
		<link>http://www.apprendemos.com/noticias/ios_/monotouch-android-iphone-en-net</link>
		<comments>http://www.apprendemos.com/noticias/ios_/monotouch-android-iphone-en-net#comments</comments>
		<pubDate>Wed, 21 Nov 2012 07:40:38 +0000</pubDate>
		<dc:creator>ManuAlamar</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[android .net]]></category>
		<category><![CDATA[android c#]]></category>
		<category><![CDATA[cross platform]]></category>
		<category><![CDATA[generación de código]]></category>
		<category><![CDATA[ios .net]]></category>
		<category><![CDATA[iphone .net]]></category>
		<category><![CDATA[iphone c#]]></category>
		<category><![CDATA[mono android]]></category>
		<category><![CDATA[mono ios]]></category>
		<category><![CDATA[monotouch]]></category>

		<guid isPermaLink="false">http://www.apprendemos.com/?p=1390</guid>
		<description><![CDATA[&#160; Últimamente, cuando echo un vistazo en el trabajo a los blogs que sigo en Google Reader, me canso con facilidad porque el porcentaje de artículos sobre rumores y denuncias de patentes es ciertamente muy elevado. Sin embargo de vez en cuando encuentras cosas muy interesantes como en esta ocasión, una herramienta, que si bien [...]]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><div class="shr-publisher-1390"></div><p>&nbsp;</p>
<p>Últimamente, cuando echo un vistazo en el trabajo a los blogs que sigo en <a title="Google Reader - Apprendemos.com" href="http://www.google.com/reader/" target="_blank">Google Reader</a>, me canso con facilidad porque el porcentaje de artículos sobre rumores y denuncias de patentes es ciertamente muy elevado.</p>
<p>Sin embargo de vez en cuando encuentras cosas muy interesantes como en esta ocasión, una herramienta, que si bien había oído hablar de ella, no me había parado aún a mirar.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Se trata de <strong><a title="MonoTouch - Apprendemos.com" href="http://xamarin.com/monotouch" target="_blank">MonoTouch</a></strong>, un framework que viene para deleitar a aquellos developers que ya sea por falta de tiempo, de medios o de conocimiento, no ven el momento de empezar a desarrollar una aplicación para dispositivos <strong>iOS (iPhone &#8211; iPad)</strong>.</p>
<p><strong>MonoTouch</strong> permite programar en un lenguaje tan conocido y extendido como es <strong>C# o .NET</strong>. Como muchos sabrán, y si no, es el momento, las aplicaciones iOS se programan en Xcode en un lenguaje de alto nivel no demasiado parecido a ningún otro, el cada vez más conocido <a title="Objective-C - Apprendemos.com" href="http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html" target="_blank"><strong>Objective-C</strong></a>.</p>
<p>El número de desarrolladores .NET es más que elevado así como las <strong>ofertas de trabajo</strong>, que si bien <strong>no tan bien pagadas como las ofertas de iOS</strong>, es evidente que es una apuesta segura en toda empresa de desarrollo.</p>
<p>Ahora los desarrolladores que vengan de <strong>.NET, o incluso de Java,</strong> que no diferencia demasiado del lenguaje elegido por Microsoft, podrán crear sus propias aplicaciones e incluso reutilizar muchas de sus librerías ya creadas para sus nuevas aplicaciones iPhone.</p>
<p>Y lo mejor del framework es que <strong>no solo permite realizar las aplicaciones para iOS</strong>, <strong>también</strong> nos permite crear aplicaciones <strong>Android o Windows Phone</strong>  lo que hasta cierto punto puede ahorrar muchísimo tiempo de desarrollo a quien no sea experto en estas plataformas.</p>
<p>&nbsp;</p>
<p> <a href="http://www.apprendemos.com/wp-content/uploads/2012/11/Banner-MonoTouch-Apprendemos.com_.png"><img class="wp-image-1395 aligncenter" title="MonoTouch iOS - Apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/11/Banner-MonoTouch-Apprendemos.com_.png" alt="Mono for Android - Apprendemos.com" width="563" height="256" /></a></p>
<p>&nbsp;</p>
<p>Así mismo el diseño de interfaces se puede realizar en Xcode (Interface Builder) e importarlo en MonoTouch, ya que como sabréis el diseño de interfaces iOS es muy agradable, no siendolo tanto el de Android.</p>
<p> La mayoría pensaréis que con este tipo de Frameworks no es posible crear aplicaciones suficientemente útiles o atractivas. En este punto, como desarrollador iOS he de decir que obviamente no vamos a conseguir los mismos resultados. Pero cabe destacar dos tipos de finalidad. </p>
<p>Si la finalidad es conseguir hacer alguna que otra aplicación con ciertas funcionalidades, que ojo, no son pocas, pues usaremos <strong>MonoTouch</strong> (o <strong>Mono for Android</strong>).</p>
<p>Si en cambio lo que queremos es dedicarnos a realizar aplicaciones explotando al máximo el SDK de cada plataforma, lógicamente necesitamos programar en Xcode, o el SDK de la plataforma elegida.</p>
<p>&nbsp;</p>
<p><a href="http://www.apprendemos.com/wp-content/uploads/2012/11/Features-MonoTouch-Apprendemos.com_.png"><img class="alignnone  wp-image-1396" title="Features MonoTouch iOS - Apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/11/Features-MonoTouch-Apprendemos.com_.png" alt="Features Mono for Android - Apprendemos.com" width="557" height="286" /></a></p>
<p>&nbsp;</p>
<p>Así mismo, os dejo con un enlace a los ejemplos de aplicaciones creadas con <strong>MonoTouch iOS</strong> y <strong>Mono para Android</strong></p>
<p><a title="MonoTouch - Apprendemos.com" href="http://docs2.xamarin.com/iOS/Samples/" target="_blank">App Samples with MonoTouch</a></p>
<p><a title="Mono for Android - Apprendemos.com" href="http://docs2.xamarin.com/iOS/Samples/" target="_blank">App Samples with Mono for Android</a></p>
<p>&nbsp;</p>
<p>Además podéis echar un ojo a <a title="Rdio Apps - Apprendemos.com" href="http://www.rdio.com/apps/" target="_blank">estas apps de Rdio</a>, creadas con Mono.</p>
<p>&nbsp;</p>
<p>Comentar que MonoTouch cuenta con los siguientes precios por año:</p>
<ul>
<li>Gratis: solo en simulador</li>
<li>Profesional: 399$</li>
<li>Empresa: 999$</li>
</ul>
<p>Además de otros planes de empresa y de renovación.</p>
<p>&nbsp;</p>
<p>Si alguno se anima con <strong>MonoTouch</strong>, por favor os pedimos, nos comentéis como os ha ido la experiencia de <strong>iOS &amp; Android en .NET</strong></p>
<p>&nbsp;</p>
<div class="shr-publisher-1390"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><a href="http://clk.tradedoubler.com/click?p= 192623&a=2172818&g= 20628704" target="_BLANK"><img src="http://impes.tradedoubler.com/imp?type(img)g(20628704)a(2172818)37" border=0></a>]]></content:encoded>
			<wfw:commentRss>http://www.apprendemos.com/noticias/ios_/monotouch-android-iphone-en-net/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Recurso iOS: Lista de UIFonts para tus fuentes en iPhone y iPad</title>
		<link>http://www.apprendemos.com/tutoriales/ios/uifont-lista-fuentes-iphone</link>
		<comments>http://www.apprendemos.com/tutoriales/ios/uifont-lista-fuentes-iphone#comments</comments>
		<pubDate>Fri, 09 Nov 2012 08:43:43 +0000</pubDate>
		<dc:creator>ManuAlamar</dc:creator>
				<category><![CDATA[iOS]]></category>
		<category><![CDATA[@"Arial"]]></category>
		<category><![CDATA[@"Helvetica"]]></category>
		<category><![CDATA[Courier New]]></category>
		<category><![CDATA[Helvetica Neue]]></category>
		<category><![CDATA[lista UIFont]]></category>
		<category><![CDATA[Listado fuentes]]></category>
		<category><![CDATA[recursos iphone]]></category>
		<category><![CDATA[recursos xcode]]></category>
		<category><![CDATA[tutorial uifont]]></category>
		<category><![CDATA[tutorial uilabel]]></category>
		<category><![CDATA[UIFont]]></category>
		<category><![CDATA[UIFont list]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://www.apprendemos.com/?p=1376</guid>
		<description><![CDATA[Hoy os traemos un recurso que estoy seguro vais a utilizar más de una vez. &#160; Cuando queremos personalizar un elemento de nuestra UI que incorpore texto, y por tanto queremos utilizar una fuente personalizada como ya vimos en este tutorial anterior, solemos recurrir al típico:  &#160; &#160; UIFont *altFont = &#91;UIFont fontWithName:@&#34;Courier-Bold&#34; size:14.0&#93;; &#160; [...]]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><div class="shr-publisher-1376"></div><p>Hoy os traemos un recurso que estoy seguro vais a utilizar más de una vez.</p>
<p>&nbsp;</p>
<p>Cuando queremos personalizar un elemento de nuestra UI que incorpore texto, y por tanto queremos utilizar una <strong>fuente personalizada</strong> <a title="Tutorial Fuentes personalizadas: UIFont y UILabel - Apprendemos.com" href="http://www.apprendemos.com/tutoriales/ios/custom-uifont" target="_blank">como ya vimos en este tutorial anterior</a>, solemos recurrir al típico: </p>
<p>&nbsp;</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;">UIFont <span style="color: #002200;">*</span>altFont <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>UIFont fontWithName<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Courier-Bold&quot;</span> size<span style="color: #002200;">:</span><span style="color: #2400d9;">14.0</span><span style="color: #002200;">&#93;</span>;</pre></div></div>

<p>&nbsp;</p>
<p>Donde la inmensa mayoría de las veces el <strong>nombre de nuestro fichero de fuente</strong> <span style="color: #ff0000;"><strong>NO COINCIDE</strong></span> <strong>con el nombre real de la fuente</strong>, y por tanto si no lo conocemos, nos cuesta un rato conseguir el correcto o muchos intentos probando combinaciones lógicas, en los que alguna vez llegamos a desistir.</p>
<p>Para solucionar este problema os traigo este listado de nombres de fuentes, que aunque no he probado el 100%, la mayoría de ellos me han funcionado.</p>
<p>La idea es que todos aquellos que conozcáis o encontréis otros que no estén en la lista, lo compartáis en los comentarios, de forma que podamos seguir ampliando este recurso, que sé que será de utilidad, como mínimo para mi, y espero que para todos vosotros.</p>
<p>&nbsp;</p>
<ul>
<li> <strong>Courier</strong>
<ul>
<li><span style="color: #800000;"><em>@&#8221;Courier&#8221;</em></span></li>
<li><span style="color: #800000;"><em>@&#8221;Courier-BoldOblique&#8221;</em></span></li>
<li><span style="color: #800000;"><em><em>@&#8221;</em>Courier-Oblique&#8221;</em></span></li>
<li><span style="color: #800000;"><em><em>@&#8221;</em>Courier-Bold&#8221;</em></span></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li> <strong>AppleGothic</strong>
<ul>
<li><em><span style="color: #800000;"><em>@&#8221;</em>AppleGothic&#8221;</span></em></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li> <strong>Arial</strong>
<ul>
<li><em><span style="color: #800000;"><em>@&#8221;</em>ArialMT&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>Arial-BoldMT&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>Arial-BoldItalicMT&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>Arial-ItalicMT&#8221;</span></em></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li> <strong>STHeiti TC</strong>
<ul>
<li><em><span style="color: #800000;"><em>@&#8221;</em>STHeitiTC-Light&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>STHeitiTC-Medium&#8221;</span></em></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li> <strong>Hiragino Kaku Gothic ****</strong>
<ul>
<li><em><span style="color: #800000;"><em>@&#8221;</em>HiraKakuProN-W6&#8243;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>HiraKakuProN-W3&#8243;</span></em></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li> <strong>Courier New</strong>
<ul>
<li><em><span style="color: #800000;"><em>@&#8221;</em>CourierNewPS-BoldMT&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>CourierNewPS-ItalicMT&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>CourierNewPS-BoldItalicMT&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>CourierNewPSMT&#8221;</span></em></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li> <strong>Zapfino</strong>
<ul>
<li><em><span style="color: #800000;"><em>@&#8221;</em>Zapfino&#8221;</span></em></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li> <strong>Arial Unicode MS</strong>
<ul>
<li><em><span style="color: #800000;"><em>@&#8221;</em>ArialUnicodeMS&#8221;</span></em></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li> <strong>STHeiti SC</strong>
<ul>
<li><em><span style="color: #800000;"><em>@&#8221;</em>STHeitiSC-Medium&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>STHeitiSC-Light&#8221;</span></em></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li> <strong>American Typewriter</strong>
<ul>
<li><em><span style="color: #800000;"><em>@&#8221;</em>AmericanTypewriter&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>AmericanTypewriter-Bold&#8221;</span></em></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li> <strong>Helvetica</strong>
<ul>
<li><em><span style="color: #800000;"><em>@&#8221;</em>Helvetica-Oblique&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>Helvetica-BoldOblique&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>Helvetica&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>Helvetica-Bold&#8221;</span></em></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li> <strong>Marker Felt</strong>
<ul>
<li><em><span style="color: #800000;"><em>@&#8221;</em>MarkerFelt-Thin&#8221;</span></em></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li> <strong>Helvetica Neue</strong>
<ul>
<li><em><span style="color: #800000;"><em>@&#8221;</em>HelveticaNeue&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>HelveticaNeue-Bold&#8221;</span></em></li>
<li></li>
</ul>
</li>
<li> <strong>DB LCD Temp</strong>
<ul>
<li><em><span style="color: #800000;"><em>@&#8221;</em>DBLCDTempBlack&#8221;</span></em></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li> <strong>Verdana</strong>
<ul>
<li><em><span style="color: #800000;"><em>@&#8221;</em>Verdana-Bold&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>Verdana-BoldItalic&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>Verdana&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>Verdana-Italic&#8221;</span></em></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li> <strong>Times New Roman</strong>
<ul>
<li><em><span style="color: #800000;"><em>@&#8221;</em>TimesNewRomanPSMT&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>TimesNewRomanPS-BoldMT&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>TimesNewRomanPS-BoldItalicMT&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>TimesNewRomanPS-ItalicMT&#8221;</span></em></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li> <strong>Georgia</strong>
<ul>
<li><em><span style="color: #800000;"><em>@&#8221;</em>Georgia-Bold&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>Georgia&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>Georgia-BoldItalic&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>Georgia-Italic&#8221;</span></em></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li> <strong>STHeiti J</strong>
<ul>
<li><em><span style="color: #800000;"><em>@&#8221;</em>STHeitiJ-Medium&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>STHeitiJ-Light&#8221;</span></em></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li> <strong>Arial Rounded MT Bold</strong>
<ul>
<li><em><span style="color: #800000;"><em>@&#8221;</em>ArialRoundedMTBold&#8221;</span></em></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li> <strong>Trebuchet MS</strong>
<ul>
<li><em><span style="color: #800000;"><em>@&#8221;</em>TrebuchetMS-Italic&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>TrebuchetMS&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>Trebuchet-BoldItalic&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>TrebuchetMS-Bold&#8221;</span></em></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li> <strong>STHeiti K</strong>
<ul>
<li><em><span style="color: #800000;"><em>@&#8221;</em>STHeitiK-Medium&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>STHeitiK-Light&#8221;</span></em></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li><strong>Helvetica</strong>
<ul>
<li><em><span style="color: #800000;"><em>@&#8221;</em>Helvetica-Oblique&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>Helvetica-BoldOblique&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>Helvetica&#8221;</span></em></li>
<li><em><span style="color: #800000;"><em>@&#8221;</em>Helvetica-Bold&#8221;</span></em></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li><strong>Marker Felt</strong>
<ul>
<li><em><span style="color: #800000;"><em>@&#8221;</em>MarkerFelt-Thin&#8221;</span></em></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li><strong>AppleGothic</strong>
<ul>
<li><span style="color: #800000;"><em><em>@&#8221;</em>AppleGothic&#8221;</em></span></li>
</ul>
</li>
</ul>
<div> </div>
<div><span style="color: #800000;"><span style="color: #000000;">Ya sabéis, cualquier cosa que queráis compartir para el listado de fuentes u otros posts, adelante, lo pondré con gusto.</span></span></div>
<div> </div>
<div><span style="color: #800000;"><span style="color: #000000;"><em>No olvidéis votarnos en los <a title="Apprendemos.com - Candidatos a los Premios Bitácoras 2012 en Educación y Tecnología" href="http://bitacoras.com/premios12/votar/05975cee5f345dfdc7a82f8abab14d2fc7a52b61" target="_blank">Premios Bitácoras 2012, si nos considerais aptos para ello. Participamos en Educación y Tecnología desde aquí.</a></em></span></span></div>
<div> </div>
<div><a title="Apprendemos.com - Candidatos a los Premios Bitácoras 2012 en Educación y Tecnología" href="http://bitacoras.com/premios12/votar/05975cee5f345dfdc7a82f8abab14d2fc7a52b61" target="_blank"><img class="aligncenter" title="Votar a Apprendemos.com en los Premios Bitacoras.com" src="http://www.apprendemos.com/wp-content/uploads/2012/10/Premios-Bitacoras-2012-Apprendemos.com_.png" alt="Votar a Apprendemos.com en los Premios Bitacoras.com" border="0" /></a></div>
<div> </div>
<div> </div>
<div><span style="color: #800000;"><span style="color: #000000;"><em><br /></em></span></span></div>
<div class="shr-publisher-1376"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><a href="http://clk.tradedoubler.com/click?p= 192623&a=2172818&g= 20628704" target="_BLANK"><img src="http://impes.tradedoubler.com/imp?type(img)g(20628704)a(2172818)00" border=0></a>]]></content:encoded>
			<wfw:commentRss>http://www.apprendemos.com/tutoriales/ios/uifont-lista-fuentes-iphone/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nuevo iPad Mini el próximo 2 de Noviembre</title>
		<link>http://www.apprendemos.com/noticias/dispositivos/apple/nuevo-ipad-mini-el-proximo-2-de-noviembre</link>
		<comments>http://www.apprendemos.com/noticias/dispositivos/apple/nuevo-ipad-mini-el-proximo-2-de-noviembre#comments</comments>
		<pubDate>Tue, 23 Oct 2012 23:21:54 +0000</pubDate>
		<dc:creator>ManuAlamar</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[apple ipad]]></category>
		<category><![CDATA[comprar ipad mini]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[ipad 4g]]></category>
		<category><![CDATA[ipad cuarta generacion]]></category>
		<category><![CDATA[ipad mini]]></category>
		<category><![CDATA[keynote 2012]]></category>
		<category><![CDATA[keynote octubre 2012]]></category>
		<category><![CDATA[reservar ipad mini]]></category>

		<guid isPermaLink="false">http://www.apprendemos.com/?p=1364</guid>
		<description><![CDATA[Desde el primer iPad la gente viene reclamando y sobre todo, rumoreando a cerca del nuevo modelo mini. Sin embargo los últimos meses los rumores han ido mostrando uno a uno todos los componentes del nuevo dispositivo que hoy por fin ha visto la luz en la keynote de Apple. El iPad mini estará disponible [...]]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><div class="shr-publisher-1364"></div><p>Desde el primer <strong>iPad</strong> la gente viene reclamando y sobre todo, <strong>rumoreando</strong> a cerca del <strong>nuevo modelo mini</strong>. Sin embargo los últimos meses los rumores han ido mostrando uno a uno todos los componentes del nuevo dispositivo que hoy por fin ha visto la luz en la <strong>keynote de Apple</strong>.</p>
<p><span style="color: #800000;"><em><strong>El</strong></em><em><strong> iPad mini estará disponible en España el próximo 2 de Noviembre de 2012.</strong></em></span></p>
<p>El primer <strong>iPad</strong> salió hace <strong>10 años</strong>, hoy hace <strong>11 del primer iPod</strong>, y aunque por aquel entonces a muchos les costó entender el significado, toda marca que se precie se ha unido al desarrollo de estos dispositivos.</p>
<p>El <strong>iPad Mini </strong>surge para cubrir dos puntos clave, uno el hecho de aquellos que buscan un tablet mucho más manejable, pues a todos nos gusta ir a todas partes con él, y el actual <strong>iPad</strong> se hacia de rogar a la hora de llevarlo por ejemplo en el metro.</p>
<p>La otra para enfrentarse un poco al resto de compañías como son <strong>Google, Amazon y Microsoft</strong> que empiezan a crecer notablemente en un mercado algo más económico y que al final, mueve cifras muy temibles para la compañía de <strong>Cupertino</strong>.</p>
<p>&nbsp;</p>
<p><a href="http://www.apprendemos.com/wp-content/uploads/2012/10/design.png"><img class="wp-image-1369 aligncenter" title="Nuevo iPad Mini - Apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/10/design.png" alt="Nuevo iPad Mini - Apprendemos.com" width="463" height="344" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>El nuevo <strong>iPad Mini</strong> tiene un <strong>grosor de 7.2 mm</strong> y pesa tan solo<strong> 308 gramos</strong>.</p>
<p>La <strong>pantalla</strong>, la que lo hace <strong>Mini</strong>, es <strong>de 7,9 pulgadas</strong> y una resolucion de <strong>1024 x 768 pixels</strong>.</p>
<p>En la <strong>Keynote</strong> no ha podido faltar una comparación con el <strong>Nexus 7 de Google</strong> del que ya os hemos hablado en alguna ocasión. Entre otras cosas, en la keynote se ha mencionado que pese a tener una dimensión similar, <strong>la pantalla del iPad Mini es más grande</strong>, y por supuesto se vuelve a hacer incapie en la <strong>diferencia entre el plástico de Google y el aluminio satinado de Apple</strong>.</p>
<p>&nbsp;</p>
<p><a href="http://www.apprendemos.com/wp-content/uploads/2012/10/mighty.png"><img class="alignnone  wp-image-1370" title="Nuevo iPad Mini - Apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/10/mighty.png" alt="Nuevo iPad Mini - Apprendemos.com" width="493" height="269" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Si bien a muchos no les ha gustado demasiado las características técnicas, creemos que son las esperadas para un dispositivo de menor coste que el <strong>iPad</strong> padre. </p>
<ul>
<li>Chip A5, al igual que el iPhone 4S y el iPad 2P</li>
<li>Procesador Dual Core de 1 Ghz.</li>
<li>Cámara trasera de 5 Mpx </li>
<li>Cámara frontal HD para FaceTime.</li>
<li><strong>Conexión LTE</strong></li>
<li><strong>Nuevo conector Lightning</strong></li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Y el video oficial del <strong>nuevo iPad Mini</strong>:</p>
<p>&nbsp;</p>
<p><object width="848" height="480" classid="clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b" codebase="http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0"><param name="src" value="http://movies.apple.com/media/es/ipad-mini/2012/30ba527a-1a34-3f70-aae8-14f87ab76eea/feature/ipadmini-feature-es-20121023_r848-9dwc.mov?width=848&amp;height=480" /><embed width="848" height="480" type="video/quicktime" src="http://movies.apple.com/media/es/ipad-mini/2012/30ba527a-1a34-3f70-aae8-14f87ab76eea/feature/ipadmini-feature-es-20121023_r848-9dwc.mov?width=848&amp;height=480" /></object></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Así que ya sabeis, os está esperando.</p>
<p>&nbsp;</p>
<p>A todos los que lo compreis, no olvideis comentarnos en los comentario lo que os ha parecido para que todos estemos al tanto.</p>
<p>&nbsp;</p>
<p>Si os gusta lo que hacemos recordar <span style="color: #333399;"><em><strong><a title="Votar por Apprendemos.com en los premios bitacoras" href="http://bitacoras.com/premios12/votar/05975cee5f345dfdc7a82f8abab14d2fc7a52b61" target="_blank"><span style="color: #333399;">votarnos en los Premios Bitacoras 2012 desde este link</span></a></strong></em></span>.</p>
<p>Participamos en las categorías de <strong>Educación</strong> y <strong>Tecnología</strong>.</p>
<p>Las <strong>clasificaciones</strong> actuales nos sitúan en:</p>
<ul>
<li><span style="color: #008000;"><strong>Puesto 70 en la clasificación de Educación 2012</strong></span></li>
<li><span style="color: #008000;"><strong>Puesto 93 en la clasificación de Tecnología 2012</strong></span></li>
</ul>
<p>Ambas posiciones son toda una alegría para nosotros ya que <strong>empezamos hace apenas 3 meses</strong> y <strong>la acogida por vuestra parte ha sido todo un éxito</strong>.</p>
<p>Para nosotros es un placer ver que lo que hacemos tiene sentido para vosotros.</p>
<p>&nbsp;</p>
<p>Así que ánimo, <strong>votar</strong>, comentar y programar!</p>
<p>&nbsp;</p>
<p>Saludos,</p>
<p>Manu =D</p>
<p>&nbsp;</p>
<div class="shr-publisher-1364"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><a href="http://clk.tradedoubler.com/click?p= 192623&a=2172818&g= 20628704" target="_BLANK"><img src="http://impes.tradedoubler.com/imp?type(img)g(20628704)a(2172818)31" border=0></a>]]></content:encoded>
			<wfw:commentRss>http://www.apprendemos.com/noticias/dispositivos/apple/nuevo-ipad-mini-el-proximo-2-de-noviembre/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://movies.apple.com/media/es/ipad-mini/2012/30ba527a-1a34-3f70-aae8-14f87ab76eea/feature/ipadmini-feature-es-20121023_r848-9dwc.mov?width=848&amp;amp" length="433" type="video/quicktime" />
		</item>
		<item>
		<title>Tutorial HTML5 &#8211; Canvas: Dibujar formas o polígonos</title>
		<link>http://www.apprendemos.com/tutoriales/html5-y-css3/canvas-crear-y-combinar-formas</link>
		<comments>http://www.apprendemos.com/tutoriales/html5-y-css3/canvas-crear-y-combinar-formas#comments</comments>
		<pubDate>Fri, 19 Oct 2012 09:41:18 +0000</pubDate>
		<dc:creator>ManuAlamar</dc:creator>
				<category><![CDATA[HTML5 y CSS3]]></category>
		<category><![CDATA[canvas poligonos]]></category>
		<category><![CDATA[dibujar canvas]]></category>
		<category><![CDATA[dibujar html]]></category>
		<category><![CDATA[diseño web]]></category>
		<category><![CDATA[logo html5]]></category>
		<category><![CDATA[poligonos html]]></category>
		<category><![CDATA[tutorial canvas]]></category>
		<category><![CDATA[tutorial canvas html5]]></category>
		<category><![CDATA[tutorial css3]]></category>
		<category><![CDATA[tutorial html5]]></category>
		<category><![CDATA[tutorial web]]></category>
		<category><![CDATA[tutoriales web]]></category>

		<guid isPermaLink="false">http://www.apprendemos.com/?p=1330</guid>
		<description><![CDATA[Hoy os traemos un nuevo tutorial de HTML5. Entre otras características, HTML5 destaca por el enorme potencial del nuevo elemento Canvas. El elemento Canvas es un entorno para crear imágenes de forma dinámica. Para crear una sección o elemento de cambas basta con crear su etiqueta y definir una dimensión. Si insertamos cualquier elemento entre [...]]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><div class="shr-publisher-1330"></div><p>Hoy os traemos un nuevo tutorial de <b>HTML5</b>.</p>
<p>Entre otras características, <b>HTML5</b> destaca por el enorme potencial del nuevo elemento <b>Canvas</b>.</p>
<p>El elemento <b>Canvas</b> es un entorno para crear imágenes de forma dinámica. Para crear una sección o elemento de cambas basta con crear su etiqueta y definir una dimensión.</p>
<p>Si insertamos cualquier elemento entre las etiquetas del <b>canvas</b>, únicamente será visualizado por aquellos navegadores que no soportan el <b>Canvas o HTML5</b>.</p>
<p>Esto es útil ya que podemos definir un texto por defecto para los que no ven el canvas, a la vez que para los que sí, mostramos la imágen dinámica.</p>
<p>Todo el proceso de dibujado se hace en <b>JavaScript</b>. Lo único que necesitamos es recuperar el elemento <b>Canvas</b> y obtener su contexto. </p>
<p>El <b>API 2D</b> permite utilizar características que encontramos de normal en herramientas de diseño gráfico: <i>líneas o trazos, rellenos, gradientes, formas, sombras, etc.</i></p>
<p>No obstante todo esto debe realizarse lógicamente por código. Es algo lento de crear hasta que vamos cogiendo habilidad.</p>
<p>Para este tutorial vamos a crear al completo el logo de <a href="http://www.twitter.com/apprendemos">Apprendemos.com</a> que utilizamos en las webs o en <a href="http://www.twitter.com/apprendemos">twitter</a>.</p>
<p style="text-align: center;"><img class="alignnone  wp-image-1298" title="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/10/Apprendemos_HTML5_Canvas_Tutorial_0.png" alt="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" width="276" /></p>
<p>Empezaremos creando el cuadrado azul sin redondear los bordes para que quede claro el uso. Después pasaremos a crearlo con los correspondientes bordes.</p>
<p>Una vez hecho, insertaremos una serie de formas, así como el texto necesario. </p>
<p>Y por último el efecto lúcido (gloss) típico de aplicaciones <b>iOS</b>.</p>
<p>Vamos a ello.  </p>
<p>Creamos un documento <b>HTML </b>con la siguiente estructura en el body:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;body&gt;
    &lt;canvas id=&quot;polygons&quot; width=&quot;300&quot; height=&quot;300&quot;&gt;
        &lt;p&gt;Su navegador no soporta HTML5&lt;/p&gt;
        &lt;/canvas&gt;
&lt;/body&gt;</pre></div></div>

<p>Como vemos hemos añadido el elemento <b><canvas></b> dentro del. Este elemento es el encargado de mostrar lo que definamos mediante <b>JavaScript</b>.</p>
<p>Pasamos a añadir el evento <b>OnLoad</b> aly su correspondiente función <b>JavaScript</b>:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;"> &lt;body onLoad=&quot;simpleCanvas();&quot;&gt;</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">        <span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;application/x-javascript&quot;</span><span style="color: #339933;">&gt;</span>
            <span style="color: #003366; font-weight: bold;">function</span> simpleCanvas<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
                <span style="color: #009966; font-style: italic;">/* Recuperamos el canvas */</span>
                <span style="color: #003366; font-weight: bold;">var</span> canvas <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;polygons&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>canvas.<span style="color: #660066;">getContext</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
                    <span style="color: #009966; font-style: italic;">/* Obtenemos el contexto plano (2d) */</span>
                    <span style="color: #003366; font-weight: bold;">var</span> ctx <span style="color: #339933;">=</span> canvas.<span style="color: #660066;">getContext</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;2d&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    <span style="color: #009966; font-style: italic;">/* Establecemos el valor RGB del primer polígono */</span>
                    ctx.<span style="color: #660066;">fillStyle</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;rgb(41,155,243)&quot;</span><span style="color: #339933;">;</span>
&nbsp;
                    <span style="color: #009966; font-style: italic;">/* Con fillRect crearemos un rectangulo los numeros correscponden:  */</span>
                    <span style="color: #009966; font-style: italic;">/* los 2 primeros a las coordenadas y los otros tamaño (x,y,ancho,alto)  */</span>
&nbsp;
&nbsp;
                    ctx.<span style="color: #660066;">fillRect</span> <span style="color: #009900;">&#40;</span><span style="color: #CC0000;">10</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">180</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">180</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
                <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">        &lt;canvas id=&quot;polygons&quot; width=&quot;300&quot; height=&quot;300&quot;&gt;
            &lt;p&gt;Su navegador no soporta HTML5&lt;/p&gt;
        &lt;/canvas&gt;
    &lt;/body&gt;</pre></div></div>

<p>Si probamos los resultados en el navegador podremos ver el cuadrado creado de color azul. Para probar que se muestra el mensaje en caso de no ser compatible, lo más fácil en probar con alguna versión de Internet Explorer, ya que será de las más fáciles en ser incompatible con cualquier cosa =p</p>
<p style="text-align: center;"><img class="alignnone  wp-image-1298" title="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/10/Apprendemos_HTML5_Canvas_Tutorial_1.png" alt="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" width="276" /></p>
<p>Una vez hemos visto el uso del FillRect(), la parte más fácil y común de Canvas, lo vamos a sustituir para crear el mismo fondo con sus bordes redondeados.</p>
<p>Para ello debemos parar a explicar las siguientes funciones de <b>HTML5</b> de forma breve pero necesaria.</p>
<p><b>fill(); </b> Sirve para dibujar el relleno del polígono que hemos definido.</p>
<p><b>stroke(); </b> Sirve para dibujar el trazo del polígono definido.</p>
<p><b>fillStyle = &#8220;rgb(41,155,243)&#8221;; </b> Define un color RGB para el dibujo.</p>
<p><b>fillStyle = &#8220;rgba(255, 255, 255, 1.0)&#8221;; </b> Define un color RGB para el dibujo, pero con canal alfa, es decir, habilitando transparencia.</p>
<p><b>beginPath(); </b> comienza un nuevo polígono, del que una vez definido, podremos dibujar el trazo (stroke) o el relleno (fill).</p>
<p><b>moveTo(x, y); </b> Permite desplazar el punto desde el que se pinta, o se sigue pintando a a posición deseada.</p>
<p><b>lineTo(x, y); </b> Dibuja una linea desde la posición actual hasta la indicada por x e y.</p>
<p><b>quadraticCurveTo(x_curva, y_curva, x_destino, y_destino); </b> Permite crear una <b>curva de Bézier</b>. El origen de la curva, será el punto actual en el que nos encontremos.</p>
<p>El destino estará marcado por x_destino, y_destino. X_curva y Y_Curva será el punto hacía el que la linea se desvía realizando entonces la curva deseada.</p>
<p style="text-align: center;"><img class="alignnone  wp-image-1298" title="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/10/Apprendemos_HTML5_Canvas_Tutorial_12.png" alt="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" width="276" /></p>
<p> Una vez conocidas estas herramientas, pasaremos a utilizarlas para crear nuestro fondo:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"> <span style="color: #003366; font-weight: bold;">function</span> simpleCanvas<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
       <span style="color: #009966; font-style: italic;">/* Recuperamos el canvas */</span>
       <span style="color: #003366; font-weight: bold;">var</span> canvas <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;polygons&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
&nbsp;
                <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>canvas.<span style="color: #660066;">getContext</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #009966; font-style: italic;">/* Obtenemos el contexto plano (2d) */</span>
                <span style="color: #003366; font-weight: bold;">var</span> ctx <span style="color: #339933;">=</span> canvas.<span style="color: #660066;">getContext</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;2d&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                <span style="color: #009966; font-style: italic;">/* Establecemos el valor RGB del primer polígono */</span>
                ctx.<span style="color: #660066;">fillStyle</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;rgb(41,155,243)&quot;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
                    <span style="color: #006600; font-style: italic;">// Comenzamos un trazo</span>
                    ctx.<span style="color: #660066;">beginPath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
&nbsp;
                    <span style="color: #006600; font-style: italic;">// Desplazamos el punto a la posición 10,10</span>
                    ctx.<span style="color: #660066;">moveTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">10</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
&nbsp;
                    <span style="color: #006600; font-style: italic;">// Dibujamos una línea horizontal parando 25px antes de el vértice del cuadrado.</span>
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">165</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
&nbsp;
                    <span style="color: #006600; font-style: italic;">// Aquí será donde empiece la superior derecha.</span>
&nbsp;
                    <span style="color: #006600; font-style: italic;">// Desde el punto anterior, definimos como primer parámetro de quadraticCurveto el vértice del cuadrado (hacia donde irá la curva de Bézier).</span>
&nbsp;
                    <span style="color: #006600; font-style: italic;">// Y como punto destino, el punto 25px por debajo del vértice.</span>
&nbsp;
                    ctx.<span style="color: #660066;">quadraticCurveTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">190</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">190</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">35</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
&nbsp;
                    <span style="color: #006600; font-style: italic;">// Repetimos el proceso. </span>
&nbsp;
                    <span style="color: #006600; font-style: italic;">// Dibujamos una línea hasta 25px antes del vértice inferior derecha.</span>
&nbsp;
                    <span style="color: #006600; font-style: italic;">// Como vemos estamos dibujando el cuadrado en sentido de las agujas del reloj.</span>
&nbsp;
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">190</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">165</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    <span style="color: #006600; font-style: italic;">// Dibujamos la siguiente curva.</span>
&nbsp;
                    ctx.<span style="color: #660066;">quadraticCurveTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">190</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">190</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">165</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">190</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
&nbsp;
                    <span style="color: #006600; font-style: italic;">// Y repetimos con los otros dos vértices:</span>
&nbsp;
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">35</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">190</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">quadraticCurveTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">10</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">190</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">165</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">10</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">35</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">quadraticCurveTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">10</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">35</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
&nbsp;
                    <span style="color: #006600; font-style: italic;">// Por último pintamos el resultado</span>
&nbsp;
                    ctx.<span style="color: #660066;">fill</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                <span style="color: #009900;">&#125;</span>
&nbsp;
            <span style="color: #009900;">&#125;</span></pre></div></div>

<p>Probaremos en el navegador que el resultado es el deseado. Podemos ver el fondo azul redondeado.</p>
<p style="text-align: center;"><img class="alignnone  wp-image-1298" title="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/10/Apprendemos_HTML5_Canvas_Tutorial_2.png" alt="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" width="276" /></p>
<p>La función <b>arc()</b> se utiliza para crear arcos, es decir, circunferencias completas o incompletas (una tarta sin una porción^^).</p>
<p style="text-align: center;"><img class="alignnone  wp-image-1298" title="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/10/Apprendemos_HTML5_Canvas_Tutorial_11.png" alt="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" width="276" /></p>
<p>Por tanto, a continuación de <b>&#8220;ctx.fill();&#8221;</b> que acabamos de hacer, añadimos el siguiente fragmento para crear los 4 puntos blancos de arriba y abajo del logo.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">&nbsp;
                <span style="color: #009966; font-style: italic;">/* Damos color igual que en el anterios pero esta vez */</span>
&nbsp;
                    <span style="color: #009966; font-style: italic;">/*&quot;rgba&quot; añadiendo un numero más */</span>
&nbsp;
                    <span style="color: #009966; font-style: italic;">/*que en este caso serrá la transparencia */</span>
&nbsp;
                    ctx.<span style="color: #660066;">fillStyle</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;rgba(255, 255, 255, 1.0)&quot;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
&nbsp;
                    <span style="color: #006600; font-style: italic;">// Superior primero</span>
&nbsp;
                    ctx.<span style="color: #660066;">beginPath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">arc</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">110</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">25</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">5</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> Math.<span style="color: #660066;">PI</span><span style="color: #339933;">*</span><span style="color: #CC0000;">2</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">fill</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
&nbsp;
                    <span style="color: #006600; font-style: italic;">// Superior segundo</span>
&nbsp;
                    ctx.<span style="color: #660066;">beginPath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">arc</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">135</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">25</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">7</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> Math.<span style="color: #660066;">PI</span><span style="color: #339933;">*</span><span style="color: #CC0000;">2</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">fill</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
                    <span style="color: #006600; font-style: italic;">// Inferior primero</span>
&nbsp;
                    ctx.<span style="color: #660066;">beginPath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">arc</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">65</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">175</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">7</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> Math.<span style="color: #660066;">PI</span><span style="color: #339933;">*</span><span style="color: #CC0000;">2</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">fill</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
&nbsp;
                    <span style="color: #006600; font-style: italic;">// Inferior segundo</span>
&nbsp;
                    ctx.<span style="color: #660066;">beginPath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">arc</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">90</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">175</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">5</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> Math.<span style="color: #660066;">PI</span><span style="color: #339933;">*</span><span style="color: #CC0000;">2</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">fill</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p style="text-align: center;"><img class="alignnone  wp-image-1298" title="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/10/Apprendemos_HTML5_Canvas_Tutorial_3.png" alt="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" width="276" /></p>
<p>Ahora vamos a <b>dibujar los polígonos</b> en forma de L de las dos esquinas.</p>
<p>Aquí utilizaremos <b>closePath()</b> que lo que hará es unir el punto original coń el último añadido de forma que el polígono siempre cierre.</p>
<p>Esto no es necesario porque podemos poner el último punto igual que el primero, quedando también cerrado.</p>
<p>A continuación de lo anterior, ponemos lo siguiente:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">                    ctx.<span style="color: #660066;">beginPath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">moveTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">150</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">19</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">150</span><span style="color: #339933;">,</span><span style="color: #CC0000;">31</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">170</span><span style="color: #339933;">,</span><span style="color: #CC0000;">31</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">170</span><span style="color: #339933;">,</span><span style="color: #CC0000;">54</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">182</span><span style="color: #339933;">,</span><span style="color: #CC0000;">54</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">182</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">31</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">182</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">19</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">closePath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">fill</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
                    ctx.<span style="color: #660066;">beginPath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">moveTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">18</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">150</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">30</span><span style="color: #339933;">,</span><span style="color: #CC0000;">150</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">30</span><span style="color: #339933;">,</span><span style="color: #CC0000;">169</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">51</span><span style="color: #339933;">,</span><span style="color: #CC0000;">169</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">51</span><span style="color: #339933;">,</span><span style="color: #CC0000;">181</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">18</span><span style="color: #339933;">,</span><span style="color: #CC0000;">181</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">closePath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">fill</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Como vemos este punto también era facil. </p>
<p style="text-align: center;"><img class="alignnone  wp-image-1298" title="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/10/Apprendemos_HTML5_Canvas_Tutorial_4.png" alt="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" width="276" /></p>
<p>Ahora pondremos las letras &#8220;App&#8221; en el centro. Insertar texto también es muy facil. Seguido de lo anterior pondremos este fragmento:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">&nbsp;
                    <span style="color: #006600; font-style: italic;">// Definimos una fuente y un tamaño de letra.</span>
&nbsp;
                    ctx.<span style="color: #660066;">font</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'90px sans-serif'</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
&nbsp;
                    <span style="color: #006600; font-style: italic;">// Podemos establecer la alineación base.</span>
&nbsp;
                    ctx.<span style="color: #660066;">textBaseline</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'bottom'</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
&nbsp;
                    <span style="color: #006600; font-style: italic;">// Y solo queda utilizar fillText para definir el texto a mostrar y la posición de origen.</span>
&nbsp;
                    ctx.<span style="color: #660066;">fillText</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'App'</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">20</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">140</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p style="text-align: center;"><img class="alignnone  wp-image-1298" title="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/10/Apprendemos_HTML5_Canvas_Tutorial_5.png" alt="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" width="276" /></p>
<p>El resultado ya empieza a parecerse bastante al logo de <a href="http://www.twitter.com/apprendemos">Apprendemos.com</a>, pero todavía quedará añadir nuestro <b>iPhone</b> y el efecto gloss sobre el logo.</p>
<p>Comencemos por el <b>efecto gloss</b> que no afecta a toda la imagen, y por tanto, no importa si el <b>iPhone</b> lo insertamos después.</p>
<p>Si nos fijamos en la forma. La parte superior debe tener la misma forma que el fondo azul, es decir, utilizaremos sus curvas.</p>
<p>La parte inferior va a terminar antes y con una más pronunciada. En este caso en vez de hacerla con una diferencia de 25px, </p>
<p>la haremos directamente hasta el centro (95px) para que una curva termine donde empieza la otra, dándonos la impresión de ser una sola.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">                    ctx.<span style="color: #660066;">fillStyle</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;rgba(180, 218, 246, 0.3)&quot;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
&nbsp;
                    ctx.<span style="color: #660066;">beginPath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">moveTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">10</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">165</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">quadraticCurveTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">190</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">190</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">35</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">190</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">75</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">quadraticCurveTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">190</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">100</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">100</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">100</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">quadraticCurveTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">10</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">100</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">75</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">10</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">35</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">quadraticCurveTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">10</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">35</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">fill</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p style="text-align: center;"><img class="alignnone  wp-image-1298" title="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/10/Apprendemos_HTML5_Canvas_Tutorial_6.png" alt="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" width="276" /></p>
<p>Y solo nos queda dibujar nuestro <b>iPhone</b>.</p>
<p>Comenzaremos por la capa inferior para ir superponiendo el resto.</p>
<p>Primero creamos la carcasa del <b>iPhone</b>:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">&nbsp;
                    <span style="color: #006600; font-style: italic;">//Carcasa iPhone</span>
&nbsp;
                    ctx.<span style="color: #660066;">fillStyle</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;rgba(0, 0, 0, 1.0)&quot;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
&nbsp;
                    ctx.<span style="color: #660066;">beginPath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">moveTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">110</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">150</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">186</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">150</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">quadraticCurveTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">196</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">150</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">196</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">160</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">196</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">186</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">quadraticCurveTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">196</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">196</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">186</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">196</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">120</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">196</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">quadraticCurveTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">110</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">196</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">110</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">186</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">110</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">160</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">quadraticCurveTo</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">110</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">150</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">120</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">150</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">fill</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p style="text-align: center;"><img class="alignnone  wp-image-1298" title="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/10/Apprendemos_HTML5_Canvas_Tutorial_7.png" alt="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" width="276" /></p>
<p>Después la pantalla:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">                    <span style="color: #006600; font-style: italic;">// Pantalla iPhone</span>
&nbsp;
                    ctx.<span style="color: #660066;">fillStyle</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;rgb(41,155,243)&quot;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">fillRect</span> <span style="color: #009900;">&#40;</span><span style="color: #CC0000;">129</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">158</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">50</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p style="text-align: center;"><img class="alignnone  wp-image-1298" title="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/10/Apprendemos_HTML5_Canvas_Tutorial_8.png" alt="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" width="276" /></p>
<p>Añadimos el botón, que hará de punto de &#8220;.com&#8221;:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">                    <span style="color: #006600; font-style: italic;">// Botón iPhone</span>
&nbsp;
                    ctx.<span style="color: #660066;">fillStyle</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;rgba(255, 255, 255, 1.0)&quot;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">beginPath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">arc</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">120</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">173.5</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">4</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> Math.<span style="color: #660066;">PI</span><span style="color: #339933;">*</span><span style="color: #CC0000;">2</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">fill</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p style="text-align: center;"><img class="alignnone  wp-image-1298" title="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/10/Apprendemos_HTML5_Canvas_Tutorial_9.png" alt="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" width="276" /></p>
<p>Y para terminar, el texto &#8220;com&#8221; final:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">                    <span style="color: #006600; font-style: italic;">// Texto &quot;com&quot;</span>
&nbsp;
                    ctx.<span style="color: #660066;">font</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'22px sans-serif'</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">textBaseline</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'bottom'</span><span style="color: #339933;">;</span>
&nbsp;
                    ctx.<span style="color: #660066;">fillText</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'com'</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">134</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">183.7</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Si probamos el resultado en nuestro navegador deberíamos observar una imagen como esta:</p>
<p style="text-align: center;"><img class="alignnone  wp-image-1298" title="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/10/Apprendemos_HTML5_Canvas_Tutorial_10.png" alt="Tutorial Canvas HTML5 Crear formas y poligonos - apprendemos.com" width="276" /></p>
<p>Esperamos que os haya gustado el <b>tutorial de como crear formas y polígonos en Canvas de HTML5</b>, y sobre todo, que os haya sido útil.</p>
<p><b><i>No olvideis ayudarnos con vuestro voto en Bitacoras.com Participamos en las categorías de Tecnología y Educación.</i></b></p>
<p>Sería un placer estar en las listas de clasificados. La motivación a seguir adelante con los tutoriales sería muy grande.</p>
<p>Como siempre, dudas y comentarios de bajo del <b>tutorial</b>.</p>
<p>Y mucho más en <a href="http://www.twitter.com/apprendemos">Twitter (@Apprendemos)</a> y  <a href="http://www.facebook.com/pages/Apprendemoscom/483034248376814">Facebook.</a></p>
<p>Saludos,</p>
<p>Manu =D</p>
<div class="shr-publisher-1330"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><a href="http://clk.tradedoubler.com/click?p= 192623&a=2172818&g= 20628704" target="_BLANK"><img src="http://impes.tradedoubler.com/imp?type(img)g(20628704)a(2172818)94" border=0></a>]]></content:encoded>
			<wfw:commentRss>http://www.apprendemos.com/tutoriales/html5-y-css3/canvas-crear-y-combinar-formas/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tutorial: App iOS completa &#8211; Código Postal en AppStore</title>
		<link>http://www.apprendemos.com/tutoriales/ios/codigo-postal-aplicacion-completa-disponible-en-appstore</link>
		<comments>http://www.apprendemos.com/tutoriales/ios/codigo-postal-aplicacion-completa-disponible-en-appstore#comments</comments>
		<pubDate>Mon, 08 Oct 2012 15:57:20 +0000</pubDate>
		<dc:creator>ManuAlamar</dc:creator>
				<category><![CDATA[iOS]]></category>
		<category><![CDATA[app completa]]></category>
		<category><![CDATA[app store]]></category>
		<category><![CDATA[appstore]]></category>
		<category><![CDATA[código postal]]></category>
		<category><![CDATA[codigopostal]]></category>
		<category><![CDATA[geocoding]]></category>
		<category><![CDATA[iads]]></category>
		<category><![CDATA[iPhone 5]]></category>
		<category><![CDATA[quartzcore]]></category>
		<category><![CDATA[tutorial iphone 5]]></category>

		<guid isPermaLink="false">http://www.apprendemos.com/?p=1183</guid>
		<description><![CDATA[&#160; &#160; !Bienvenidos a este tutorial especial que os hemos preparado! &#160; &#160; &#160; &#160; Hay dos motivos por los que puedes haber entrado en este tutorial: Desde la aplicación CódigoPostal, disponible en el AppStore Buscando un tutorial de: Geocoding: para encontrar una dirección a partir de coordenadas, o al revés. Animación de vistas con [...]]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><div class="shr-publisher-1183"></div><p>&nbsp;</p>
<p>&nbsp;</p>
<p>!Bienvenidos a este tutorial especial que os hemos preparado!</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Hay dos motivos por los que puedes haber entrado en este tutorial:</p>
<ul>
<li>Desde la aplicación <a title="Código Postal - App Store - Apprendemos.com - Manuel Alamar - JamalDols" href="http://itunes.apple.com/ES/app/id561556237?mt=8&amp;affId=2157527" target="_blank">CódigoPostal</a>, disponible en el <a title="Código Postal - App Store - Apprendemos.com - Manuel Alamar - JamalDols" href="http://itunes.apple.com/ES/app/id561556237?mt=8&amp;affId=2157527" target="_blank">AppStore</a></li>
<li>Buscando un tutorial de:
<ul>
<li><strong>Geocoding</strong>: para encontrar una dirección a partir de coordenadas, o al revés.</li>
<li><strong>Animación</strong> de vistas con <strong>QuartzCore</strong>.</li>
<li>Añadir <strong>publicidad</strong> de <strong>iAds</strong> a tu aplicación en iOS</li>
<li><strong>Adaptar una aplicación ya hecha al iPhone 5</strong></li>
</ul>
</li>
</ul>
<p>Iremos añadiendo poco a poco cada uno de estos tutoriales hasta completar la aplicación que hay publicada en<strong><a title="Código Postal - App Store - Apprendemos.com - Manuel Alamar - Pablo J. Dols" href="http://itunes.apple.com/ES/app/id561556237?mt=8&amp;affId=2157527" target="_blank"> este enlace del App Store</a></strong>.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-align: center;"><a href="http://itunes.apple.com/ES/app/id561556237?mt=8&amp;affId=2157527"><img class="wp-image-1292 aligncenter" title="Código Postal - Apprendemos.com - App Store by ManuAlamar &amp; JamalDols" src="http://www.apprendemos.com/wp-content/uploads/2012/10/Default-568h@2x.png" alt="Código Postal - Apprendemos.com - App Store by ManuAlamar &amp; JamalDols" width="307" height="546" /></a></p>
<p>&nbsp;</p>
<h4 style="text-align: left;"><a title="Código Postal - App Store - Apprendemos.com - Manuel Alamar - Pablo J. Dols" href="http://itunes.apple.com/ES/app/id561556237?mt=8&amp;affId=2157527" target="_blank">Código Postal</a></h4>
<p><strong>Código Postal</strong> es una aplicación creada para que podáis ver en que pocos pasos se puede tener una aplicación publicada en <strong>App Store,</strong> y que por mínimos que sean, generen beneficios.</p>
<p>En nuestro caso el beneficio es que una vez más <a title="Apprendemos.com - Tutoriales y noticias de apps móviles" href="http://www.apprendemos.com" target="_blank"><strong>Apprendemos.com</strong></a> llegue a todos vosotros por distintas vías.</p>
<p>Aquellos que todavía no la conozcan y descarguen del App Store el app Código Postal, se encontrarán con el enlace a este mismo tutorial, donde descubrirán como poder hacerla.</p>
<p>&nbsp;</p>
<p>La aplicación destaca por su simpleza.</p>
<p><strong>Hay dos formas de obtener el código postal deseado:</strong></p>
<p><strong>1. Obtener directamente el código postal de nuestra ubicación.</strong></p>
<p>Bastará pulsar el botón para localizar el código postal.</p>
<p>&nbsp;</p>
<p> <a href="http://itunes.apple.com/ES/app/id561556237?mt=8&amp;affId=2157527"><img class="alignnone  wp-image-1293" title="Código Postal - Apprendemos.com - App Store by ManuAlamar &amp; JamalDols" src="http://www.apprendemos.com/wp-content/uploads/2012/10/iPhone-1-.png.png" alt="Código Postal - Apprendemos.com - App Store by ManuAlamar &amp; JamalDols" width="276" height="415" /></a>   <a href="http://itunes.apple.com/ES/app/id561556237?mt=8&amp;affId=2157527"><img class="alignnone  wp-image-1294" title="Geocoding Código Postal - Apprendemos.com - App Store by ManuAlamar &amp; JamalDols" src="http://www.apprendemos.com/wp-content/uploads/2012/10/iPhone-4-.png.png" alt="Geocoding Código Postal - Apprendemos.com - App Store by ManuAlamar &amp; JamalDols" width="276" height="415" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>2. Obtener el Código Postal a partir de la dirección concreta  introducida.</strong></p>
<p>Deberemos poner como mínimo la calle y el municipio de donde deseamos saber el código postal. Así mismo ha de estar escrita correctamente. Una vez más, pulsamos el botón para que obtenga la dirección.</p>
<p style="text-align: center;"> <a href="http://itunes.apple.com/ES/app/id561556237?mt=8&amp;affId=2157527"><img class="alignnone  wp-image-1295" title="iPhone 5 Código Postal - Apprendemos.com - App Store by ManuAlamar &amp; JamalDols" src="http://www.apprendemos.com/wp-content/uploads/2012/10/iPhone5-0-.png.png" alt="iPhone 5 Código Postal - Apprendemos.com - App Store by ManuAlamar &amp; JamalDols" width="276" height="491" /></a>   <a href="http://itunes.apple.com/ES/app/id561556237?mt=8&amp;affId=2157527"><img class="alignnone  wp-image-1296" title="iPhone 5 Código Postal - Apprendemos.com - App Store by ManuAlamar &amp; JamalDols" src="http://www.apprendemos.com/wp-content/uploads/2012/10/iPhone5-1-.png.png" alt="iPhone 5 Código Postal - Apprendemos.com - App Store by ManuAlamar &amp; JamalDols" width="276" height="491" /></a></p>
<p style="text-align: center;"><a href="http://itunes.apple.com/ES/app/id561556237?mt=8&amp;affId=2157527"><img class="alignnone  wp-image-1297" title="iPhone 5 Código Postal - Apprendemos.com - App Store by ManuAlamar &amp; JamalDols" src="http://www.apprendemos.com/wp-content/uploads/2012/10/iPhone5-2-.png.png" alt="iPhone 5 Código Postal - Apprendemos.com - App Store by ManuAlamar &amp; JamalDols" width="276" height="491" /></a>   <a href="http://itunes.apple.com/ES/app/id561556237?mt=8&amp;affId=2157527"><img class="alignnone  wp-image-1298" title="iPhone 5 Código Postal - Apprendemos.com - App Store by ManuAlamar &amp; JamalDols" src="http://www.apprendemos.com/wp-content/uploads/2012/10/iPhone5-3-.png" alt="iPhone 5 Código Postal - Apprendemos.com - App Store by ManuAlamar &amp; JamalDols" width="276" height="491" /></a></p>
<p style="text-align: center;"><a href="http://itunes.apple.com/ES/app/id561556237?mt=8&amp;affId=2157527"><img class="wp-image-1300 aligncenter" title="iPhone 5 Código Postal - Apprendemos.com - App Store by ManuAlamar &amp; JamalDols" src="http://www.apprendemos.com/wp-content/uploads/2012/10/iPhone5-4-1.png1.png" alt="iPhone 5 Código Postal - Apprendemos.com - App Store by ManuAlamar &amp; JamalDols" width="276" height="491" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Muchos observaréis que en ciertos puntos no os georeferencia bien, o que si no ponéis una dirección precisa no os encuentra.</p>
<p>Para la aplicación utilizamos ciertos métodos de <strong>iOS</strong>, bastante más recientes que el <a title="The Google Geocoding API" href="https://developers.google.com/maps/documentation/geocoding/" target="_blank"><strong>Geocoding de Google</strong></a>. Es por esto que la precisión es algo inferior, y que no cuenta con la misma cantidad de información que por ahora, cuenta <strong>Google</strong>.</p>
<p>&nbsp;</p>
<p>Incluso el nombre de las calles acepta menos errores que <strong>Google</strong>.</p>
<p>Si ponemos <span style="color: #993300;"><em>Calle Pou del Marqués</em></span>, encontrará la que buscamos, sin embargo si ponemos <span style="color: #993300;"><em>Calle Pou Marques</em></span> no lo hará, a diferencia de <strong>Google</strong> que sí lo consigue.</p>
<p>Esperamos que este punto mejore y aún así estudiaremos, para futuros tutoriales, como hacer el mismo proceso desde <strong>Google</strong>.</p>
<p>&nbsp;</p>
<p>Si bien también es posible que al intentar recuperar la posición, el lugar en el que estemos no cuenta con código postal, como podría pasar en medio de la montaña, o en lugares en los que ni tan siquiera hay calles declaradas, puesto que estos sitios no hay código postal con la misma seguridad.</p>
<p>&nbsp;</p>
<p>El diseño de esta aplicación, así como el próximo diseño de <a title="¿AhoraQuién? - Manuel Alamar - Apprendemos.com - AppStore" href="http://itunes.apple.com/us/app/ahoraquien-hora-de-beber!/id509952297?l=es&amp;mt=8" target="_blank">¿AhoraQuién?</a> viene de la mano de <a href="http://twitter.com/JamalDols" target="_BLANK">@JamalDols</a>, creador de <a title="TuMenteCrea.es . Pablo Dols - JamalDols - Apprendemos.com" href="http://www.tumentecrea.es/" target="_blank">TuMenteCrea.es</a>, un gran diseñador y buen amigo, que siempre se ofrece a participar en nuevos proyectos.</p>
<p>&nbsp;</p>
<p> Esperamos que os guste esta nueva iniciativa de tutoriales con aplicación publicada.</p>
<p>&nbsp;</p>
<p>Podéis descargar el app de este pack de tutoriales desde aquí:</p>
<p style="text-align: center;"><iframe style="overflow-x: hidden; overflow-y: hidden; width: 325px; height: 330px; border: 0px;" src="http://widgets.itunes.apple.com/appstore.html?wtype=0&amp;app_id=561556237&amp;country=es&amp;partnerId=2003&amp;affiliate_id=2172818&amp;wh=330&amp;ww=325" frameborder="0" width="320" height="240"></iframe></p>
<p>&nbsp;</p>
<p>Nos gustaría conocer vuestra opinión aquí, en los comentarios.</p>
<p>&nbsp;</p>
<p>Saludos,</p>
<p>Manu =D </p>
<p>&nbsp;</p>
<div class="shr-publisher-1183"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><a href="http://clk.tradedoubler.com/click?p= 192623&a=2172818&g= 20628704" target="_BLANK"><img src="http://impes.tradedoubler.com/imp?type(img)g(20628704)a(2172818)55" border=0></a>]]></content:encoded>
			<wfw:commentRss>http://www.apprendemos.com/tutoriales/ios/codigo-postal-aplicacion-completa-disponible-en-appstore/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Apprendemos.com en los Premios Bitacoras 2012</title>
		<link>http://www.apprendemos.com/noticias/apprendemos-en-los-premios-bitacoras-2012</link>
		<comments>http://www.apprendemos.com/noticias/apprendemos-en-los-premios-bitacoras-2012#comments</comments>
		<pubDate>Tue, 02 Oct 2012 23:01:09 +0000</pubDate>
		<dc:creator>ManuAlamar</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[#bitacoras12]]></category>
		<category><![CDATA[bitacoras]]></category>
		<category><![CDATA[bitacoras.com]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[educación]]></category>
		<category><![CDATA[participar bitacoras.com]]></category>
		<category><![CDATA[premios bitacoras 2012]]></category>
		<category><![CDATA[premios blog]]></category>
		<category><![CDATA[tecnología]]></category>

		<guid isPermaLink="false">http://www.apprendemos.com/?p=1268</guid>
		<description><![CDATA[&#160; Como puede que sepas, hace apenas tres meses que comenzamos con Apprendemos.com Los resultados y la buena aceptación por vuestra parte ha sido realmente sorprendente para nosotros, que no contábamos con crecer en cuestión de visitas, ni la participación en los comentarios de cada artículo o tutorial. &#160; &#160; Comenzamos Apprendemos como una mezcla [...]]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><div class="shr-publisher-1268"></div><p>&nbsp;</p>
<p>Como puede que sepas, hace apenas tres meses que comenzamos con <strong>Apprendemos.com</strong></p>
<p>Los resultados y la buena aceptación por vuestra parte ha sido realmente <strong>sorprendente para nosotros</strong>, que no contábamos con crecer en cuestión de visitas, ni la participación en los comentarios de cada artículo o tutorial.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Comenzamos <strong>Apprendemos</strong> como una mezcla entre <strong>ganas de dar a conocer</strong>, crear un <strong>cuaderno de campo</strong> de nuestro propio trabajo, y comenzar <strong>un proyecto que nos apetecía hacer</strong>.</p>
<p>A día de hoy, estamos intentado sacar más tiempo para cubrir la demanda, ya que por ahora no podemos publicar todo lo que nos gustaría ya que es un <strong>blog</strong> redactado en el tiempo libre, y por tanto, a veces se hace muy difícil actualizar, sobre todo hacer<strong> tutoriales</strong> que llevan mucho trabajo por detrás.</p>
<p> <a href="http://www.apprendemos.com/wp-content/uploads/2012/10/Apprendemos_logo.png"><img class="size-full wp-image-1270 aligncenter" title="Apprendemos.com Logo - Premios Bitacoras 2012" src="http://www.apprendemos.com/wp-content/uploads/2012/10/Apprendemos_logo.png" alt="Apprendemos.com Logo - Premios Bitacoras 2012" width="225" height="100" /></a></p>
<p>&nbsp;</p>
<p>Sin embargo, nos habéis <strong>apoyado en las redes sociales </strong>(<strong><a title="Apprendemos en Facebook" href="https://www.facebook.com/pages/Apprendemoscom/483034248376814?ref=ts&amp;fref=ts" target="_blank">Facebook</a></strong> y <strong><a title="@Apprendemos en Twitter!" href="http://www.twitter.com/Apprendemos" target="_blank">Twitter</a></strong>), ha aumentado considerablemente el número de visitas, incluso otras webs como <a title="Apprendemos en Microsiervos" href="http://i.microsiervos.com/tutoriales/tutoriales-programacion-movil-web.html" target="_blank"><strong>Microsiervos</strong></a>, han puesto su grano de arena en comentar a cerca de nosotros. Y la verdad, recompensa, y ojalá que un día podamos dedicar nuestro tiempo de trabajo directamente a la web y los proyectos que la puedan rodear.</p>
<p>&nbsp;</p>
<p>Y después de esta reflexión, demos pie al título de este post.</p>
<p>Como la mayoría sabréis los <a title="Premios Bitacoras 2012 - Apprendemos.com" href="http://bitacoras.com/premios12" target="_blank"><strong>Premios Bitácoras</strong></a> son un refente nacional, donde se premia y clasifica en 20 categorías distintas a los blogs españoles. Durante estos meses se celebran los <strong>Premios Bitacoras 2012</strong>, siendo esta su <strong>octava edición</strong>.</p>
<p>Las cifras no son cosa boba, ya que hace un año, la pasada edición de los <strong>Premios Bitacoras 2012</strong>, recogió más de <strong>18.000 blogs</strong> y casi <strong>135.000 votos</strong>, algo descomunal, pero que a la vez hace ver la cantidad de gente que está, o estamos intentando aportar, lo que sabemos y lo que nos gusta, a la vez que apprendemos de vosotros.</p>
<p>&nbsp;</p>
<p>Por tanto, no os vamos a pedir el voto, pero es obvio que nos vendrá muy bien contar con él. Si bien sería muy pronto para ganar, nos hace ilusión ver el resultado de <strong>Apprendemos.com</strong>, y este sistema de votos, esta participación, sería todo un apoyo moral para seguir haciendo de <strong>Apprendemos.com</strong> lo que realmente tenemos en mente, que os aseguro, no es poco.</p>
<p>&nbsp;</p>
<p>Desde aquí, o desde la imagen junto al logo de la web, podéis votar por <strong>Apprendemos</strong> en los <strong>Premios Bitacoras 2012</strong>, en las categorías de <strong>Educación</strong> y <strong>Tecnología</strong>, que a nuestro parecer, son las más adecuadas.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://bitacoras.com/premios12/votar/05975cee5f345dfdc7a82f8abab14d2fc7a52b61"><img class="aligncenter" style="border-radius: 10px;box-shadow: 1px 1px 5px black;" title="Votar a Apprendemos.com en los Premios Bitacoras.com" src="http://www.apprendemos.com/wp-content/uploads/2012/10/Premios-Bitacoras-2012-Apprendemos.com_.png" alt="Votar a Apprendemos.com en los Premios Bitacoras.com" border="0" /></a></p>
<p>&nbsp;</p>
<p>Solo daros las gracias por el apoyo que siempre nos ofrecéis. Vamos a seguir publicando el contenido que quereis. <strong>Tutoriales</strong> <strong>de programación iOS, Android, HTML5, CSS3,  .NET, las últimas novedades de dispositivos y aplicaciones </strong>y mucho más!</p>
<p>Como habréis visto por ahora casi todo es para <strong>iPhone &#8211; iPad</strong>, a excepción de alguna cosa de <strong>Android o HTML5</strong>. Poco a poco vamos intentando ampliar y diversificar.</p>
<p>También os invitamos a recurrir al formulario de contacto de la web para mostrar vuestro interés en participar en <strong>Apprendemos.com</strong> como editores, o para proporcionarnos notas de prensa y demás artículos de interés para todos, ya que por ahora estamos abiertos a muchas posibilidades de colaboración.</p>
<p>&nbsp;</p>
<p>Un saludo y gracias a todos!</p>
<p>¿<strong>Apprendemos</strong>? :p</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div class="shr-publisher-1268"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><a href="http://clk.tradedoubler.com/click?p= 192623&a=2172818&g= 20628704" target="_BLANK"><img src="http://impes.tradedoubler.com/imp?type(img)g(20628704)a(2172818)89" border=0></a>]]></content:encoded>
			<wfw:commentRss>http://www.apprendemos.com/noticias/apprendemos-en-los-premios-bitacoras-2012/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nuevo iPad Mini &#8211; Imágenes comparativas</title>
		<link>http://www.apprendemos.com/noticias/dispositivos/apple/nuevo-ipad-mini-imagenes-comparativas</link>
		<comments>http://www.apprendemos.com/noticias/dispositivos/apple/nuevo-ipad-mini-imagenes-comparativas#comments</comments>
		<pubDate>Tue, 02 Oct 2012 08:40:40 +0000</pubDate>
		<dc:creator>ManuAlamar</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[apple ipad]]></category>
		<category><![CDATA[comprar ipad mini]]></category>
		<category><![CDATA[Google Nexus 7]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[ipad mini]]></category>
		<category><![CDATA[iphone5]]></category>
		<category><![CDATA[nuevo ipad]]></category>
		<category><![CDATA[rumores ipad]]></category>

		<guid isPermaLink="false">http://www.apprendemos.com/?p=1244</guid>
		<description><![CDATA[Desde hace ya tiempo se viene hablando del próximo lanzamiento en lo que a dispositivos Apple se refiere, y es que apenas ha salido el iPhone 5, pero ya hacía tiempo que el iPad Mini estaba en boca de todos. &#160; Y es que, si algo le faltaba al iPad era su hermano pequeño, algo [...]]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><div class="shr-publisher-1244"></div><p>Desde hace ya tiempo se viene hablando del próximo lanzamiento en lo que a dispositivos Apple se refiere, y es que apenas ha salido el iPhone 5, pero ya hacía tiempo que el iPad Mini estaba en boca de todos.</p>
<p>&nbsp;</p>
<p>Y es que, si algo le faltaba al iPad era su hermano pequeño, algo más manejable. La escusa de que en tan poco espacio, no se podía aprovechar el sistema, a quedado atrás pues si los rumores no fallan, y todos sabemos que fallan poco, </p>
<p>el nuevo iPad Mini sería presentado el 17 de Octubre de 2012, recibiéndose las invitaciones al evento el día 10 de Octubre.</p>
<p>&nbsp;</p>
<p><img class="wp-image-1245 aligncenter" title="iPad Mini Kindle Fire Nexus 7 - Apprendemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/10/iPad-Mini-Kindle-Fire-Nexus-7-Apprendemos.com_.jpeg" alt="iPad Mini Kindle Fire Nexus 7 - Apprendemos.com" width="575" height="381" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>En las imágenes que han dado vueltas por la red podemos ver la comparativa física entre el Apple iPad Mini, el Kindle Fire HD y el Google Nexus 7. Todos ellos de dimensión similar. Como vemos Apple sigue apostando por acabados de aluminio, limpios y bien pulidos, mientras que las otras marcas continúan apostando por material plásticos, con diferentes texturas.</p>
<p>Si bien intentamos pensar que se utiliza plástico a fin de economizar los dispositivos, también recogemos opiniones de gente que argumenta preferir el plástico, sobre todo rugoso, a fin de una mejor sujeción. </p>
<p>&nbsp;</p>
<p><a href="http://www.apprendemos.com/wp-content/uploads/2012/10/iPad-mini-appredemos.com_.jpeg"><img class="wp-image-1246 aligncenter" title="iPad mini - appredemos.com" src="http://www.apprendemos.com/wp-content/uploads/2012/10/iPad-mini-appredemos.com_.jpeg" alt="iPad mini - appredemos.com" width="573" height="382" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Por ahora todos estamos a la espera, sobre todo, los desarrolladores, que si bien deseamos tenerlo, también nos preocupa como en el iPhone 5, la proporción de pantalla para diseñar aplicaciones compatibles con todos los dispositivos.</p>
<p>  </p>
<p>Y como siempre, en cuanto lo tengáis, nos lo contáis debajo, o en el formulario de contacto, para que si nos parece correcto, lo publiquemos en este mismo artículo.</p>
<p>Recordar que nos podéis seguir en <a title="@Apprendemos en Twitter!" href="http://www.twitter.com/Apprendemos" target="_blank">Twitter</a> y <a title="Apprendemos en Facebook" href="http://www.facebook.com/pages/Apprendemoscom/483034248376814" target="_blank">Facebook</a></p>
<p>&nbsp;</p>
<p>Saludos,</p>
<p>Manu =D</p>
<div class="shr-publisher-1244"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><a href="http://clk.tradedoubler.com/click?p= 192623&a=2172818&g= 20628704" target="_BLANK"><img src="http://impes.tradedoubler.com/imp?type(img)g(20628704)a(2172818)17" border=0></a>]]></content:encoded>
			<wfw:commentRss>http://www.apprendemos.com/noticias/dispositivos/apple/nuevo-ipad-mini-imagenes-comparativas/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
