lunes, 6 de mayo de 2019

Resumen video tutorial sobre sacar promedio en Android Eclipse


Este proyecto es muy parecido a la practica anterior, sin embargo aqui no solo sumaremos cifras sino que tambien dividiremos el resultado total de todas ellas por la cantidad de cifras ingresadas asi que lo primero es crear un nuevo proyecto escogemos el nombre del proyecto y el nombre del paquete del proyecto y escogemos las opciones que mas se nos ajusten entramos en modo edicion grafica, vamos a insertar dos ¨text field¨ donde vamos insertar los numeros que querramos sumar y un boton que va a ejecutar la acción de sumar, en una clase .java, donde vamos a redactar el codigo que mas se acople a nuestras necesidades, configuramos correctamente nuestro botón y los textfield.





lunes, 29 de abril de 2019

Resumen video tutorial de Suma en Android Eclipse



Lo primero es crear un nuevo proyecto escogemos el nombre del proyecto y el nombre del paquete del proyecto y escogemos las opciones que mas se nos ajusten entramos en modo edicion grafica, vamos a insertar dos ¨text field¨ donde vamos insertar los numeros que querramos sumar y un boton que va a ejecutar la acción de sumar, en una clase .java, donde vamos a redactar el codigo que mas se acople a nuestras necesidades, configuramos correctamente nuestro botón y los textfield.

lunes, 8 de abril de 2019

Maquina virtual

¿Que es una maquina virtual?



Una máquina virtual es un software que simula un sistema de computación y puede ejecutar programas como si fuese una computadora real. Este software en un principio fue definido como "un duplicado eficiente y aislado de una máquina física". La acepción del término actualmente incluye a máquinas virtuales que no tienen ninguna equivalencia directa con ningún hardware real.

Una característica esencial de las máquinas virtuales es que los procesos que ejecutan están limitados por los recursos y abstracciones proporcionados por ellas. Estos procesos no pueden escaparse de esta "computadora virtual".

Resultado de imagen para que es maquina virtual


Cual es el procedimiento para activarlas
Instalación:



Luego de descargar los dos archivos anteriores, deberian tener dos comprimidos.




Descomprimimos el SDK. Yo recomiendo colocarla en C: para que sea mas facil acceder y sepamos bien donde esta. Al descomprimir el sdk, veremos dos carpetas.. una de ellas es el sdk y la otra es un entorno de desarrollo, la segunda no nos sirve por lo que podemos borrarla. La primera la renombramos a sdk o la dejamos asi si quieren (eso queda a gusto de cada uno). Luego la movemos a C: (como digo, yo la coloco acá, para saber bien donde esta y acceder sin problemas).




Ahora al descomprimirla veremos los siguientes archivos:





Ahora procedemos a ejecutar el SDK Manager.exe, al hacerlo veremos una ventana como la siguiente:






Aquí descargaremos todas las librerías para poder programar android. Seleccionamos las plataformas que usaremos, en mi caso descargue todo menos las versiones 3.0 de android, simplemente porque no trabajo esas versiones. Si se programa para versiones anteriores a esta, la aplicación correrá sin problemas.




Bien ya teniendo todo eso.. podemos proceder a descomprimir el archivo de eclipse que descargamos (lo pueden colocar donde quieran, incluso dentro de la misma carpeta sdk, queda a gusto de cada uno).




Ejecutamos eclipse.exe nos preguntara una ruta donde queremos que se guarden los proyectos, dejamos la que esta (también pueden cambiarla si lo desean).




Ya asi pueden usarlo, pero aun no para programar android, necesitamos instalar un plugin.





Instalación plugin android en Eclipse:




Para instalar el plugin vamos a Help>Install New Software...








Ahora veremos una ventana como esta:






 




Hacemos click en el botón Add y nos saldrá una nueva ventana donde nos pedirá el nombre y la dirección del plugin. En nombre ponemos por ejemplo Android y en Location lo siguiente:





Código:

https://dl-ssl.google.com/android/eclipse/Al darle en OK escaneara lo que puede descargar y cuando termine nos saldrá una ventana como la siguiente:








Ya solo queda darle a Next y cuando pida aceptar la licencia, lo hacemos y listo. Al finalizar pedirá reiniciar eclipse, lo hacemos y ya tenemos todo preparado para programar android.




Ahora solo queda configurar las maquinas virtuales para poder probar nuestra aplicación sin tener que instalarla en nuestro móvil.





Creación de Maquina Virtual:




