Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

CMP I Actividad I

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 9

Asignatura: Compiladores E Interpretes I

Asunto: Informe Android

Catedrático: Leonel Iván Hércules Morel

Presentado por: José Alberto Galdámez


Serrano

Fecha: 13/02/22
Android Studio

Las aplicaciones se desarrollan en Java usando el Android Software Development


Kit, más conocido como Android SDK. Aunque estén disponibles otros kits de
programación, como el Google App Inventor, nosotros hemos decidido utilizar el
entorno de trabajo de Android Studio porque es perfecto para programadores
novatos en este campo. Para desarrollar aplicaciones para Android no se requieren
grandes conocimientos de lenguajes de programación. Los requisitos son: tener un
conocimiento aceptable de Java y estar provisto del Kit de Desarrollo (que está
disponible de forma gratuita en Google). Las aplicaciones Android, como veremos
posteriormente, están comprimidas en formato *.apk, lo que permite que sean
fácilmente instalables en cualquier dispositivo. A la hora de comenzar a programar
nuestra aplicación debemos conocer que cada versión de Android tiene un nombre
en clave y un nivel de API. Por lo general, se intenta dar cabida al mayor número de
API’s posible. El nivel de API especifica el número de librerías disponibles para
desarrollar una aplicación. (Por ejemplo: Versión 4.4 | Nombre en clave: KitKat
API’s: nivel 19). A la hora de desarrollar nuestra aplicación debemos incluir una
versión mínima (minSdkVersion) de API que nos permita que nuestra aplicación
funcione. También debemos incluir una versión máxima (maxSdkVersion). Con
estos dos parámetros definimos en qué dispositivos funcionará nuestra aplicación.

Layouts
Podemos definir “Layout” como la forma que tenemos de acomodar los
elementos que componen la interfaz de nuestra aplicación. Podemos decir
que actúa como un contenedor de elementos siendo éste la referencia
(raíz o root). Como hemos hablado anteriormente, las características de
los layouts se modifican a través del código XML. Esto permite tener las
características de la interfaz separadas del código Java, confiriéndole
flexibilidad al programa. Los layouts tienen una serie de propiedades que
son comunes:
Android: layout_width="XX" y Android: layout_height=”XX”.

1- Por tamaño asignado: “134dp” Tamaño fijo. Tenemos que poner


especial atención con este modo, ya que la aplicación no se adapta al
tamaño de la pantalla.
2- Adaptado al contenido: “wrap_content”. El tamaño varía en función del
contenido del objeto adaptándose a él.
3- Adaptado al padre: “match_parent”. El widget se adapta al tamaño del
padre que se asigne.
Otras propiedades para indicar posición:
a. Posición relativa: Android: layout_above/below/alignLeft/alignRight
b. Posición relativa al layout padre:
android:layout_alignParentLeft/alignParentRight/alignParentTop

c. Referencia respecto de márgenes exteriores:


layout_marginXXX (Left,Right,Top,Bottom)

d. Posición respecto de márgenes interiores:


android:padding/paddingXXX

A continuación, trataremos los layouts más comunes son: Linear,


Relative, Constraint y Grid.

El diseño lineal se caracteriza por organizar sus elementos en filas, que


pueden ser de tipo horizontal o vertical:
Android: orientation=”vertical”/”horizontal”

El diseño relativo permite colocar los objetos en referencia de otro objeto


o de ellos mismos. Por ejemplo, colocamos un objeto A con una serie de
cotas y a continuación, colocamos otro objeto B con las cotas
referenciadas al objeto A. De modo que si movemos el objeto A el B se
moverá con él.

Desde la versión de Android 2.2, al crear un nuevo proyecto se crea por


defecto un ConstraintLayout. Este tipo de layout permite establecer
relaciones entre todos los elementos, incluso con la vista padre. Este
layout incluye un modo que se llama Autoconnect, que crea restricciones
automáticamente.

