En este nuevo tuto, veremos cómo empezar a programar para cualquier terminal con Android con el clásico Hola Mundo. En el tutorial anterior vimos cómo crear un nuevo proyecto desde la IDE Eclipse. Y hoy comenzaremos con un poco de código. Así que no se asusten =P.
Nota: Antes de comenzar el tutorial, doy por sentado que ya tienen la IDE Eclipse, el ADT plugin y el SDK instalado en sus PCs.
Para empezar, iniciamos eclipse y creamos un nuevo proyecto como vimos en el tuto anterior. Una vez creado, vamos al menú de navegación y buscaremos el HelloAndroid.java. Que debería estar en la siguiente dirección:
Le damos doble click y deberíamos ver algo cómo esto:
Tendremos un código como este ya escrito:
package com.example.helloandroid; import android.app.Activity; import android.os.Bundle; public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
Nota: Siempre que creemosun nuevo proyecto, veremos ese trozo de código.
Ahora, lo debemos cambiar por este y lo explicaré:
package com.android.helloandroid; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText("Hello, Android"); setContentView(tv); } }
package com.android.helloandroid; /** Nombre del paquete **/
El nombre varía dependiendo del nombre que le hayamos dado cuando creamos el nuevo proyecto.
import android.app.Activity; import android.os.Bundle; import android.widget.TextView; /* Añadimos los paquetes necesarios */
Nota: Pueden presionar Ctrl+Shift+O para que el ADT detecte y agrege los paquetes directamente. Para así no complicarnos mucho =P.
public class HelloAndroid extends Activity { /* Creamos una nueva actividad. Podemos crear muchas. Pero el usuario solo puede interactuar con uno a la vez. Para compararlo, sería como el int main() { de C. */
public void onCreate(Bundle savedInstanceState) { /* el onCreate es el método llamado por el sistema Android cuando se inicia la actividad. Que es donde se debe realizar la configuración e iniciación de la interfaz del usuario. Aunque no require una interfaz, por lo general la tiene. */
TextView tv = new TextView(this); /* Creamos una nueva variable de la clase TextView que controlará el texto de pantalla llamada tv. */ tv.setText("Hello, Android"); /* Le indicamos que queremos que diga */ setContentView(tv); /* Mostramos el texto en pantalla. Si este comando no se llamara en una actividad, no se mostraría el texto. Simplemente mostraría una pantalla en blanco. */
Una interfaz de usuario de Android se compone de las jerarquías de objetos llamados dictámenes. A es un objeto dibujable utilizado como un elemento en el diseño de interfaz de usuario, como un botón, imagen, o (en este caso) una etiqueta de texto. Cada uno de estos objetos es una subclase de la clase View y la subclase que maneja texto es TextView
.
En este cambio, hemos creado un TextView con el constructor de la clase, que acepta una instancia de contexto Android (clase Context) como parámetro. Un Context es un manejador/manipulador/handler del sistema; ofrece servicios como la resolución de recursos, obtención de acceso a bases de datos y preferencias y más. La clase Activitty hereda de Context, y dado que la clase HelloAndroid es una subclase de Activity, tambien lo es de Context. Por lo tanto, puedes pasar this como referencia de tipo Context al TextView.
Muy bien, este ha sido el tuto y espero les haya gustado =P. En el próximo tutorial veremos cómo ejecutar nuestro código en un AVD.
Comentarios
pff que mal que esten sin
pff que mal que esten sin terminar los tutoriales u.u
Lamentablemente
Lamentablemente, el editor/coder que los estaba realizando, nos tuvo que dejar.
Si algún coder entendido de esta plataforma quiere continuar con su trabajo, que se ponga en contacto conmigo y le explicaré como.
Saludos ;-)
Próximamente
Ahora mismo no, pero pronto... Se java desde hace 2 o 3 años, y me acaban de regalar un galaxy, así que posiblemente me ponga a programar para android :)
Dennis Ritchie. Padre de C y cocreador de UNIX.
R.I.P.
Puf, que pena. Intentare
Puf, que pena.
Intentare aprender algo para traer aqui algunos tutos :P
Empezare a aprender ;) Veo
Empezare a aprender ;)
Veo raro el Code comparado con LuaDev para PSP xD
Ultimo párrafo.
Es verdad que el último párrafo no se entiende muy bien. Parece traducido del inglés con un traductor automático del original:
In this change, you create a TextView with the class constructor, which accepts
an Android
<a href="http://developer.android.com/reference/android/content/Context.html">Context</a>
instance as its parameter. AContext is a handle to the system; it provides services like
resolving resources, obtaining access to databases and preferences, and so
on. The Activity class inherits from Context, and because your
HelloAndroid class is a subclass of Activity, it is also a Context. So, you can
pass
this
as your Context reference to the TextView.En inglés es como mejor se entiende. Para quien no lo entienda, intentaré traducirlo:
En este cambio, hemos creado un TextView con el constructor de la clase, que
acepta una instancia de contexto Android (clase Context) como parámetro. Un Context es un manejador/manipulador/handler del sistema; ofrece servicios como la resolución de recursos, obtención de acceso a bases de datos y preferencias y más. La clase Activitty hereda de Context, y dado que la clase HelloAndroid es una subclase de Activity, tambien lo es de Context. Por lo tanto, puedes pasar this como referencia de tipo Context al TextView.
No se si lo he traducido muy bien, por ejemplo no se que palabra es más apropiada en español para handler :P.
Por lo demás, muy bien hecho moikop.
Dennis Ritchie. Padre de C y cocreador de UNIX.
R.I.P.
No es de traductor automático.. XD
Lo había traducído yo, es el tutorial que esta en la documentación oficiál de Google si no recuerdo mal. Cuando lo hice no tenía mucha idea de Java ni POO (He ahí que no quedó muy bien la traducción, fue literal :P).
Me ha gustado más como quedó tu traducción, la he añadido al tuto ;-)
Un saludo joserc87!
Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderas trucos para resolver tus dudas antes.
No preguntes por MP, mejor pregunta aquí.
Falta
Falta aclarar que se tiene que crear un Class para hacer código nuevo... de si la carpeta "com.android.helloworld" no contiene nada.
Saludos
Buen tuto para empezar
Aunque al final no me quedo tan claro lo de "Un contexto es un identificador para el sistema, sino que ofrece servicios como la resolución de los recursos, la obtención de acceso a bases de datos y preferencias, y así sucesivamente", ojala me puedas dar otro ejemplo.
Tambien te has comido un espacio en "aceptainstancia".
Ojala que hagas mas tutos y espero poder colaborar pronto, Gracias