(las imágenes de esta sección son mías y las tome desde linux, pero es exactamente igual para windows)




Vamos a Windows>Android Virtual Device Manager, al hacerlo veremos una ventana como la siguiente:








En la imagen anterior se ven dos maquinas virtuales, esas ya las tenia creada, a ustedes les saldrá blanca esa sección. Para crear una maquina virtual hacemos click en New... y veremos ahora una ventana como la siguiente:








Aquí debemos completar los campos dependiendo del tipo de maquina que deseamos crear, tenemos que tener en cuenta, la versión de android, el tamaño de pantalla principalmente.




Completando los campos se vería algo así:








Bien, al darle a OK nos creará la maquina virtual (esto puede tardar varios segundos, no se asusten). Cuando este creada veremos que ya nos sale en la lista de Maquinas Virtuales:






Ahora si, tenemos todo listo para programar. Podemos crear una aplicación y probar a ver si anda sin necesidad de usar nuestro móvil.

miércoles, 27 de marzo de 2019

Pasos para crear el primer proyecto android en Eclipse



Abriendo Eclipse seguimos con, desde el menú de opciones: File -> New -> Android Application Project
creacion proyecto android
En este diálogo especificamos el nombre de la aplicación y proyecto (pueden ser iguales) y el nombre del paquete java donde se almacenarán los archivos java que creemos (normalmente la url de su empresa al revés).
Ahora empezaremos a presionar el botón next para pasar a otras configuraciones de nuestra aplicación, por el momento dejaremos todos los valores por defecto en cada una de los diálogos que aparece (son 5 diálogos actualmente), en el último diálogo debe aparecer el botón "Finish" el cual presionamos.
El ADT nos genera todos los directorios y archivos básicos para iniciar nuestro proyecto:
archivos y directorios de un proyecto android
No haremos en este momento un análisis del significado y objetivo de cada uno de estos directorios y archivos generados, sino a medida que avancemos con este curso iremos viendo en forma puntual y profunda.
La interfaz visual de nuestro programa para Android se almacena en un archivo XML en la carpeta res, subcarpeta layout y el archivo se llama activity_main.xml. En esta carpeta tenemos creada nuestra primer pantalla.
Al seleccionar este archivo el ADT nos permite visualizar el contenido en "vista de diseño (Graphical Layout)":
archivo xml graphical layout
Si seleccionamos la otra pestaña podemos visualizar el archivo activity_main.xml en formato de texto:
archivo xml en modo texto
El ADT ya insertó un control de tipo RelativeLayout que permite ingresar controles visuales alineados a los bordes y a otros controles que haya en la ventana (más adelante analizaremos este layout)
Ya veremos que podemos modificar todo este archivo para que se adapte a la aplicación que queremos desarrollar.
Luego contenido en el control RelativeLayout hay otro control de tipo TextView que es básicamente una etiqueta o label que mostrará en pantalla el valor almacenado en la propiedad text.
Podemos modificar directamente el archivo xml o en "vista de diseño" modificar los valores de las propiedades. Elegimos nuevamente la pestaña "Graphical Layout" y seleccionamos el TextView con el mouse y vemos que en la parte derecha de la pantalla aparece una ventana llamada "properties":
properties
Y estando seleccionado el TextView buscamos la propiedad Text y cargamos: "Mi primer programa para Android" y presionamos enter, podemos ver que se actualiza la vista:
properties
Con esto ya podemos probar nuestra primer aplicación para un dispositivo Android. SELECCIONAMOS con el mouse en la ventana de la izquierda (Package Explorer) el proyecto001 y presionamos el ícono de Run (triángulo verde) o desde el menú. Seleccionamos que se ejecute como aplicación "Android Application". Ahora se abrirá el AVD(Android Virtual Device) esto tarda bastante tiempo, es muy importante recordar que luego de ver ejecutándose el programa NO debemos cerrar el AVD para que la próxima ejecución se inicie más rápido (podemos minimizar el AVD)
Ahora podemos ver nuestra primer aplicación corriendo en el emulador de Android:
AVD con programa Android en ejecucion
Como hemos visto el ADT nos genera en forma automática todas las carpetas y archivos básicos que necesitamos en un principio. En el siguiente concepto podremos empezar a programar verdaderamente. El único objetivo de este ejercicio es recordar los pasos para crear un proyecto.


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 disenos 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 poyecto imágenes , layouts, cadenas de texto, etc. Los diferentes tipos de recursos se pueden distribuir entre las siguientes subcarpetas:
/res/drawable/
Contiene las imagenes 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), tamanos (dimens.xml), etc.

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.