Pertenece a ViewGroup. Este tipo de Layout alinea sus componentes en


una cuadrícula. Se crea una cuadrícula: Android: rowCount y Android:
columnCount. A la hora de introducir un widget en una posición debemos
especificar la fila y la columna: android:layout_row/column. Podemos extender
el objeto para quetenga mayor tamaño con
android:layout_rowSpan/columnSpan=”nº de celdas que ocupa” y activando la
propiedad layout_gravity=”fill”.

Existen otros tipos de Layouts como el TableLayout o TableRow que


tienen bastantes conceptos en común con GridLayout, así que no los
vamos a explicar en este capítulo, aunque sería interesante curiosear
sobre qué tratan.
Widgets
A través de los Widgets configuramos la interfaz de usuario de nuestra
aplicación. Se pueden definir como el componente visual a través del cual
la aplicación interacciona con el usuario, proporcionando algún tipo de
información a través de texto, casillas, eventos

TextView y EditText
El cuadro de texto puede tener carácter editable, que
en ese caso sería EditText, y no editable, que sería
TextView. Para asignar el texto al cuadro podemos
hacerlo desde la parte derecha de la pantalla o bien podemos crearlo a
partir del fichero XML con android: text. Respecto al tamaño que tiene el
cuadro de texto, podemos aplicarle las mismas propiedades que a los
layouts, puede ajustarse al contenido, al padre o tener un tamaño fijo.
Algunas propiedades que podemos cambiar desde el fichero XML
que pueden resultarnos realmente útiles son:
Android: typeface – cambiar entre normal/sans/serif/monospace

Android: textColor – Podemos cambiar el color del texto. Previamente


debemos de registrar el color (#RRGGBB) con su
identificador(@color/nombreColor) en el fichero XML para tener un acceso
más rápido. También podemos utilizar el código RGB si es un color
puntual.
Android: textSize – Ajustar el tamaño del texto del cuadro en pixeles
independientes de la densidad (dp).

Android:hint – Con hint nos referimos al texto que


aparece por defecto en un EditText previamente a
introducir información el usuario. En este ejemplo,
el TextView nos indica que en el campo de alado debemos introducir el
nombre, y en el EditText hay un hint que nos indica dónde debemos
introducir el nombre. Nota: tenemos que tener en cuenta que Android por
defecto utiliza las tipografías Droid Sans, Droid Serif y Droid Sans Mono.
Es posible utilizar otra tipografía en nuestra aplicación, pero para ello
deberemos cargar el archivo.ttf desde las herramientas.

Respecto a los métodos que podemos utilizar con estos campos, existen
infinidad de métodos, aquí solo nombraremos los más relevantes para
comenzar:
• getText() obtiene el texto que introducimos en EditText o bien el texto
residente en el textView.
• setText() introduce la cadena de caracteres en el cuadro de texto

. • clear() limpia el campo.


• moveCursorToVisibleOffset() permite desplazar el texto lateralmente cuando
excede el tamaño del campo e impide su visualización completa.

Button
Button es una subclase de TextView. Los botones realizan una acción
cuando el usuario pulsa sobre ellos. Por ser subclase de TextView, tiene
una serie propiedades en común. Todo lo referido con anterioridad al
fichero XML del TextView es aplicable a la etiqueta del botón. Podemos
cambiar la forma y el color del botón modificando sus atributos. Es
interesante comentar un par de método que son bastante útiles:
android:onClick – hace referencia al método que se llevará a cabo cuando se
presione el botón.
Android: enabled – “true” el botón está activo (por defecto),
“false” botón inactivo.
Los botones pueden tener una imagen de fondo, en lugar
del color plano que sale por defecto. Si deseamos poner
una imagen en concreto, debemos introducir el fichero
(preferiblemente en *.png) en la carpeta drawable.
Debemos cambiar la propiedad

android:background y escoger nuestra imagen. También existe una opción


que permite coexistir el texto, el color de fondo y el icono de manera
ordenada dentro del botón. Debemos ordenar el icono a través de las
propiedades android:drawableLeft/right/Bottom
¿Cómo comunicamos al botón que debe realizar una acción? Pues
bien, existen diferentes maneras de hacerle saber al botón que debe
realizar un acción. Lo primero de todo, debemos definir un método en Java
que reciba un View y devuelva void. Por ejemplo:
public void onClick(View v1){
myTextView.setText(“Ha hecho click”);}

Después debemos implementar un Listener. Podemos hacerlo mediante


diferentes maneras:
1. Implementando desde Java un evento setOnClickListener indicando el
botón que debe realizar la acción. Android detecta el método y crea
automáticamente un método onClick que contendrá la acción a realizar:
myButton.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
myTextView.setText("Hola mundo!"); } } );

