{"id":652,"date":"2012-04-02T08:50:08","date_gmt":"2012-04-02T14:50:08","guid":{"rendered":"http:\/\/www.lastdragon.net\/?p=652"},"modified":"2012-04-02T09:16:19","modified_gmt":"2012-04-02T15:16:19","slug":"pendiente-11","status":"publish","type":"post","link":"https:\/\/www.lastdragon.net\/?p=652","title":{"rendered":"Programando en Android"},"content":{"rendered":"<p>Estoy entrando al mundo de la programaci\u00f3n de los Android, principalmente por que he encontrado muchos programas \u00fatiles que cuestan y que si no pagas te rellenan de publicidad, lo cual es absurdo por que el programa en si no es gran cosa y cualquiera podr\u00eda programarse dicha aplicaci\u00f3n.<\/p>\n<p>La madrugada de hoy inicie por bajarme lo necesario y hacer un programa b\u00e1sico manejando los eventos b\u00e1sicos de interfaz de usuario.<br \/>\nEn mi caso y feliz de no tener que aprender algo raro como Objetive-C, esto es porque Android se programa 100% orientado a objetos con un lenguaje bien conocido que es 100% programado a objetos. Exacto JAVA \u00bfy qui\u00e9n no sabe Java hoy?<\/p>\n<p>Lo primero que debes tener es obvio es el JDK, si no lo tienes tendr\u00e1s que descargarlo de Oracle, despu\u00e9s si no lo tienes debes tener un IDE de programaci\u00f3n bonito, sencillo, obvio hablo de eclipse. Ya con eclipse abres tu navegador favorito y te descargas las herramientas, librer\u00edas con las APIs y hasta un emulador de Android si es que no tienes un aparato f\u00edsicamente de: http:\/\/developer.android.com\/<\/p>\n<p>Yo baje el http:\/\/dl.google.com\/android\/installer_r17-windows.exe que contiene el manager de Apis y las Apis para instalarlas a la alienware<\/p>\n<p>Y el ADT Plugin for Eclipse como dice ah\u00ed para integrar esas Apis y el emulador con eclipse<\/p>\n<p>Lo bonito de todo esto es que puedes descargar y programar todo sin pagar un solo peso en otra situaci\u00f3n habr\u00eda que pagar la licencia del kit SDK o no \u00bfApple Fans? (https:\/\/developer.apple.com\/programs\/ios\/) y con un lenguaje que no todos conocen, aunque es sencillo el Objetive \u2013 C no es mi santo en los lenguajes, y no es que sea malo, podr\u00eda ser mejor si no fuera porque lo dise\u00f1o Steve Jobs y pareciera que no lo hizo con otra intenci\u00f3n m\u00e1s que pasar el tiempo, aunque hay que reconocerlo. Gracias a los dispositivos Apple ahora tiene m\u00e1s programadores que nunca que lo conocen.<\/p>\n<p>Aqu\u00ed esta mi primer c\u00f3digo fuente para Android, no es gran cosa pero no esta mal para una madrugada sin poder dormir y programarlo al primer intento, realmente no es dif\u00edcil, obvio si ya sabes Java no es m\u00e1s que un set de clases adicionales y todo lo dem\u00e1s es exactamente igual que hacer un Applet o una aplicaci\u00f3n Java para PC y si no sabes Java, pues apr\u00e9ndelo, quien no sabe programaci\u00f3n orientada a objetos hoy.<\/p>\n<p>Un video demostrativo y el c\u00f3digo fuente.<\/p>\n<p><iframe loading=\"lazy\" width=\"420\" height=\"315\" src=\"http:\/\/www.youtube.com\/embed\/CLLuRFyKTfc\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>package clickboton.lastdragon.net;<\/p>\n<p>import android.app.Activity;<br \/>\nimport android.os.Bundle;<br \/>\nimport android.view.View;<br \/>\nimport android.view.View.OnClickListener;<br \/>\nimport android.widget.TextView;<\/p>\n<p>public class ClickbotonActivity extends Activity implements<br \/>\nOnClickListener{<br \/>\n&nbsp;&nbsp;&nbsp; \/** Called when the activity is first created. *\/<br \/>\n&nbsp;&nbsp;&nbsp; @Override<br \/>\n&nbsp;&nbsp; <br \/>\n&nbsp;&nbsp;&nbsp; public void onCreate(Bundle savedInstanceState) {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\nsuper.onCreate(savedInstanceState);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\nsetContentView(R.layout.main);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; View boton =<br \/>\nfindViewById(R.id.button1);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; View evento =<br \/>\nfindViewById(R.id.evento);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; View otro =<br \/>\nfindViewById(R.id.otro);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\notro.setOnClickListener(this);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\nboton.setOnClickListener(this);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\nevento.setOnClickListener(this);<br \/>\n&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; int c = 0;<br \/>\n&nbsp;&nbsp;&nbsp; public void onClick (View v)<br \/>\n&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (v.getId() == R.id.button1) {<br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; c++;<br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<br \/>\n((TextView)v).setText(&#8220;Pulsado &#8221; + c + &#8221; Veces&#8221;);<br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (v.getId() == R.id.evento) {<br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; TextView texto;<br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; texto =<br \/>\n(TextView) findViewById(R.id.texto);<br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<br \/>\n((TextView)v).setText(texto.getText());<br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (v.getId() == R.id.otro) {<br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; TextView texto;<br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; TextView otro;<br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; otro =<br \/>\n(TextView) findViewById(R.id.otro);<br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; texto =<br \/>\n(TextView) findViewById(R.id.texto);<br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<br \/>\notro.setText(texto.getText());<br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br \/>\n&nbsp;&nbsp;&nbsp; }<br \/>\n}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Estoy entrando al mundo de la programaci\u00f3n de los Android, principalmente por que he encontrado muchos programas \u00fatiles que cuestan y que si no pagas te rellenan de publicidad, lo cual es absurdo por que el programa en si no es gran cosa y cualquiera podr\u00eda programarse dicha aplicaci\u00f3n. La madrugada de hoy inicie por&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-652","post","type-post","status-publish","format-standard","hentry","category-programacion"],"_links":{"self":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/652","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=652"}],"version-history":[{"count":0,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/652\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=652"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=652"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=652"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}