Archivos xml en un proyecto Android.
XML es uno de los formatos más utilizados para intercambiar información entre aplicaciones de diferentes plataformas. Son ficheros de texto donde los campos o elementos de información que contienen se delimitan mediante pares de etiquetas. Para parsear esos documentos, es decir, para poder leerlos y tratarlos, empleamos principalmente dos modelos: SAX y DOM.
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:
                           








                                                                                                     




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.


¿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

La noción de layout suele utilizarse para nombrar al esquema de distribución de los elementos dentro un diseño.

  • RelativeLayout:

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 relacionados (como a la izquierda o debajo de otra vista) o en posiciones relativas al área principal de RelativeLayout (alineada con la parte inferior, izquierda o centro).




  • LinearLayout (vertical, 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.
Una lista vertical solo tendrá un campo secundario por fila, independientemente del ancho que tengan.
Una lista horizontal solo tendrá la altura de una fila (la altura del campo secundario más alto, más el relleno).



  • FrameLayout:



Un FrameLayout coloca todos sus controles hijos alineados con su esquina superior izquierda, de forma que cada control quedará oculto por el control siguiente. Se usa para mostrar un único control en su interior, para un sólo elemento sustituible.



  • TableLayout:


Proporciona un diseño horizontal para mostrar pestañas.



  • FragmentLayout:



Un fragment podría definirse como una porción de la interfaz de usuario que puede añadirse o eliminarse de la interfaz de forma independiente al resto de elementos de la actividad, y que por supuesto puede reutilizarse en otras actividades.



  • IncludeLayout:


En ocasiones se requiere reutilizar grandes componentes que requieren de un diseño especial. Para reutilizar diseños en forma eficiente, puede utilizar las etiquetas <include/> y <merge/> para agregar un layout dentro del actual.



lunes, 11 de marzo de 2019

Entorno de trabajo de Eclipse con Android


  1. 1.- La barra de herramientas te permite realizar una gran variedad de acciones, como la ejecución de tu app y el inicio de herramientas de Android.

  2. 2.- La barra de navegación te ayuda a explorar tu proyecto y abrir archivos para editar. Proporciona una vista más compacta de la estructura visible en la ventana Project.

  3. 3.- La ventana del editor es el área donde puedes crear y modificar código. Según el tipo de archivo actual, el editor puede cambiar. Por ejemplo, cuando se visualiza un archivo de diseño, el editor muestra el editor de diseño.

  4. 4.- La barra de la ventana de herramientas se extiende alrededor de la parte externa de la ventana del IDE y contiene los botones que te permiten expandir o contraer ventanas de herramientas individuales.

  5. 5.- Las ventanas de herramientas te permiten acceder a tareas específicas, como la administración de proyectos, las búsquedas, los controles de versión, etc. Puedes expandirlas y contraerlas.

  6. 6.- En la barra de estado, se muestra el estado de tu proyecto y del IDE en sí, como también cualquier advertencia o mensaje.
  7. (Versión de MAC)
 Otro formato sobre Windows es:

Resultado de imagen para entorno de trabajo eclipse
(Versión de Windows)

miércoles, 27 de febrero de 2019

Entorno Android

JDK
Java Development Kit (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

ADT
El ADT por sus siglas Herramientas de Desarrollo Android en inglés Android Development Tools; es un plugin para Eclipse que permite construir aplicaciones para Android.
ADT extiende las capacidades de Eclipse permitiéndonos desarrollar rápidamente proyectos para Android, agregar paquetes bases para las aplicaciones, testear nuestras aplicaciones usando las herramientas del SDK y exportar nuestras aplicaciones a apks.


IDE 
 Las siglas responden a las palabras inglesas Integrated Drive Electronics (IDE), y como hemos dicho, fueron un estándar de conexión hasta hace bien poco, siendo últimamente desplazado por el interfaz SATA (Serial ATA).

SDK 
 (Software Development Kit - Kit de desarrollo de software o devkit). Un SDK es un conjunto de herramientas y programas de desarrollo que permite al programador crear aplicaciones, para un determinado paquete de software, estructura de software, plataforma de hardware, sistema de computadora, consulta de videojuego, sistema operativo o similar.
Los SDK incluyen herramientas de debugger, códigos de ejemplos, documentaciones, y muchas veces un entorno de programación
                                                                                                                                                    
AVD                                                                                        Un dispositivo virtual Android (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.

Dispositivos moviles (Resumen pagina 194-204)

Desde hace más de un siglo se inventó el teléfono patentado por el escocés Graham Bell en 1876, se ha ido transformando hasta llegar a la tecnología móvil. Se considera tecnología móvil cuando se cuenta con varios medios informáticos, sin la necesidad de estar ubicados en un sitio fijo; es decir, cuando pueden ser utilizados desde cualquier parte.
Dispositivos insignia de la evolución del teléfono son: 

 Resultado de imagen para primeros telefonos  Resultado de imagen para telefono de discoResultado de imagen para telefono de cable antiguo

Modelo de Sobremesa (1910)     Telefono de disco            Telefono de cable

Resultado de imagen para telefono de cable     Resultado de imagen para telefono inalambrico        Resultado de imagen para celular antiguo ladrillo                   
Telefono de alambre y pantalla digital      Teléfono inalambrico         Teléfono analógico 
Resultado de imagen para telefono de tapa       Resultado de imagen para nokia 3310 antiguo  Resultado de imagen para blackberry
         Telefono de "tapita"           Nokia 3310 "El rompesuelos"               Blackberry
                                                         Resultado de imagen para samsung galaxy s7 edge                      
                                                    Samsung S7 Edge "Smartphone"

                                      Tipos de dispositivos móviles

          Existen distintos tipos de dispositivos móviles no solo los celulares como:
Resultado de imagen para samsung galaxy s10+  Resultado de imagen para tablet    Imagen relacionada
                 Celular                                   Tablet                                      PDA
Resultado de imagen para Camara digital   Resultado de imagen para camara de video      Resultado de imagen para smartwatch
        Camara digital                        Camara de video                           Smartwatch
                            Resultado de imagen para navegador para automovil       Resultado de imagen para paginador movil
                         Navegador para automóvil                             Paginador


                     Características generales de los dispositivos móviles

-Capacidades especiales de procesamiento.

-Conexión permanente o intermitente a una red

-Memoria limitada

-Diseños específicos para la función principal versatilidad para el desarrollo
 de otras funciones.

-Tanto su posesión como su operación se asocian al uso personal, por lo que se puede configurar al gusto

Clasificación de los dispositivos móviles:

-De acuerdo a su transmisión:
Se inicia con el sistema de transmisión analógica en los primeros celulares conocidos como "ladrillos" por su tamaño y peso, transmitiendo únicamente voz que se volvía intermitente de acuerdo con la baja calidad de la señal. Según su transmisión se clasifica en analógicos y digitales:

Analógicos


-Sistema Avanzado de Telefonía Móvil (AMPS, Advanced Mobile Phone System). Estados Unidos.
-Menor costo.
-Más propensa a la distorsión del sonido.
-Menor seguridad.
-Menor cantidad de datos

Digitales


-Sistema Avanzado de Telefonía Móvil Digital (AMPS,Digital Advanced Mobile Phone System). Estados Unidos.
-Sistema Global de Comunicaciones Móviles (GSM, Global System for Mobile Communications). Europa.
-Mayor costo
-Selecciona una única voz para evitar distorsiones.
-Mayor seguridad.
-Mayor cantidad de datos.


-De acuerdo a su interacción

Los dispositivos móviles se clasifican en dos grandes grupos de acuerdo a la forma en que permiten la interacción con el usuario. Los que se han diseñado común teclado físico y otros que han migrado al uso del ambiente táctil.

Imagen relacionada                                                   Resultado de imagen para smartphone
                Teclado                                                                                  Táctil
Teclado reducido.                                          Sustituye al teclado físico por un teclado lógico.
Incomodidad (dependiendo del tamaño de los dedos).         Permite el uso del lápiz sobre la pantalla.
Mayor peso.                                                  Disminuye el peso.
Mayor tamaño.                                              Disminuye el tamaño.
                                                                      Disminuye el consumo de energía.
                                                                      Mayor duración de las baterías.



A continuación imágenes de los sistemas operativos mas sobre salientes:

                       iOS                                         Android                              Windows Phone
Resultado de imagen para iOSResultado de imagen para androidResultado de imagen para windows phone
                                      Blackberry                               Symbian
                  Resultado de imagen para blackberryResultado de imagen para symbian

 
          Cuadro de sistema operativo Android






Resumen video tutorial sobre sacar promedio en Android Eclipse

Este proyecto es muy parecido a la practica anterior, sin embargo aqui no solo sumaremos cifras sino que tambien dividiremos el resultado ...