viernes, 2 de junio de 2017

Formularios y Práctica SUMA

Formularios

1.- Agenda



2.- Alumnos



3.- Datos personales


4.- Empleados


5.- Inventario


6.- Zoológico



Práctica SUMA








miércoles, 5 de abril de 2017

Layouts

A continuación se mostrará una tabla comparativa de los elementos que conforman la carpeta Layout en Eclipse Andoid.



Estructura de Carpetas de un Proyecto Andoid

En el explorador de paquetes podemos identificar la aplicación “practica1” y sus componentes distribuidos en las carpetas:

src: Contiene el código fuente Java de la aplicación dentro del paquete correspondiente –com.example.practica1-. Esta carpeta contendrá todo el código fuente de la aplicación, código de la interfaz gráfica, clases auxiliares, etc. Inicialmente, Eclipse creará por nosotros el código básico de la pantalla (Activity) principal de la aplicación, que recordemos que en nuestro caso era MainActivity, y siempre bajo la estructura del paquete java definido.

gen: Depósito del código generado automáticamente. Se destaca el archivo R.java, donde se encuentran los identificadores de los recursos definidos en la carpeta res.

assets: El directorio assets es obligatorio y dentro podremos incluir archivos de recursos para nuestra aplicación que no sean compilados.

bin: Guarda los archivos generados por el proceso de compilación de la aplicación. Ejemplo el archivo “.apk” para instalar en el dispositivo.

libs: Contiene librerías privadas. En ella puedes encontrar inicialmente las librerías de soporte (support libraries) que permiten usar funciones de APIs que no están disponibles en versiones API anteriores.

res: Donde se encuentran los recursos de la aplicación: Imágenes, videos, archivos, cadenas, etc.

res/drawable:
Se depositan en ella las imágenes utilizadas por la aplicación.

res/layout: Carpeta donde se encuentra el archivo activity_main.xml, que representa la interface gráfica de la aplicación.


viernes, 24 de marzo de 2017

Cómo crear la primera aplicación Android

La programación es un mundo oscuro reservado para tan solo un cierto número de iluminados, o eso es lo que piensa la mayoría.

Sin más preámbulos vamos a crear nuestra primera aplicación "Hola Mundo".

1.- Abrir Eclipse.


2.- Abrir el Android Application Project.


3.- Ingresamos el nombre (en este caso "PrimerHolaMundo") y las configuraciones que vienen a continuación:



4.- Después de darle "Next" a todo, damos clic en "Finish".


5.- Damos doble clic en la parte que dice "Hello World".


6.- Al dar doble clic se nos abrirá una pestaña y en la parte donde dice "Hello World" tecleamos nosotros "Hola Mundo" como se muestra a continuación:


7.- Después, damos clic derecho en la parte donde se encuentra el nombre de nuestro proyecto, en este caso "PrimerHolaMundo" y en la parte de "Run As" damos clic en "2 Android Application" como se muestra a continuación y esperamos.


8.- Finalmente después de esperar, observamos que en efecto está escrito "Hola Mundo" en nuestra aplicación.




miércoles, 22 de marzo de 2017

Pasos para configurar la PC para desarrollar AM para Android

1.- Descargar e instalar JDK: Primero lo que tenemos que hacer es descargar e instalar el JDK (Java Development Kit) para la creación de programas en Java, a través del siguiente enlace: http://www.oracle.com/technetwork/java/javase/downloads/index.html

2.- Descargar e instalar SDK: Por consiguiente, se descarga e instala el SDK (Software Development Kit) para desarrollar aplicaciones y ejecutar un emulador de la versión de Android a través del siguiente enlace: https://dl.google.com/android/installer_r24.3.4-windows.exe

3.- Configurando SDK: Ya después de haber descargado e instalado el SDK, procederemos a configurarlo.

4.- Descargar Eclipse: Después descargaremos Eclipse, una herramienta que nos ayudará a programar/crear nuestras AM (aplicaciones móviles), se descarga a través del siguiente enlace: http://www.eclipse.org/downloads/

5.- Instalar plugin Android (si se quiere hacer en Android): Este plugin nos ayudará a crear los programas en Java en Android, aunque es opcional, se descarga a través del siguiente enlace: http://dl-ssl.google.com/android/eclipse/

6.- Configurar las preferencias de Eclipse.

7.- Configurar la máquina virtual.

Enlace a video de Youtube del tema: https://youtu.be/q5ngUJXn9pw

miércoles, 15 de marzo de 2017

Proceso de instalación del programa Eclipse

A continuación se mostrará el proceso de instalación del programa Eclipse.

1.- Ve a http://www.eclipse.org/downloads/.


