domingo, 31 de marzo de 2019

Proyecto Android



Estructuras de carpetas de un proyecto Android:


- SRC FOLDER: Bajo la organización de paquetes, esta carpeta tiene todo el código de fuente. Estarán ubicadas todas las clases Java de la aplicación.

- GEN FOLDER: Aquí es donde se genera el código para todos los recursos definidos en la carpeta res. Así es como se puede acceder a los diseños y controles definidos dentro de su código.

- ANDROID PRIVATE LIBRARIES: Almacena las librerías externas que utilices para todo lo que vas a trabajar de Android (Librerias Android). 

- ASSETS FOLDER: En esta carpeta irían todos los recursos extra que puedes usar y que no sean de Android, por ejemplo fuentes y archivos multimedia.

- BIN FOLDER: Es una área de ensayo para preparar sus archivos para ser empaquetados en su APK.

- LIBS FOLDER: Puede contener las librerías de Java externas(ficheros.jar) que utilice nuestra aplicación. Normalmente no incluiremos directamente aquí ninguna librería, si no que haremos referencia a ellas en el fichero build.gradle.

- RES FOLDER: Contiene todos los ficheros de recursos necesarios para el proyecto imágenes , layouts, cadenas de texto, etc. Los diferentes tipos de recursos se pueden distribuir entre las siguientes subcarpetas:


- /res/drawable/: Contiene las imágenes y otros elementos gráficos usados por la aplicación. Para poder definir diferentes recursos dependiendo de la resolución y densidad de la pantalla del dispositivo se suele dividir en varias subcarpetas:
/drawable(recursos independientes de la densidad)
/drawable-ldpi(densidad baja)
/drawable-mdpi(densidad media)
/drawable-hdpi(densidad alta)
/drawable/xhdpi(densidad muy alta)
/drawable-xxhdpi(densidad muy muy alta)

- /res/LAYOUT/: Contiene los ficheros de definición XML de las diferentes pantallas de la interfaz gráfica. Para definir distintos layouts dependiendo de la orientación del dispositivo se puede dividir también en subcarpetas:
/layout (vertical)
/layout-land(horizontal)

- /res/MENU/: Contiene la definición XML de los menús de la aplicación.

- /res/VALUES/: Contiene otros ficheros de XML de recursos de la aplicación, como por ejemplo de cadenas de texto(strings.xml),arrays(styles.xml), colores(colors.xml), arrays de valores(arrays.xml), tamaños (dimens.xml), etc. 

- ANDROIDMANIFEST.XML: Este archivo lo podríamos comparar con un Web.config o App.config de otros lenguajes, aquí se almacenan todas las configuraciones relacionadas a la aplicación. También se deben definir cada una de las actividades, servicios y permisos que necesitamos para correr nuestra app, entre otras cosas.





Archivos XML en un proyecto Android:

XML es uno de los estándares más utilizados en la actualidad para codificar información. ... Entre otras cosas es utilizado para definir Layouts, animaciones,AndroidManifest.xml,etc. Una de las mayores fortalezas de la plataforma Android es que se aprovecha el lenguaje de programación Java y sus librerías.

   EJEMPLO:
Vamos a ver más en detalle la estructura de un documento XML bien formado. Para ello, emplearemos un ejemplo básico que mostramos a continuación, donde describimos las partes que lo forman. Es conveniente resaltar que todo componente de un documento es un objeto, y que a cada objeto del árbol se le denomina nodo:

Documento XML

Como se puede apreciar en la imagen anterior, el ejemplo estaría formado por:

(1) Un prólogo (opcional), en el que se especifica que se trata de un documento XML y del tipo de codificación utilizado (en este caso UTF-8 para representar un carácter Unicode o identificador único). Dentro de este prólogo se podrá establecer un DTD que describe los elementos, atributos, notaciones y entidades para utilizar en el documento, o un esquema XML, similar a un DTD, pero que permite asociar tipos de datos con elementos.

Ejemplo de DTD interno:


Ejemplo de creación de esquema XML:


Ejemplo de documento XML asignado al XML esquema:



(2) Elemento o nodo raíz (obligatorio), que formará el cuerpo del documento, y que englobará al resto de elementos hijos declarados. Dicho elemento será padre del resto de elementos, y sólo es posible establecer un elemento raíz por documento XML.
(3) Elementos hijos o nodos rama del elemento raíz, que a su vez estarán formados por nodos hijos (nodo final o también llamado hojas), donde se establecen las cadenas de texto. Para añadir un atributo al elemento declarado (información extra sobre el elemento donde se implemente), bastará con definirlo de la siguiente manera:

Archivos tipo clase .java.

