viernes, 24 de marzo de 2017

Propiedad android:onClick


Este métodos nos permite capturar los clicks en determinadas vistas comúnmente botones, para ejecutar ciertas partes de nuestro código fuente y de esta forma realizar las acciones que queramos.

Como su nombre lo indica es un evento (acción) que se realiza al presionar un elemento (botón, imagen, layout, etc.) de la interfaz gráfica de nuestra aplicación.

En pocas palabras...

Evento OnClick
{
///
//La aplicación hace algo.
///
}

Método findViewById


Esta función, es la que enlaza un recurso de la interfaz de usuario de una aplicación, con una variable en nuestro código. O simplemente se encarga de acceder a ese recurso para cambiar una de sus propiedades.

Supongamos, pues, que tenemos un layout con una veintena de widgets entre layouts, Buttons, EditText, TextView, ImageView… Y que en un momento dado del ciclo de vida de la actividad, tenemos que acceder a uno ó varios de ellos para cambiar sus propiedades. Podemos acceder a ellos del modo:

((EditText) this.findViewById(R.id.edittext_cliente)).setOnClickListener(…);

Aunque también podemos guardar el valor que devuelve la función findViewById() en una variable, o variable miembro de la Activity para operar con ella varias veces a lo largo del citado ciclo de vida.

Resultado de imagen para findviewbyid android studio
¿Cuál es la diferencia? y ya que estamos ¿cuál era nuestro error? Pues que cada vez que se llama a la función findViewById(), android recorre todo el árbol jerárquico del Layout que hemos definido previamente en XML, en busca del recurso al que queremos acceder. Como ya habréis averiguado, el costo de esa operación es muy alto si el control a encontrar es de los últimos en el árbol, o si hay muchos niveles de layouts anidados, o simplemente queremos cambiar el valor de una de las propiedades de ese recurso bastantes veces a lo largo del ciclo de vida de la aplicación.

Manera de declarar a los controles “dibujados” en Layout para poder utilizarlos dentro de la clase Activity.


¿Qué Es Un View?

Es un componente que permite controlar la interacción del usuario con la aplicación. Estos son muy similares a los controles SWING de Java, como Labels, Buttons, TextFields, Checkboxes, etc. Los Views son organizados dentro de los Layouts para que el usuario comprenda los objetivos de la actividad.

Atributos De Un View

Veamos los propósitos de los atributos usados con mayor frecuencia al diseñar un layout:
layout:height: Representa la dimensión de longitud vertical de un View. Puedes asignarle valores absolutos en dps, si dependiendo de las métricas de diseño que tengas ó usar los valores match_parent y wrap_content. El primero ajusta la dimensión a las medidas del contenedor padre y el segundo lo ajusta al contenido del View.
layout:width: Representa el ancho de un view.
layout:layout_margin: Especifica las márgenes del view con respecto a otros componentes. Podemos definir los valores individualmente para la margen izquierda, derecha, superior e inferior. O si deseas puedes especificar un mismo valor para todos los margenes.
layout:alignComponent: Indica la adyacencia de las margenes entre componentes. Por ejemplo, esto permitiría ubicar el margen izquierdo de un botón justo al lado del margen izquierdo de otro botón. Si en algún momento el botón cambia entonces su compañero cambiará con él. Este atributo muestra el poder de un Relative layout.
layout:alignParent: Con este atributo especificamos que un view estará ubicado hacia uno de los lados de su padre.
layout:centerInParent: Permite centrar horizontal y verticalmente un View con respecto a su padre.
id: Es un nombre que diferencia los views entre si. Es de utilidad cuando vayamos a referenciar los controles en el código Java. Así que elige nombres representativos y de fácil interpretación.




Android:Id


El parámetro Android:id que si bien es una propiedad opcional, es muy recomendable asignar siempre a todos los elementos de la interfaz de usuario y que identifica de manera única al elemento al que se lo asignemos.

Su valor se define de la siguiente manera:

Android:id=”@+id/identificador_unico”

Necesitaremos el parámetro android:id para crear el objeto de la interfaz gráfica en nuestras clases java.

Por ejemplo:

Button button1 = (Button) findViewById(R.id.boton1);
Donde “boton1” será el “id” que hayamos asignado al botón en el fichero XML de definición de la interfaz gráfica de la Activity que estemos creando:
<Button android:id="@+id/boton1"
android:layout_width="150dp"
android:layout_height="130dp"
/>

Esta propiedad es el ID del control, con el que podremos identificarlo de forma única más tarde en nuestro código. Vemos que el identificador lo escribimos precedido de “@+id/”. Esto tendrá como efecto que al compilarse el proyecto se genere automáticamente una nueva constante en la clase R para dicho control.

Resultado de imagen para android:id

Aquí es donde se  ubica el archivo MainActivity java:



Resultado de imagen para mainactivity java

Función setContentView :


Este método solo se puede llamar desde onCreate, y además es un campo immutable. Solo se puede fijar la vista de la actividad una sola vez. Es la forma que tiene Android de obligarnos a tener una única vista por actividad.
La línea setContentView(R.layout.main); señala que hay una clase estática llamada R.layout y, que dentro de esa clase hay una constante entera llamada main que apunta a una vista definida por un fichero de recursos layout xML. El nombre del fichero XML es main.xml, el cual debe estar en el directorio ./res/layout.

Resultado de imagen para setContentView

Método onCreate:


Es donde usted hace funcionar su actividad. Cuando Activity se inicia y la aplicación no se carga, entonces ambos serán llamados métodos onCreate() .
Pero para arranques posteriores de Activity, el onCreate() de aplicación no serán llamados.Se utiliza para realizar todo tipo de inicializaciones, como la creación de la interfaz de usuario o la inicialización de estructuras de datos. Puede recibir información de estado dela actividad (en una instancia de la clase Bundle), por si se reanuda desde una actividad que ha sido destruida y vuelta a crear.
Resultado de imagen para método onCreate

Activity:

Un Actividad  es uno de los componentes de una aplicación, concretamente el encargado de ofrecer una pantalla con la que los usuarios pueden interactuar, con el único objetivo de hacer algo. Es por ello que lleva asociada una interfaz de usuario.
De hecho, una aplicación suele estar compuesta por varias actividades que están vinculadas unas a otras de alguna forma. Generalmente, toda aplicación tiene una actividad considerada la actividad principal (main), la cual es la que se muestra al usuario cuando se abre la aplicación por primera vez.



Para crear una actividad, basta con que creemos una clase que herede de la clase Activity. Además de heredar de esta clase, deberemos sobreescribir algunos métodos que pertenecen al ciclo de vida de la actividad.