2.- Para los usuarios de Windows, tendrás que saber qué versión de sistema operativo tienes. Si tu computadora es de 64-bit, selecciona Windows 64 y si es de 32-bit, selecciona Windows 32 bit.



3.- Una vez que descargues el archivo de Eclipse, necesitarás descomprimir el archivo Zip. Debes extraer el archivo a la raíz de la unidad C:\, o sólo muévelo a esa carpeta después de extraerlo. Hacer doble clic a eclipse.exe () para ejecutarlo.

4.- Después de que eclipse se haya instalado completamente y se haya extraído, crea una carpeta de trabajo donde contendrás todos los archivos de programa que has creado.


5.- Ahora que terminaste de instalar Eclipse, reinicia tu computadora. Al reiniciar tu computadora se actualizará la memoria de tu sistema y permitirá que los cambios creados por los instaladores surjan efecto.


6.- De ahí en adelante, crea un programa de prueba para probar la funcionalidad de Eclipse.


miércoles, 8 de marzo de 2017

Características del S.O. Android


Es un sistema operativo que desde el 2005 es propiedad de Google. Está basado en Linux y es diseñado principalmente para dispositivos con pantalla táctil como smartphones y tabletas.

Algunas de sus características son las siguientes:

  • Multitareas: Es la capacidad de desarrollar al mismo tiempo muchas tareas.
  • Aplicaciones Java: Permite realizar aplicaciones en el lenguaje Java.
  • Multitáctil: Es la capacidad de percibir e interpretar, mediante pequeños toques en la pantalla, como clic, touch, arrastrar o desplazar elemento.
  • SQLite: Es el que permite soporte para bases de datos en SQL.

Arquitectura del S.O Android

¿QUÉ ES?

Android es un sistema operativo basado en el núcleo Linux. Fue diseñado principalmente para dispositivos móviles con pantalla táctil, como teléfonos inteligentes, tablets o tabléfonos; y también para relojes inteligentes, televisores y automóviles.



Veamos con más detalle qué contiene cada capa de la pila:

Kernel de Linux

El núcleo del sistema operativo Android es un kernel Linux versión 2.6.

Proporciona una capa de abstracción para los elementos hardware a los que tienen que acceder las aplicaciones. Esto permite que se pueda acceder a esos componentes sin necesidad de conocer el modelo o características precisas de los que están instalados en cada teléfono.

Para cada elemento hardware del teléfono existe un controlador (o driver) dentro del kernel que permite utilizarlo desde el software.

Además de proporcionar controladores hardware, el kernel se encarga de gestionar los diferentes recursos del teléfono (energía, memoria, …) y del sistema operativo en sí: procesos, elementos de comunicación (networking), etc.

Bibliotecas

La capa que se sitúa justo sobre el kernel la componen las bibliotecas nativas de Android (también mal llamadas librerías, por el término inglés libraries). Estas bibliotecas están escritas en C o C++ y compiladas para la arquitectura hardware específica del teléfono.

Su cometido es proporcionar funcionalidad a las aplicaciones, para tareas que se repiten con frecuencia, evitando tener que codificarlas cada vez y garantizando que se llevan a cabo de la forma más eficiente (en teoría, al menos).

Entorno de ejecución

No se considera una capa en sí mismo, dado que también está formado por bibliotecas.

El componente principal del entorno de ejecución de Android es la máquina virtual Dalvik, componente que ejecuta todas y cada una de las aplicaciones no nativas de Android se compilan en un formato específico para la máquina virtual Dalvik, que es la que las ejecuta.

No es compatible con el bytecode Java (instrucciones ejecutables independientes de la arquitectura hardware).

Marco de aplicación

La siguiente capa la forman todas las clases y servicios que utilizan directamente las aplicaciones para realizar sus funciones y que, obviamente, se apoyan en las bibliotecas y en el entorno de ejecución que ya hemos detallado. La mayoría de los componentes de esta capa son bibliotecas Java que acceden a los recursos a través de la máquina virtual Dalvik.

Aplicaciones

La capa superior de esta pila software la forman, como no podría ser de otra forma, las aplicaciones. En este saco se incluyen todas las aplicaciones del dispositivo, tanto las que tienen interfaz de usuario como las que no, tanto las nativas (programadas en C o C++) como las administradas (programadas en Java), tanto las que vienen de serie con el dispositivo como las instaladas por el usuario.

Aquí está también la aplicación principal del sistema: Inicio (Home), también llamada a veces lanzador (launcher), porque es la que permite ejecutar otras aplicaciones proporcionando la lista de aplicaciones instaladas y mostrando diferentes escritorios donde se pueden colocar accesos directos a aplicaciones o incluso pequeñas aplicaciones incrustadas o widgets, que son también aplicaciones de esta capa.

