domingo, 31 de marzo de 2019

Que son los archivos tipo clase .java


Las clases de Java son los archivos ".java" que contienen el código fuente y que serán posteriormente compilados en archivos ".class". Estos archivos Java tienen que ser almacenados dentro de la carpeta fuente recientemente creada (por ejemplo, "src"). Pulse "New > Class" para abrir la ventana de creación de clases.


La carpeta fuente especificada debería ser la carpeta recientemente definida (src). Si no se especifica ningún paquete para contener las clases Java, se guardarán dentro de un paquete por defecto. El último campo obligatorio que debería ser rellenado antes de proceder a la creación de la clase Java es el propio nombre de la clase. Las convenciones de Java sugieren que el nombre de una clase debería comenzar con mayúscula. En este tutorial se ha usado el nombre "ExampleClass".

También existen otros modificadores que pueden ser fácilmente añadidos a una clase desde el mismo momento de su creación. Sin embargo, estos elementos también podrían ser añadidos manualmente en otras fases más avanzadas del proceso de desarrollo. Si se pretende que la nueva clase extienda (herede de) otra clase existente, se debería especificar la clase "padre" dentro del campo "Superclass". El botón "Browse..." es de gran utilidad a la hora de encontrar clases que sean posibles candidatas para ser extendidas. Aunque Java sólo soporta herencia única (sólo puede extenderse de una única clase) sí que es posible que una clase implemente más de una interfaz. Una vez más, el botón "Browse..." simplifica la tarea de seleccionar interfaces implementadas.

Si se desea que la nueva clase contenga un método "main" (es decir, el punto inicial de ejecución del programa), puede añadirse dicho método automáticamente sólo con marcar la casilla con la opción apropiada. También pueden implementarse de esta manera los constructores de la superclase y todos los métodos abstractos heredados. Esta última opción es muy útil si se desea instanciar la clase puesto que para esto todo método abstracto debería estar implementado.

Es interesante destacar que los archivos compilados ".class" sólo son visibles en la ventana "Navigator", abierta por defecto dentro de la perspectiva "Resource". Puesto que la perspectiva de Java no abre esa ventana por defecto, los ficheros .class no serán visibles en la vista del Package Explorer. Sin embargo, basta con escribir y guardar un archivo ".java" para que se cree un archivo ".class" resultante de compilar el archivo fuente anterior.



Que son los archivos xml en un proyecto Android

El tipo de archivo XML, creado como un formato de datos de texto, no solo es legible a nivel de usuario, sino que también es comprensible a nivel de máquina y, por tanto, práctico para su uso en servicios web. XML es un lenguaje multiplataforma diseñado para almacenar varios tipos de datos. Destaca por su simplicidad, usabilidad y generalidad, es tan popular como el lenguaje HTML y se distribuye extensamente a través de internet. La popularidad de este formato se debe principalmente a que los archivos XML pueden modificarse fácilmente con un editor de texto.
Detalles técnicos sobre los archivos XML
Un documento XML contiene una serie de caracteres Unicode, donde cada uno de estos caracteres puede ubicarse en un documento individual. La codificación estándar Unicode que forma un documento XML se divide en marcas y contenido siguiendo unas sencillas normas sintácticas. Presenta ventajas respecto a los documentos HTML, ya que permite añadir etiquetas personalizadas a objetos para definir y diferenciar los datos que estos contienen.









Estructuras de carpetas de un proyecto Android




estructura proyecto android
Cómo se ve en la imagen anterior, luego del nombre de nuestro proyecto vemos ciertas carpetas y archivos. A continuación la explicación y especificación de ellos:

  • src: Se trata nada más y nada menos que el código fuente de nuestro proyecto Android, aquí se ubican los paquetes (o namespaces) y archivos de extensión .java.
  • gen: En esta carpeta se encuentran todos los archivos auto-generados por el IDE. Uno de los más importantes es la clase R.java que contiene todos los identificadores de acceso a interfaz gráfica (botones, layouts, cajas de texto, etc.), recursos (iconos, fotos, audio, video, etc.). Cada vez que nombras un botón se crea una entrada en este archivo para que desde el código fuente (Archivos de extensión .java) puedas referenciarlos. Algo muy importante es que no debes mover nada en esta carpeta.
  • Android 4.2.2 y Android Private Libraries: Facil, la primera almacena los archivos necesarios para todo lo que vas a trabajar de Android (Librerias Android). y la segunda almacena las librerías externas que utilices.
  • bin: Esta carpeta contiene los archivos generados de la compilación de tu aplicación. Para efectos de desarrollo aquí encuentras el archivo instalador (APK) para que lo instales en otros dispositivos. (No sirve para subir a Goole Play Store, pero es tema de otro post.)
  • libs: Aquí debes poner todas las librerías externas que vas a usar.
  • res: Carpeta de recursos, ya que es bastante importante vamos a hacer doble clic sobre ella a ver que encontramos:
carpeta res android