Un proyecto Java podemos considerarlo como una serie de carpetas ordenadas y organizadas de acuerdo con una lógica para mantener organizado el código. Un proyecto suele constar de archivos .java, archivos .class y documentación.
Los archivos .java contienen el código fuente (entendible por humanos) que en un momento dado podemos modificar con un editor de textos y suelen encontrarse en carpetas de nombre src (source).
EJEMPLO:
Vamos a crear nuestro primer proyecto. Para ello conviene crear primero una carpeta donde ir almacenando los proyectos que vayamos creando. Hazlo en la ruta que te parezca más adecuada. Nosotros usaremos C:/ProyectosCursoJava. Pulsamos en el menú Project -> New Project y buscamos la carpeta donde vamos a guardar el proyecto.
Donde pone “Nombre de archivo” escribiremos ProyectoP1 o cualquier otro nombre que nos parezca adecuado.
 A continuación, en el lateral izquierdo pulsamos sobre New Class y donde nos solicita nombre para la clase (Class Name) escribimos “Ejemplo” y pulsamos aceptar. Nos aparecerá un icono con el nombre “Ejemplo” y rayas transversales. Ese icono representa una clase. Discutiremos qué es una clase en Java un poco más adelante, por ahora simplemente pensaremos que una clase es código Java. Ahora vamos a ejecutar una pequeña prueba. Pulsa sobre el botón “Compile” y el rayado que aparecía deberá haber desaparecido.
--------------------->
COMPILADO
¿Qué hemos hecho en este proceso? Al crear la clase, hemos creado un archivo denominado Ejemplo.java. Al pulsar sobre “Compile”, hemos transformado el código que contenía ese archivo en bytecode y hemos creado el archivo Ejemplo.class. ¿Pero qué código hemos compilado si no hemos escrito nada? Efectivamente, no podríamos compilar algo vacío. La explicación radica en que cuando se crea una clase vacía BlueJ la crea con un código por defecto, digamos que un ejemplo muy básico de código que ya es compilable. Vamos a comprobar lo que hemos dicho sobre los archivos: para ello vamos al explorador de archivos y nos dirigimos a la ruta donde tenemos guardado el proyecto.

lunes, 25 de marzo de 2019

Layouts

Relativa:
El Relative Layout, como podemos ver en la figura anterior, es el tipo predefinido en Android Studio de layout. Su estructura es dependiente, ya que cada elemento depende de uno o varios elementos para estructurarse, de esta manera, si el tamaño de pantalla aumenta, se re ordena para quedar alineado con los bordes o con los elementos de los que es dependiente.



Linear vertical y Linear horizontal:
 Es un grupo de vista que alinea todos los campos secundarios en una única dirección, de manera vertical u horizontal. Puedes especificar la dirección del diseño con el atributo android: orientación.


Frame:
Éste es el más simple de todos los layouts de Android. Un FrameLayout coloca todos sus controles hijos alineados con su esquina superior izquierda, de forma que cada control quedará oculto por el control siguiente (a menos que éste último tenga transparencia). Por ello, suele utilizarse para mostrar un único control en su interior, a modo de contenedor (placeholder) sencillo para un sólo elemento sustituible, por ejemplo una imagen.

Table:
Un TableLayout permite distribuir sus elementos hijos de forma tabular, definiendo las filas y columnas necesarias, y la posición de cada componente dentro de la tabla. 

Fragment:
Un Fragment representa un comportamiento o una parte de la interfaz de usuario en una actividad. Puedes combinar múltiples fragmentos en una sola actividad para crear una IU multipanel  y volver a usar un fragmento en múltiples actividades. Puedes pensar en un fragmento como una sección modular de una actividad que tiene su ciclo de vida.


Include:
Aunque Android ofrece una variedad de widgets para proporcionar elementos interactivos pequeños y re-utilizables, es posible que también necesite reutilizar componentes más grandes que requieran un diseño especial. Para reutilizar eficientemente los diseños completos, puede usar las etiquetas <include/> y <merge/> para incrustar otro diseño dentro del diseño actual.



lunes, 11 de marzo de 2019

Entorno de trabajo (Ventana Principal) de Eclipse con Android



Ford widgets:
Puedes insertar un botón de esperar, insertar una barra que muestra al cargar, una barra para calificar, insertar un botón (largo, mediano, chico, etc)

Text Fields:
Se puede insertar texto, contraseña, correo, dirección, hora, número, fecha, múltiple de texto, etc.

Layouts:
Agregar diseño de cuadricula, diseño con marco, una o más filas en la tabla, diseño de lineas verticales, diseño relativo, etc.

Composite:
Verlo en forma de lista, vista cuadriculada en forma horizontal o vertical, insertar lineas expansibles.

Imagenes y Media:
Vista imagen, vista vídeo, insertar imagen o vídeo de tu galería, botón de una imagen, etc.

Time y date:
Insertar un selector de hora, insertar vista calendario, cronometro, reloj digital, selector de fechas, etc.

Transitions:
Insertar una imagen adelante del texto, vista pila, animador, múltiple, vista delante del texto, etc.

Advanced:
Gestiona los sucesos asociados al cambio de foco, insertar una extensión XLM, insertar selector de números, controles de zoom, vista de la superficie, vista de la estructura, etc.

Other:
Se puede insertar la hora en forma de texto.

Costom y Library Views:
Aqui se pueden poner archivos que el usuario crea para usarlos en su aplicación.

Práctica Promedio

PROCESO DE LA PRÁCTICA "PROMEDIO" Para ingresar a Eclipse: Al hacer clic en el archivo aparece lo siguiente en la pantal...