Versiones del S.O Android

En el siguiente cuadro se presentan 12 versiones de Android, su tipo de licencia y características:



miércoles, 1 de marzo de 2017

Entorno de trabajo para aplicaciones móviles

Un IDE es un entorno de programación que ha sido empaquetado como un programa de aplicación; es decir, que consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica (GUI). Los IDEs pueden ser aplicaciones por sí solas o pueden ser parte de aplicaciones existentes.

1.- Eclipse
Eclipse es un programa informático compuesto por un conjunto de herramientas de programación de código abierto multiplataforma para desarrollar lo que el proyecto llama "Aplicaciones de Cliente Enriquecido", opuesto a las aplicaciones "Cliente-liviano" basadas en navegadores.


Esta plataforma típicamente ha sido usada para desarrollar entornos de desarrollo integrados (del inglés IDE), como el IDE de Java llamado Java Development Toolkit (JDT) y el compilador (ECJ) que se entrega como parte de Eclipse (y que son usados también para desarrollar el mismo Eclipse). Sin embargo, también se puede usar para otros tipos de aplicaciones cliente, como BitTorrent o Azureus.


2.- Xcode
Es el entorno de desarrollo integrado (IDE, en sus siglas en inglés) de Apple Inc. y se suministra gratuitamente junto con Mac OS X. Xcode trabaja conjuntamente con Interface Builder, una herencia de NeXT, una herramienta gráfica para la creación de interfaces de usuario.


Xcode incluye la colección de compiladores del proyecto GNU (GCC), y puede compilar código C, C++, Objective-C, Objective-C++, Java y AppleScript mediante una amplia gama de modelos de programación, incluyendo, pero no limitado a Cocoa, Carbón y Java. Otras compañías han añadido soporte para GNU Pascal, Free Pascal, Ada y Perl. Entre las características más apreciadas de Xcode está la tecnología para distribuir el proceso de construcción a partir de código fuente entre varios ordenadores, utilizando Bonjour.


3.- Carbide.C++
Es una herramienta para el desarrollo de software en lenguaje C++ destinado a dispositivos que funcionan bajo Symbian OS. Se usa tanto para desarrollar los teléfonos que incorporan dicho OS como para las aplicaciones que ejecutan éstos. Está formada por una familia de IDEs desarrollada por Nokia, basada en Eclipse, al que se han incorporado plug-ins para el desarrollo de Symbian OS.


Reemplazó a CodeWarrior como primer entorno de desarrollo para Symbian OS. Desde la versión 2.0, Carbide.c++ es gratuito y se ofrece en tres versiones (Developer, Professional, y OEM).


4.- Netbeans
Es un entorno de desarrollo integrado libre, hecho principalmente para el lenguaje de programación Java. Existe además un número importante de módulos para extenderlo. NetBeans IDE2 es un producto libre y gratuito sin restricciones de uso.



NetBeans es un proyecto de código abierto de gran éxito con una gran base de usuarios, una comunidad en constante crecimiento, y con cerca de 100 socios en todo el mundo. Sun MicroSystems fundó el proyecto de código abierto NetBeans en junio de 2000 y continúa siendo el patrocinador principal de los proyectos.


5.- Java
Es un lenguaje de programación de propósito general, concurrente, orientado a objetos y basado en clases que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible.


Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo (conocido en inglés como WORA, o "write once, run anywhere"), lo que quiere decir que el código que es ejecutado en una plataforma no tiene que ser recompilado para correr en otra. Java es, a partir de 2012, uno de los lenguajes de programación más populares en uso, particularmente para aplicaciones de cliente-servidor de web, con unos 10 millones de usuarios reportados.


viernes, 24 de febrero de 2017

Sistemas operativos libres

Concepto

El sistema operativo libre es un tipo de software que le permite al usuario:
  • Estudiar su estructura p, funcionamiento y adaptar a sus necesidades.
  • Ejecutar con cualquier propósito. 
  • Distribuir copias. 
  • Mejorarlo y distribuir al público, no tiene que pagar algún dinero por su uso ni su distribución.

Ventajas y desventajas


Sistema operativo libre.

VENTAJAS

  • Más seguro.
  • Más económico.
  • Se puede modificar, mejorar y distribuir libremente.
  • Se puede reproducir sin ningún problema.
  • Más rápido.
  • No requiere de muchos recursos de hardware.


DESVENTAJAS


  • No tiene soporte técnico.
  • No tiene garantías de autor ni de quien lo provee,
  • No existen compañías únicas que respalden toda la tecnología, se adquiere sin garantías explícitas.
  • La mayoría de la configuración del hardware no es intuitiva, se necesita dedicar recursos a la reparación de errores, la mayoría de sus soportes están en los foros de la web.