2. Desde la interfaz de usuario: nos situamos en la parte derecha de la


ventana Design. Entre los atributos de Button encontraremos onClick y en
el desplegable se encontrará el nombre de nuestro método definido
previamente. Con esta manera de asignar la acción al botón no es
necesario crear un Listener en el archivo Java.
3. Desde el XML: básicamente hace lo mismo que desde la interfaz, pero
a través del código. La propiedad que debemos activar es
android:onClick=”…” y entre las comillas debemos poner el nombre del
método, que en nuestro caso es “onClick”.

Radio Button y RadioGroup


Los RadioButton que incluyamos en nuestra aplicación deben estar
incluidos dentro de un contenedor de tipo RadioGroup. Debemos arrastrar
a la interfaz de nuestra aplicación un RadioGroup y dentro soltar tantos
RadioButton como queramos. Todos los RadioButton que estén dentro de
la misma agrupación se excluirán mutuamente. Desde el código Java
podemos modificar las propiedades del RadioGroup utilizando
los siguientes métodos:
void Check(int id): activa el RadioButton con el identicador “id”.

void clearCheck(): Limpia la selección dejando todos los botones


desactivados.
int getCheckedRadioButtonId(): recoge el “id” del botón seleccionado.
void toggle(): cambia el estado del botón.

void onCheckedChanged(RadioGroup, int checkedId): La llamada se


activa cuando cambia el estado del botón.
Para utilizar el RadioGroup es necesario implementar un Listener:

a. Podemos utilizar android:onClick desde el XML. Le asignamos a cada


RadioButton la acción que debe realizar en caso de cambiar su estado.
Este tipo de llamada se realiza cuando todos los botones realizarán la
misma acción, es decir, que se puede realizar desde un método general.
b. el Listener: setOnCheckedChangeListener().Este Listener registra
cuando hay un cambio en el RadioGroup.
radiogroup.setOnCheckedChangeListener(new
RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) }); }

Con el método onCheckedChanged(RadioGroup group, int CheckedId): checkedId


registra el Id del botón que se ha pulsado. Aquí podemos hacer uso de los
condicionales, ya que en función del Id podemos realizar diferentes
opciones. A raíz de este ejemplo vamos a explicar otro concepto de
bastante utilidad:
Conclusión
1. El Sistema Operativo Android se perfecciona a futuro. Android ofrece
un entorno de desarrollo que facilita la implementación de aplicaciones
y versiones de manera ágil y práctico, aprovechando al máximo las
características de cada dispositivo móvil.

2. Android permitió al sistema operativo el soporte de distintos diseños de


hardware, ofreciendo a las aplicaciones que sobre él se desarrolle, un
acceso transparente a los recursos físicos en los dispositivos móviles.

3. Actualmente, Android se puede describir como un sistema Operativo


robusto, rápido y estable, con un soporte para una amplia gama de
diferentes dispositivos; teniendo así una gran diferencia entre otros
dispositivos móviles.

4. En conclusión Android es Sistema Operativo necesario en los teléfonos


móviles.
Bibliografía
Desarrollador Android

También podría gustarte