drawable: Todas las carpetas con este nombre antes del guión almacenan recursos gráficos de la aplicación (png, jpg, bitmap) y recursos xml como fondos personalizados, bordes, sombras, etc. 
Los prefijos hdpildpimdpixhdpi y xxhdpi indican la escala de tamaños (o pixelaje) de pantallas donde se visualizarán los recursos. Es decir, los recursos para pantallas pequeñas los insertariamos en la carpeta ldpi y los recursos para pantallas grandes (como pantallas retina) las incluiriamos en xxhdpi. Dichos recursos deben estar en cada una de las carpetas con el mismo nombre (pero con diferente tamaño).
iconografia
    • layout: Esta carpeta almacena los archivos xml que conforman cada una de las secciones interactivas de una actividad (Views Activity). Si esto fuera .NET estaríamos hablando de Forms y CustomControls.
    • menu: Los menús son archivos xml que indican cada una de las opciones de un menú de opciones en una actividad. Normalmente al presionar la tecla opciones o menú de nuestro dispositivo.
    • values: Los valores son archivos xml de recursos textuales, por ejemplo: el archivo string.xml almacena todas las cadenas pre-definidas que tendrá nuestra aplicación (el nombre de la app, los label de los formularios, mensajes de bienvenida, texto en los botones, etc.). No es obligatorio guardar todo aquí pero se recomienda mucho ya que si fueras a cambiar el idioma de tu aplicación podrías tener un archivo strings.xml en otro idioma.
      Otros valores que pueden ser almacenados aquí pueden ser los colores de tu aplicación. colors.xml, archivos de margenes o tamaños dimens.xml, estilos styles.xml, entre otros.
      Existe la posibilidad de crear otras carpetas que no están incluidas en las carpetas por defecto de las aplicaciones, una de ellas es la carpeta rawdonde se almacenan todos los archivos multimedia de la aplicación (audio y video).
  • AndroidManifest.xml: Este famosisimo 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.


Pasos para crear el primer proyecto Android

Empezaremos con un programa de ejemplo, llamado “Hola mundo” este nombre se suele poner a la primera práctica que realizamos en cualquier lenguaje de programación.
Debemos tener instaladas las herramientas necesarias y que detallán en android developers(en inglés).
Para ello abrimos el IDE y desde el menú superior accedemos a File —> New –>AndroidAplicattionProject, se habilitará un cuadro de diálogo en el que nos pedirán la siguiente información
desarrollar app android Eclipse

Nombre de la aplicación. (El que se mostrará al usuario una vez instalada, Hola Mundo). Nombre del proyecto como hemos dicho Hola Mundo.
Nombre del paquete que se usa como espacio de nombres y estructura de organización del código, “com.example.holamundo” Versión de Android mínima requerida, por ejemplo Android 2.2 (cuanto menor sea la versión, nuestra aplicación correrá en más dispositivos, aunque por otro lado nos penalizará el no poder usar las últimas características de Android).
crear aplicaciones android

A continuación marcamos la opción Crear Actividad para que Eclipse cree la clase que se lanzará al ejecutar la aplicación. Normalmente a esta clase se la llamará MainActivity, ya que será la clase principal de nuestra App. Al completar todo pulsamos finalizar para que se cree nuestro primer proyecto Android.
Es hora de echar un vistazo al proyecto creado, los proyectos de Android tienen una misma estructura de carpetas que se debe mantener. Usando la vista de Package Explorer, nos resultará muy fácil verla:
crear una aplicacion android








Y esta es la estructura básica de un proyecto en el sistema operativo para móviles Android, si te animas, ejecuta el proyecto y verás en el emulador el resultado de lo que has hecho. Aunque por el momento sólo tienes el molde, quien sabe, puede que alguna vez publiques una app que la usen millones de personas y seas capaz de vivir de ella.

lunes, 25 de marzo de 2019

Layouts





Relative layout:

Es un grupo de vistas que muestra vistas secundarias en posiciones relativas. La posición de cada vista se puede especificar como relativa a elementos hermanos (como a la izquierda o debajo de otra vista) o en posiciones relativas al relative layout área principal (como alineadas con la parte inferior, izquierda o centro).


Layout linear (vertical y 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:orientation.

Layout fram:

É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.

Layout 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.

Layout fragment:

Un Fragment representa un comportamiento o una parte de la interfaz de usuario en una Activity. 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 propio, recibe sus propios eventos de entrada y que puedes agregar o quitar mientras la actividad se esté ejecutando (algo así como una "subactividad" que puedes volver a usar en diferentes actividades).

Layout include: 

Aunque Android ofrece una variedad de widgets para proporcionar elementos interactivos pequeños y reutilizables, 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/><merge/>para incrustar otro diseño dentro del diseño actual.

Resultado de imagen para layouts utilizados en android








viernes, 1 de marzo de 2019

Entorno Android




JDK: 

Es un software que provee herramientas de desarrollo para la creación de programas en Java. Puede instalarse en una computadora local o en una unidad de red. En la unidad de red se pueden tener las herramientas distribuidas en varias computadoras y trabajar como una sola aplicación.


ADT:

Provee ocultamiento de datos y alguna forma de encapsulamiento de datos permite definir un tipo de datos a sus operaciones.

IDE:

Un IDE es un entorno de programación que ha sido empaquetado como un programa de aplicación, o sea, consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica.

SDK:

Es un conjunto de herramientas que ayudan a la programación de aplicaciones para un entorno tecnológico particular.

AVD:

Es una configuración de emulador que permite modelar un dispositivo real mediante la definición de opciones de hardware y software para ser emulados por el Emulador de Android.