jueves, 23 de febrero de 2017

Sistemas operativos comerciales

¿Qué es?

Un sistema operativo comercial, es aquél que las compañías lo producen y cobran dinero por el producto, su distribución o soporte, este recurso económico se emplea para pagar licencias de ciertos programas no libres, darle salario a los programadores que contribuyeron a crear este software que normalmente son empleados por la empresa, por ejemplo: Microsoft.


Ventajas y desventajas

Sistema operativo comercial.


VENTAJAS

  • Más sencillo de utilizar.
  • Mas interactivo.
  • Tiene soporte técnico.
  • Aplicaciones desarrolladas en menor tiempo.
  • La curva de aprendizaje es mucho menor.

DESVENTAJAS

  • Muy caro.
  • No se puede distribuir copias.
  • La mayoría de los sistemas operativos comerciales son vulnerables a los virus.
  • No se puede distribuir libremente.
  • Hay que pagar la licencia de uso.
  • No se puede distribuir libremente.


Procesadores para dispositivos móviles


Tras el paso de los años la elección de un celular se ha reducido prácticamente a la elección de un procesador, ya que el usuario moderno sabe que mientras mejor sea el procesador, tendrá una mejor experiencia en cuanto al uso del sistema operativo y sus aplicaciones.

¿Qué es un procesador?

Un procesador, en pocas palabras, es el "cerebro" del dispositivo móvil en donde se realizan los procesos u operaciones que hace el dispositivo móvil. En este blog vamos a mencionar algunos procesadores para dispositivos móviles.

1.- Arquitectura ARM

La arquitectura ARM domina el mercado de los procesadores para celulares con aproximadamente un 80% del mercado, esto debido a su principal característica: el bajo consumo de energía, característica importante para un dispositivo móvil.

Actualmente la mayoría de los procesadores fabricados para los dispositivos móviles se basan en una de estas familias para su desarrollo.

Veamos por ejemplo el caso de iPhone de Apple:




Como podemos ver cada procesador en cada modelo del iPhone se basa en una diferente familia de la arquitectura ARM, siendo el procesador más actual para el iPhone el Apple A6 de doble núcleo basado en la familia Cortex.

ARM Cortex - A 15

2.- Procesador Hummingbird y Exynos de Samsung

Samsung también tiene su propia línea de procesadores, el más conocido es el Samsung Hummingbird.

Este procesador está implementado en el Samsung Galaxy i9000, tiene una arquitectura ARM cortex-A8, sin embargo Samsung ha mejorado el diseño lógico logrando que un mismo número de procesos sea completado en menos tiempo, obteniendo una ganancia de un 5 a un 10% en el desempeño sobre el diseño original de ARM.

Posee ademas tecnología de 45 nm (manómetros), esto significa que tiene una mayor cantidad de transistores en un menor espacio físico.

Procesador Samsung Hummingbird



3.- Procesador Snapdragon de Qualcomm
Al igual que el procesador anterior, el Snapdragon también está desarrollado en base a la tecnología de 45nm lo que representa un buen desempeño.

Esta generacion de procesadores basadas en la familia Cortex, version ARMv7-A y núcleo Qualcomm Scorpion es utilizada por dispositivos móviles como el HTC Desire Z, Thunderbold y el Disire HD.

Actualmente Qualcomm está produciendo procesadores basados en tecnología de 28nm llamados SnapDragon S4. Esta reduccion de tamaño (28 nm) implica una mejora en el consumo al realizar las mismas tareas que con un procesador de por ejemplo 45 nm. Según los creadores la reducción en el consumo estaría entre un 25 a 40%.


4.- Procesador Tegra de Nvidia

Es el procesador con más éxito de esta generación basado en la arquitectura Cortex-A9 con una frecuencia máxima de 1,2 GHz y un diseño de 40nm, posee dos núcleos y cada núcleo posee 64 Kb de memoria caché.

Equipado con un procesador de señales capaz de soportar sensores de cámaras de hasta 12 Megapixeles. En lo referente al procesamiento de gráficos se cuenta con un chip Geforce de ultra bajo consumo y adicionalmente soporta la salida de video HDMI.

En conclusión tenemos un procesador increíblemente rápido, con un gran desempeño en procesamiento de gráficos y con un bajo consumo de batería.


Para finalizar, los teléfonos móviles son un objeto de deseo cada vez más universal y ya no hay que ser apasionado de la tecnología para interesarse por qué pantalla, procesador o sistema operativo cargan.

Considerando lo anterior, el procesador cobra una doble importancia, ya que el continuo avance en aplicaciones y juegos para los dispositivos móviles hace necesario cada vez más un procesador más potente que pueda correr este tipo de aplicaciones cada vez más complejas.