<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0' xmlns:gd='http://schemas.google.com/g/2005' gd:etag='W/&quot;CkADR38zeip7ImA9WhdRE08.&quot;'><id>tag:blogger.com,1999:blog-2605995552073818198</id><updated>2011-08-02T14:32:56.182-07:00</updated><title>Gingerhair's Productions</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gingerhair-productions.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2605995552073818198/posts/default?redirect=false&amp;v=2'/><link rel='alternate' type='text/html' href='http://gingerhair-productions.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>GingerHair</name><uri>http://www.blogger.com/profile/12811068188882026438</uri><email>gingerhair84@gmail.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry gd:etag='W/&quot;Ak8MQns_fCp7ImA9WhdSGEU.&quot;'><id>tag:blogger.com,1999:blog-2605995552073818198.post-4133321182604681735</id><published>2011-07-28T14:34:00.000-07:00</published><updated>2011-07-28T14:34:43.544-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-07-28T14:34:43.544-07:00</app:edited><title>Nuevas herramientas para gestionar los tamaños de las pantallas</title><content type='html'>Buenos dias, google nos hace la vida más facil y nos ha sacado nuevas tools para poder trabajar con los distintos tamaños de las pantallas,&lt;br /&gt;
&lt;a href="http://www.blogger.com/goog_65418453"&gt;&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://android-developers.blogspot.com/2011/07/new-tools-for-managing-screen-sizes.html?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+blogspot%2FhsDu+%28Android+Developers+Blog%29&amp;amp;utm_content=Google+Reader"&gt;http://android-developers.blogspot.com/2011/07/new-tools-for-managing-screen-sizes.html?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+blogspot%2FhsDu+%28Android+Developers+Blog%29&amp;amp;utm_content=Google+Reader&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Esto facilitara la vida a más de uno.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
U n saludo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2605995552073818198-4133321182604681735?l=gingerhair-productions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gingerhair-productions.blogspot.com/feeds/4133321182604681735/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://gingerhair-productions.blogspot.com/2011/07/nuevas-herramientas-para-gestionar-los.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2605995552073818198/posts/default/4133321182604681735?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2605995552073818198/posts/default/4133321182604681735?v=2'/><link rel='alternate' type='text/html' href='http://gingerhair-productions.blogspot.com/2011/07/nuevas-herramientas-para-gestionar-los.html' title='Nuevas herramientas para gestionar los tamaños de las pantallas'/><author><name>GingerHair</name><uri>http://www.blogger.com/profile/12811068188882026438</uri><email>gingerhair84@gmail.com</email><gd:extendedProperty name='OpenSocialUserId' value='09199108655610069934'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;CEMFRHw7fyp7ImA9WhdTGUk.&quot;'><id>tag:blogger.com,1999:blog-2605995552073818198.post-2263421766510876118</id><published>2011-07-17T15:40:00.000-07:00</published><updated>2011-07-17T15:40:15.207-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-07-17T15:40:15.207-07:00</app:edited><title>10 herramientas que todo desarrollador de android deberia tener</title><content type='html'>Hola buenos dias,&lt;br /&gt;
&lt;br /&gt;
Hoy me he econtrado con un interesante articulo que nos indica cuales son las 10 herramientas indispensables para desarrollar android de una forma eficiente y rapida.&lt;br /&gt;
&lt;br /&gt;
Espero que les guste : http://www.developer.com/ws/10-must-have-android-tools-for-developers.html&lt;br /&gt;
&lt;br /&gt;
Un saludo y muchas gracias por partcipar en mi blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2605995552073818198-2263421766510876118?l=gingerhair-productions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gingerhair-productions.blogspot.com/feeds/2263421766510876118/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://gingerhair-productions.blogspot.com/2011/07/10-herramientas-que-todo-desarrollador.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2605995552073818198/posts/default/2263421766510876118?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2605995552073818198/posts/default/2263421766510876118?v=2'/><link rel='alternate' type='text/html' href='http://gingerhair-productions.blogspot.com/2011/07/10-herramientas-que-todo-desarrollador.html' title='10 herramientas que todo desarrollador de android deberia tener'/><author><name>GingerHair</name><uri>http://www.blogger.com/profile/12811068188882026438</uri><email>gingerhair84@gmail.com</email><gd:extendedProperty name='OpenSocialUserId' value='09199108655610069934'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;A0MHSHo8eyp7ImA9WhdTGEw.&quot;'><id>tag:blogger.com,1999:blog-2605995552073818198.post-6942716608487926132</id><published>2011-07-16T05:30:00.000-07:00</published><updated>2011-07-16T05:30:39.473-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-07-16T05:30:39.473-07:00</app:edited><title>Gingerhair's Productions: Los gestos en Android</title><content type='html'>&lt;a href="http://gingerhair-productions.blogspot.com/2011/07/los-gestos-en-android.html?spref=bl"&gt;Gingerhair's Productions: Los gestos en Android&lt;/a&gt;: "Hoy para empezar os dejo un link muyyyy bueno de como implementar gestos especificos en android http://developer.android.com/resources/artic..."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2605995552073818198-6942716608487926132?l=gingerhair-productions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://gingerhair-productions.blogspot.com/2011/07/los-gestos-en-android.html?spref=bl' title='Gingerhair&apos;s Productions: Los gestos en Android'/><link rel='replies' type='application/atom+xml' href='http://gingerhair-productions.blogspot.com/feeds/6942716608487926132/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://gingerhair-productions.blogspot.com/2011/07/gingerhairs-productions-los-gestos-en.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2605995552073818198/posts/default/6942716608487926132?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2605995552073818198/posts/default/6942716608487926132?v=2'/><link rel='alternate' type='text/html' href='http://gingerhair-productions.blogspot.com/2011/07/gingerhairs-productions-los-gestos-en.html' title='Gingerhair&apos;s Productions: Los gestos en Android'/><author><name>GingerHair</name><uri>http://www.blogger.com/profile/12811068188882026438</uri><email>gingerhair84@gmail.com</email><gd:extendedProperty name='OpenSocialUserId' value='09199108655610069934'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;CEcAQXc9fyp7ImA9WhdTFko.&quot;'><id>tag:blogger.com,1999:blog-2605995552073818198.post-7596970058149770944</id><published>2011-07-14T12:30:00.000-07:00</published><updated>2011-07-14T12:34:00.967-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-07-14T12:34:00.967-07:00</app:edited><title>Mini tutorial para beginners de android</title><content type='html'>Hola amigos y amigas, a continuación os presento un video tutorial para iniciados en Android que es bastante util:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;object width="440" height="390"&gt;&lt;param name="movie" value="http://www.youtube.com/v/3RmoWK0KADs&amp;hl=en_US&amp;feature=player_embedded&amp;version=3"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/3RmoWK0KADs&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="440" height="390"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2605995552073818198-7596970058149770944?l=gingerhair-productions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gingerhair-productions.blogspot.com/feeds/7596970058149770944/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://gingerhair-productions.blogspot.com/2011/07/hola-amigos-y-amigas-continuacion-os.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2605995552073818198/posts/default/7596970058149770944?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2605995552073818198/posts/default/7596970058149770944?v=2'/><link rel='alternate' type='text/html' href='http://gingerhair-productions.blogspot.com/2011/07/hola-amigos-y-amigas-continuacion-os.html' title='Mini tutorial para beginners de android'/><author><name>GingerHair</name><uri>http://www.blogger.com/profile/12811068188882026438</uri><email>gingerhair84@gmail.com</email><gd:extendedProperty name='OpenSocialUserId' value='09199108655610069934'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;Ak4MRHs9fCp7ImA9WhdTGU0.&quot;'><id>tag:blogger.com,1999:blog-2605995552073818198.post-6612294922512314917</id><published>2011-07-13T23:40:00.000-07:00</published><updated>2011-07-17T06:23:05.564-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-07-17T06:23:05.564-07:00</app:edited><title>Los gestos en Android</title><content type='html'>Hoy para empezar os dejo un link muyyyy bueno de como implementar gestos especificos en android &lt;a href="http://developer.android.com/resources/articles/gestures.html"&gt;http://developer.android.com/resources/articles/gestures.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;(Voy a obviar la creación de un proyecto en android y la explicación de los ficheros que conciernen a ellos porque esta entrada trata de gestos, en posteriores entrada explicares como se hace un proyecto android de cero)&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Lo primero que hay que hacer para implementar un programa que utilice gestos en android, es crearlos, ¿como se crean? Pues facilmente con la aplicación &lt;b&gt;Gestures Builder &lt;/b&gt;que viene en las API Demos de android de cada versión desde la 1.6 .&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;img alt="" src="data:image/png;base64,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" /&gt;&lt;/div&gt;&lt;br /&gt;
Lo que yo hice fue crearme un proyecto nuevo de android importandome&amp;nbsp; las API Demos: &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-J8Q7-j8TuUg/TiF9yH1WZiI/AAAAAAAAABQ/nEmKoEe_0vs/s1600/API_demo_gestures_builder.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://4.bp.blogspot.com/-J8Q7-j8TuUg/TiF9yH1WZiI/AAAAAAAAABQ/nEmKoEe_0vs/s640/API_demo_gestures_builder.PNG" width="369" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Eligiendo el proyecto mencionado anteriormente, luego lo compile y lo arranque en mi movil android. Este programa te permite definir tus gestos para finalmente guardarlos en un fichero dentro de la tarjeta SDCard , lo podreis encontrar aqui &lt;b&gt;&lt;code&gt;/sdcard/gestures &lt;/code&gt;&lt;/b&gt;&lt;code&gt;. Una vez hecho esto os tendreis que llevar este ficherito al proyecto donde querais reconocer los gestos y ponerlo en la carpeta &lt;/code&gt;&lt;code&gt;&lt;b&gt;/res/raw/gestures&lt;/b&gt; (posiblemente bajo de res no tendreis creada la carpeta raw, la creas como una carpeta normal con eclipse y ya esta).&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;El siguiente paso es iros a vuestro fichero XML de vista (en mi caso se llama main.xml alojado en &lt;b&gt;/res/layout/main&lt;/b&gt; ) y le añadiis lo siguiente:&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;&amp;lt;android.gesture.GestureOverlayView&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/gestures" android:layout_width="fill_parent"&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="0dip" android:layout_weight="1.0" /&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: black;"&gt;Esto se trata de una vista que utiliza android especificamente para el tema de los gestos, por eso hay que especificar el path de la librería &lt;/span&gt;&lt;code&gt;&lt;span style="color: blue;"&gt;&lt;b&gt;android.gesture.GestureOverlayView&lt;/b&gt; &lt;span style="color: black;"&gt;ya que no corresponde con ninguna clase estandard de android.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: black;"&gt;Una vez modificado el fichero main.xml , nos vamos a la clase GesturesDemoActivity (vamos la clase que implementa la actividad principal que le hayamos definido en nuestro fichero manifest ) . Para empezar tendremos que añadir en el metodo onCreate el siguiente codigo:&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: black;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;super.onCreate(savedInstanceState);&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;setContentView(R.layout.main);&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;myGesturesLibrary = GestureLibraries.fromRawResource(this,&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;R.raw.gestures);&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if (!myGesturesLibrary.load()) {&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;finish();&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;// It adds the gesture area to register the gestures of the user&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;GestureOverlayView gestures = (GestureOverlayView)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; findViewById(R.id.gestures);&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;gestures.addOnGesturePerformedListener(this);&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: black;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: black;"&gt;Elementos a destacar en este codigo,&amp;nbsp; tendremos que definirnos una variable dentro de la clase que se llame &lt;b style="color: blue;"&gt;GestureLibrary myGesturesLibrary; &lt;/b&gt;&lt;span style="color: black;"&gt;que sera donde carguemos todos los gestos que nos hayamos definido con el programa GesturesBuilder.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Lo siguiente que hacemos es mediante el metodo&lt;b&gt; load()&lt;/b&gt; cargamos los gestos, si no nos salimos del programa ya que de otra forma nos lanzara excepciones la demo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ultima parte del metodo onCreate, registra un &lt;b style="color: black;"&gt;&lt;code&gt;GesturePerformedListener &lt;/code&gt;&lt;/b&gt;&lt;span style="color: black;"&gt;&lt;code&gt;en nuestra &lt;b&gt;GestureOverlayView &lt;/b&gt;para que podamos reaccionar a los eventos que ocurran en la pantalla. Cabe aclarar que el listener lo vamos a definir nosotros dentro de la clase GesturesDemoActivity por lo tanto hay que añadir en la cabecera lo siguiente implements &lt;b&gt;OnGesturePerformedListener, &lt;/b&gt;de este modo nos podremos definir el siguiente metodo:&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black;"&gt;&lt;code&gt;&lt;br /&gt;
&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="color: black;"&gt;&lt;code&gt;&lt;span style="color: blue;"&gt;public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ArrayList&amp;lt;Prediction&amp;gt; predictions = myGesturesLibrary&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; .recognize(gesture);&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // We want at least one prediction&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (predictions.size() &amp;gt; 0) {&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Prediction prediction = predictions.get(0);&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // We want at least some confidence in the result&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (prediction.score &amp;gt; 1.0) {&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // Show the spell&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Toast.makeText(this, prediction.name, Toast.LENGTH_SHORT)&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; .show();&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: black;"&gt;&lt;code&gt;A este metodo se entrara cuando se detecte un gesto en la&amp;nbsp; &lt;/code&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;code&gt;&lt;b&gt;GestureOverlayView &lt;/b&gt;y sera el momento de utilizar la libreria de gestos que hemos introducido en nuestro proyecto para llamar al metodo &lt;/code&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;code&gt;&lt;span style="color: blue;"&gt;&lt;b style="color: black;"&gt;.recognize(gesture) &lt;/b&gt;&lt;span style="color: black;"&gt;que apartir del gesto que recibe como parametro realiza una serie de predicciones o predictions que guarda en una &lt;b&gt;ArrayList&lt;/b&gt; .&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black;"&gt;&lt;code&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: black;"&gt;Una vez tenemos la lista de predicciones podemos recorrerla y ver cual es la predicción que ha obtenido mayor score, en este caso mostramos solamente predicciones que tengan un score superior a 1.0 (por debajo son predicciones malas que no coincidirian con el gesto hecho).&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: black;"&gt;&lt;code&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: black;"&gt;Y finalmente lo que se ha hehco es mostrar el nombre de la predicción, que es el mismo nombre que nos hemos guardado con el programita Gestures Builder&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black;"&gt;&lt;code&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: black;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black;"&gt;&lt;code&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: black;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black;"&gt;&lt;code&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: black;"&gt;Bueno agradeceros a los que hayais leido o a los que hayais entrado a ver esta entrada y si teneis alguna duda o necesitais alguna aclaración, por favor no dudeis en pedirla.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black;"&gt;&lt;code&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: black;"&gt;&amp;nbsp;&lt;/span&gt; &lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Muchas gracias y buenos dias&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2605995552073818198-6612294922512314917?l=gingerhair-productions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gingerhair-productions.blogspot.com/feeds/6612294922512314917/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://gingerhair-productions.blogspot.com/2011/07/los-gestos-en-android.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2605995552073818198/posts/default/6612294922512314917?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2605995552073818198/posts/default/6612294922512314917?v=2'/><link rel='alternate' type='text/html' href='http://gingerhair-productions.blogspot.com/2011/07/los-gestos-en-android.html' title='Los gestos en Android'/><author><name>GingerHair</name><uri>http://www.blogger.com/profile/12811068188882026438</uri><email>gingerhair84@gmail.com</email><gd:extendedProperty name='OpenSocialUserId' value='09199108655610069934'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-J8Q7-j8TuUg/TiF9yH1WZiI/AAAAAAAAABQ/nEmKoEe_0vs/s72-c/API_demo_gestures_builder.PNG' height='72' width='72'/><thr:total>0</thr:total><georss:point>40.38002859057144 -2.1972660000000133</georss:point><georss:featurename>España</georss:featurename><georss:box>35.34452859057144 -11.008266000000013 45.41552859057144 6.613733999999987</georss:box></entry><entry gd:etag='W/&quot;Dk4CQXo_eip7ImA9WhdTFUU.&quot;'><id>tag:blogger.com,1999:blog-2605995552073818198.post-5082553148845030533</id><published>2011-07-13T12:22:00.000-07:00</published><updated>2011-07-13T12:22:40.442-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-07-13T12:22:40.442-07:00</app:edited><title>Localización GPS</title><content type='html'>Hola, buenas tardes desde españa.&lt;br /&gt;
&lt;br /&gt;
En primer lugar disculparme por la tardanza en actualizar el blog pero estos meses han sido de curro intenso con diversas aplicaciones y no he podido dedicarle el tiempo que merecia este blog.&lt;br /&gt;
&lt;br /&gt;
A continuación, les voy a explicar como se puede realizar una sencilla detección de la posición donde nos encontramos&amp;nbsp; por GPS, utilizando un dispositivo android.&lt;br /&gt;
&lt;br /&gt;
Primeramente para utilizar los recursos del GPS, hay que declarar en el AndroidManifest.xml (esta en el directorio raiz del proyecto) de nuestro proyecto los siguientes permisos :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&amp;gt;&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Con esto ya podremos acceder al provider del GPS que tenemos en nuestro movil android, lo siguiente sería en el metodo onCreate de la actividad en la que vamos a utilizar el GPS añadir lo siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt; // Hay que declararse en la clase un Location Manager&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; locMgr = (LocationManager) getSystemService(Context.LOCATION_SERVICE);&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; locListener = new LocationListener()&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public void onLocationChanged(Location location) {&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; lastLoc = location;&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public void onProviderDisabled(String provider) {&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public void onProviderEnabled(String provider) {&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public void onStatusChanged(String provider, int status,&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Bundle extras) {&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; locMgr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, // minTime&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // in ms&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 0, // minDistance in meters&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; locListener);&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En este codigo se realizan dos acciones, nos declaramos un LocationManager al cual le configuramos un LocationListener (el cual puede servir para muchas cosas, entre ellas para realizar acciones especificas cuando se cambia de posición) y se configura mediante el metodo &lt;b&gt;requestLocationUpdates, &lt;/b&gt;cual es el minimo tiempo en la que la posición se actualiza, que distancia minima se necesita para que la posición se actualice y cual es el listener que vamos a utlizar.&lt;br /&gt;
&lt;br /&gt;
Recordar que en la parte superior de la clase que estamos implementando hay que añadir lo siguiente:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="color: blue; text-align: justify;"&gt;import android.location.Location;&lt;br /&gt;
import android.location.LocationListener;&lt;br /&gt;
import android.location.LocationManager;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;De esta manera os detectara las clases de android mencionadas en el codigo anterior.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;El ultimo paso para obtener la posición donde nos encontramos seria realizar la siguiente ejecución:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="color: blue;"&gt;Location lastLoc = locMgr.getLastKnownLocation(LocationManager.GPS_PROVIDER);&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Una vez tenemos el Location, podemos hacer con el infinidad de operaciones por este objeto contiene la latitud y la longitud de donde nos encontramos o también se podríua localizar la distancia a otro punto, pero esto lo veremos en otro momento.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;Otra opción interesante es declararse un metodo onResume que haga lo siguiente:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: blue;"&gt;@Override&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected void onResume() {&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // TODO Auto-generated method stub&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; super.onResume();&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; lastLoc = locMgr.getLastKnownLocation(LocationManager.GPS_PROVIDER);&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; locMgr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, // minTime&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // in ms&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 0, // minDistance in meters&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; locListener);&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Con este metodo conseguimos que si l usuario cambia a otra aplicación y deja la nuestra en background (o en segundo plano) cuando volvamos a ella recalcule la posición donde estamos.&lt;br /&gt;
&lt;br /&gt;
Weno bloggeros hasta aqui es suficiente para poder montaros una mini aplicación que os permita obtener la posición donde estais, si teneis alguna pregunta o quereis que aclare algún concepto que haya quedado en el aire por favor no dudeis en poner vuestro comentarios .&lt;br /&gt;
&lt;br /&gt;
Muchas gracias&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2605995552073818198-5082553148845030533?l=gingerhair-productions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gingerhair-productions.blogspot.com/feeds/5082553148845030533/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://gingerhair-productions.blogspot.com/2011/07/localizacion-gps.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2605995552073818198/posts/default/5082553148845030533?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2605995552073818198/posts/default/5082553148845030533?v=2'/><link rel='alternate' type='text/html' href='http://gingerhair-productions.blogspot.com/2011/07/localizacion-gps.html' title='Localización GPS'/><author><name>GingerHair</name><uri>http://www.blogger.com/profile/12811068188882026438</uri><email>gingerhair84@gmail.com</email><gd:extendedProperty name='OpenSocialUserId' value='09199108655610069934'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DE8ARXs4fyp7ImA9Wx9VGU0.&quot;'><id>tag:blogger.com,1999:blog-2605995552073818198.post-8592610264100209889</id><published>2011-02-05T03:54:00.000-08:00</published><updated>2011-02-05T03:54:04.537-08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-02-05T03:54:04.537-08:00</app:edited><title>Bienvenida</title><content type='html'>Hola bienvenidos, &lt;br /&gt;
&lt;br /&gt;
Este blog nace con el objetivo de compartir las experiencias y los proyectos que tendre con el sistema operativo para moviles de google llamado Android.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Lo primero es presentarme, soy un programador senior de entornos J2EE de una&amp;nbsp; importante empresa en España y en el mundo (que no voy a revelar por mantener mi privacidad) con más de 5 años de experiencia profesional en el mundillo este de programación a gran escala . Un dia después de estar un tanto aburrido de la programación con herramientas para entornos empresariales, me decidi a dar un salto en mi carrera a la programación un tanto más divetida y motivante (almenos para mi) que es la programación de moviles.&lt;br /&gt;
&lt;br /&gt;
También deciros que llevo 1 o 2 meses con el desarrollo de una aplicación con Android para el metro de valencia que se llama VLC Metro y que podeis encontrar pinchando en el enlace que se ve en la parte superior izquierda. Y que será de lo que inicialmente se van a ir centrando las entradas que vaya poniendo durante estas semanas, os explicare mis experiencias y problemas con el desarrollo de esta aplicación y como resolverlos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un saludo a todos los bloggers de GingerHair&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2605995552073818198-8592610264100209889?l=gingerhair-productions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gingerhair-productions.blogspot.com/feeds/8592610264100209889/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://gingerhair-productions.blogspot.com/2011/02/bienvenida.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2605995552073818198/posts/default/8592610264100209889?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2605995552073818198/posts/default/8592610264100209889?v=2'/><link rel='alternate' type='text/html' href='http://gingerhair-productions.blogspot.com/2011/02/bienvenida.html' title='Bienvenida'/><author><name>GingerHair</name><uri>http://www.blogger.com/profile/12811068188882026438</uri><email>gingerhair84@gmail.com</email><gd:extendedProperty name='OpenSocialUserId' value='09199108655610069934'/></author><thr:total>0</thr:total></entry></feed>