Mostrando entradas con la etiqueta view. Mostrar todas las entradas
Mostrando entradas con la etiqueta view. Mostrar todas las entradas

martes, 26 de marzo de 2013

Android - Lanzar ventanas por codigo

Hoy veremos como lanzar una Activity por codigo, si lo se es lo mismo que hicimos ayer, pero por codigo?? con lo sencillo rapido y facil que lo hicimos ayudandonos del diseño; esto tiene una razon de ser y es que en versiones anteriores a la 1.6 de Android no existe el evento onClick tal y como lo conocemos, que aunque no creo que desarrollemos muchas aplicaciones pensando en esa version , es bueno conocerlo por si acaso, ademas abra a quien se le halla pasado por la cabeza en lugar de usar el metodo onClick usar el onLongClick que es el que sucede cuando pulsamos durante mas de un segundo, si la memoria no me falla, para este evento y otros muchos no disponemos de interfac, aunque se puede hacer siempre igual y es aqui donde toma cabida esta entrada.

En primer lugar vamos a crear otra vista y otra activity para la nueva vista, la declararemos en el AndroidManifest.xml; todo esto como ya hemos visto en la entrada de ayer, a ver si os acordais ;)
abrir ventanas/activity aqui os dejo el enlace de apollo.

partiendo de que ya tenemos creada la vista, con un texto que distinga a las anteriores, la Activity de esa vista, con el metodo onCreate sobreescrito (override) y asignado a la vista todo ello declarado en el manifest, y un segundo boton en activity_mail.xml el cual ahora programaremos que cuando pulsemos nos lleve a la nueva vista, recordar que esto ya lo vimos ;)

DesdeMainActivity.java declararemos un boton, justo debajo de la declaracion de la clase, quedando algo asi:
public class Asteroides extends Activity {
private Button BtnTerceraVentana;

Esto funciona de manera similar a cualquier otra variable, ahora mismo no hace nada es solo un objeto de un boton pero sin nada asociado, sin funcionalidad alguna.
En el OnCreate le asignaremos el boton que nos interesa en cuestion
BtnTerceraVentana =(Button) findViewById(R.id.Button02);
BtnTerceraVentana.setOnClickListener(new OnClickListener() {
      public void onClick(View view) {
           lanzarVentanaPorCodigo(null);
      }
});
En la primera linea a nuestro boton le asignamos el boton de la vista
En la segunda le damos funcionalidad al evento OnClick, asignandole un "escuchador", esto nos genera la tercera linea, que tan solo es el evento Onclick (casi nada) dentro de los corchetes deberemos escribir lo que queramos que haga, en la entrada anterior vimos como lanzar un activity, te ves capaz de hacerlo solo??

Puedes declarar una funcion, la cual debe declarar un Intent, que llame a la nueva vista y lanzar su activity; o hacer esto mismo directamente en el evento onClick, para gustos los colores, ya ves que en el ejemplo yo llamo a una funcion
Todo el codigo en : http://adf.ly/Ld3kj

lunes, 25 de marzo de 2013

Android - abrir ventanas/Activity

En este pequeño tutorial intentare explicar como desde una ventana/ pantalla/ o como se les llama en android Activity, abrir otra.

Lo primero que debemos hacer es crearun proyecto en android, nos servira el de Hola mundo que habiamos creado en un tutorial pasado, si no lo as visto te recomuendo pasar por el tu primer proyecto en android despues meteremos un texto para saber en que ventana estamos y un boton que sera el encargado de enviarnos a la siguiente ventana; esto deberiamos poderlo hacer simplemente arrastrando los elementos desde la paleta a nuestro Activity, aunque tambien podemos hacerlo editando el XML; deberia queda algo como la imagen de abajo.


Despues deberemos dirigirnos a la carpeta res/layout de nuestro proyecto y hacer un click derecho para ir a new>Android XML File en caso de que no nos aparezca hay podemos ir a other y dentro de la carpeta Android seleccionarlo.

se nos abrira una ventana parecida a la de mas abajo en la que debemos escribir el nombre que tendra la nueva ventana, recuerda que debe empezar por una letra y no puede contener mayusculas despues de esto podemos configurar algun detalle en next o darle a Finish.

Editaremos la vista de esta nueva Activity añadiendo un texto que la diferencia de la anterior, como podemos ver en la imagen de abajo.

Bueno, parece que ya tenemos todo echo no?? pues queda lo mas importante decirle donde y como abrirlo, para ello debemos crear la actividad (activity) que va a ser la encargada de lanzar esta vista; para ello iremos a la carpeta src/(el directorio de carpetas que hallamos declarado al inicio) y alli hacer click derecho> new >Class se nos abrira una ventana en la que debemos dar el nombre de la actividad, lo suyo es que tenga el mismo nombre que la vista (me parece haber leido en algun sitio que si no da errores), asi que tendremos un archivo con el mismo nombre de nuestra vista terminado en .java con un contenido similar al que sigue:

package org.rogama.lanzar2ventana;

public class ventana2 {

}

Justo al lao del nombre de la clase (ventana2) debemos extender a Activity quedando algo como lo que sigue:

public class ventana2 extends Activity {

Recuerda que si utilizas la ayuda de eclipse, NetBeans o el IDE que mas te agrade este debe añadirete las librerias, si no te tocara a ti añadir las referencias a mano, en este caso debemos importar android.app.Activity
Una vez hecho esto iremos hasta Source>override/Implement Methods... (para los que no esten familiarizados con esto, lo que estamos haciendo es sobreescribir un fragmento de codigo que nuestra Activity ya tiene definido, o bien por erencia o por extensiones)

Marcaremos la casilla onCreate(Bundle)

Y esto nos habra creado un codigo similar al sigueinte:

@Override 
 public void onCreate(Bundle savedInstanceState) {
 //TODO Auto-generated
        super.onCreate(savedInstanceState);
    }

Debajo de super debemos escribir lo siguiente:
setContentView(R.layout.ventana2);

Ahora en nuestro MainActivity.java debemos crear el siguiente metodo
public void lanzar2Ventana(View view){
      Intent inten = new Intent(this, ventana2.class);
            startActivity(inten);
    }


El modo mas sencillo ahora es ir a activity_main.xml, y en las propiedades del boton asocial este metodo al evento onClick, como mostramos en la imagen inferior.


Para finalizar deberemos ir al fichero AndroidManifest.xml y ayudandonos de la interfac grafica que nos tiene preparado Eclipse señalaremos la pestaña de Application y alli en la parte inferior izquierda, donde pone Application Nodes le damos al boton Add.

Seleccionamos Activity en la ventana que se nos abre y damos al boton de Ok, justo a su derecha se nos habilitara un menu donde podemos ingresar algunos parametros, en Name escribiremos el nombre de la ventana precedido por un . en nuestro caso .ventana2 y en label una pequeña descripción


Ya podemos lanzarlo y probarlo
Puedes ver y descargar todo el codigo desde: http://adf.ly/Ld3kj