jueves, 30 de marzo de 2017

Estructura de las carpetas de un proyecto Android.


AndroidManifest.xml: Este fichero describe la aplicación Android. Se define su nombre, paquete, icóno, estilos, etc. Se indican las actividades, las intenciones, los servicios y los proveedores de contenido de la aplicación.


java: Carpeta que contiene el código fuente de la aplicación. 
MainActivity: Clase Java con el código de la actividad inicial.
ApplicationTest: Clase Java pensada para insertar código de testeo de la aplicación utilizando el API JUnit.
res: Carpeta que contiene los recursos usados por la aplicación.
layout: Contiene ficheros XML con vistas de la aplicación. Las vistas nos permitirán configurar las diferentes pantallas que compondrán la interfaz de usuario de la aplicación. 
menu:Ficheros XML con los menús de cada actividad. En el proyecto no hay ningún menú por lo que no se muestra esta carpeta.
values: También utilizaremos ficheros XML para indicar valores usados en la aplicación, de esta manera podremos cambiarlos desde estos ficheros sin necesidad de ir al código fuente.

miércoles, 22 de marzo de 2017

como crear la primera aplicacion android

paso 1.Instalar Android Studio

El programa oficial para desarrollar aplicaciones para Android es Android Studio, recomendado por el propio Google. Desde la web oficial de Android Developers podemos descargar Android Studio para cualquier plataforma: Windows (1187 MB), Mac OS (291 MB) y Linux (291 MB). También vamos a necesitar tener instalado el JDK 7 de Java. Al instalar Android Studio nos preguntará la ruta en donde hemos instalado el JDK 7.
Cualquiera puede crear una aplicación para Android
Para desarrollar una aplicación para Android necesitamos conocer dos lenguajes: Java y XML. El primero es solo un lenguaje de maquetación con el que vamos crear la parte visual de nuestra aplicación. Java es un lenguaje de programación con el que crearemos el funcionamiento debajo de lo que se ve. Es decir con XML dibujamos el botón y con Java efectuamos una acción cuando lo pulsamos.
Una vez instalado todo, ¡manos a la obra!

paso 2.Crea un nuevo proyecto

Android Studio puede tardar un poco en cargar. La primera vez que lo iniciamos nos saludará con una pantalla parecida a la que tenemos aquí abajo. Una aplicación se crea a partir de un buen número de archivos y carpetas por lo que para hacer nuestra aplicación necesitamos generar un nuevo proyecto. Seleccionando 'Start a new Android Studio project' (Android Studio está en inglés) se generará todo lo necesario para crear nuestra aplicación.
Una seleccionado un nuevo proyecto, le tendremos que poner nombre al mismo en 'Anpplication Name'. Le puedes poner el nombre que quieras. Yo lo voy a llamar "HolaAndroidPIT". La siguiente línea, 'Company Domain', es para poner el código de desarrollador que Google nos da para publicar nuestras aplicaciones en Google Play. Como no vamos a colocarla en Play Store podemos dejar esta línea tal cual. La última línea es la ruta donde se guarda este proyecto en el disco duro, también en mejor dejarla como está.
Una vez listo pulsa en 'Next' abajo a la derecha.
En la siguiente ventana vamos a elegir el dispositivo al que vamos a destinar nuestra aplicación, desde un smartphone o tablet hasta las Google Glass. Una vez elegido el tipo de dispositivo tenemos que elegir el nivel de API. Esto quiere decir si elegimos la API 23 Android 6.0 (Marshamllow) para nuestra aplicación no funcionará con los dispositivo que tengan una versión inferior a esta, es decir, la gran mayoría de los dispositivos. Este suele ser un punto delicado en cuanto a decisión. Para nuestra aplicación podemos dejarlo en el API 15 y pulsa en 'Next'.


La siguiente ventana es para elegir la actividad principal de nuestra aplicación. No nos vamos a complicar mucho así que vamos a elegir una actividad en blanco: 'Blank Activity'. Pulsa sobre 'Next'.
Ahora le puedes poner nombre a la actividad principal el cual se mostrará arriba en nuestra aplicación. Puedes ponerle el nombre que tendrá tu aplicación. Yo lo voy a nombrar como "HolaAndroidPIT". Después solo tienes que pulsar en 'Finish'.

paso 3.Mi primera aplicación.

Una vez creado el proyecto, vamos a tener una ventana en la que a la izquierda vamos a tener el árbol con las carpetas y archivos del proyecto. Al empezar estará seleccionado el archivo con extensión .xml de nuestra actividad principal que se encuentra dentro de la carpeta 'layout'. A la derecha se muestra lo que contiene el archivo y hay dos pestañas abajo para poder visualizarlo.
Una es 'Design' que muestra el diseño de como se vería nuestra app, donde también podemos coger otros componentes como botones del menú de la izquierda y soltarlos sobre la pantalla de smartphone. La otra pestaña es 'Text' y aquí se muestra el código XML de toda la maquetación de los diferentes elementos que tengamos en la actividad. Si quieres que tu aplicación funcione bien al final vas a mirar más el código que el diseñador.
Nos vamos a quedar en la pestaña 'Design' y ahora vamos a cambiar el texto que aparece arriba a la derecha. Selecciónalo con el ratón. Se marcará con un recuadro en azul. Pulsa cualquier letra y podrás modificar el texto. Escribe lo que quieras. Yo para seguir con la costumbre he puesto "Hola AndroidPIT".
 La letra me parece un poco pequeña así voy a ponerla más grande en el apartado de 'textSize' en el cuadro de 'Properties' (propiedades) voy a colocar 35dp. En 'textStyle' voy a marcar 'bold' para ponerlo en negrita. Y también lo voy a centrar en la pantalla arrastrando el texto con el ratón.
En el árbol de componentes, 'Componet Tree', encima de las propiedades nuestro texto tiene un pequeño triangulo amarillo de advertencia. Android Studio de informa de los posibles errores de código e incluso de las faltas de ortografía. Por defecto solo corrige el inglés y si escribimos en otro idioma lo marcará como error. Se puede configurar para que detecte otros idiomas pero por ahora no nos vamos a molestar.
Justo encima de la vista previa del dispositivo podemos cambiar el mismo para ver como queda en los diferentes tamaños de pantalla de los Nexus tanto smartphones y tablets. Despliega la lista y prueba a cambiar a otro dispositivo, un Nexus 9 o un Nexus 6P.
Si tienes un aviso de problemas de rendering y no se muestra el dispositivo puedes cambiar la visualización de la API un poco más a la derecha en el icono del androide verde con un número.
Ya estamos listos para pasar nuestra primera aplicación a nuestro dispositivo. En el smartphone activas las opciones de desarrollo y dentro de ellas activa la depuración por USB. Conecta el smartphone al ordenador con un cable USB. En Android Studio, arriba en la barra de iconos busca el símbolo de play, es un triangulo verde a la derecha de un androide junto a la palabra 'app'. Pulsa el triángulo, arrancará el ADB. Aparecerá una ventana con nuestro dispositivo seleccionado y pulsamos en 'OK'. Y ¡voilà! ya tenemos nuestra aplicación corriendo en nuestro smartphone.

Aprender a programar aplicaciones para Android

Si te ha picado la curiosidad puede que esto no sea suficiente para ti. El mundo de la programación es algo muy divertido en donde puedes conseguir cosas espectaculares y mucha satisfacción.



viernes, 17 de marzo de 2017

Configurar PC para desarrollar para Android

Para poder hacer que nuestra computadora pueda realizar procesos de programación de android debemos seguir los siguientes pasos:

1.- Descargamos e instalamos JDK (java) por medio de la página www.oracle.com

2.- Despues de haber instalado y descargado Java, nos dirigimos a developers.android.com y descargamos e instalamos el SDK

3.- Configuramos el SDK descargando en sus opciones la API 8, ya que esta tiene más existencia en cuanto a dispositivos móviles.

4.- Al terminar la configuración del SDK pasamos a iniciar el proceso de instalación de Eclipse, podemos encontrar los pasos de instalación del mismo en el blog http://javierquintanilladam1.blogspot.mx/ en la entrada 10.

5.- Entramos a Eclipse y en la pesataña "help" damos cilc en "install new software". Se abrira una nueva ventana en lacual daremos cilc en "Add" y pondremos "PluginAndroid" en la caja de texto para nombre. despues ingresamos en la siguiente caja de texto "https://dl-ssl.google.com/android/eclipse/" y damos en aceptar para asi poder iniciar el proceso de descarga e instalación del plugin.

6.- Configuramos Eclipse a gusto personal.
7.- Configuramos la máquina virtual a traves del AVD Manager con el API nivel 8.








miércoles, 15 de marzo de 2017

proceso de instalacion del programa eclipse

PASO 1.-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.

Paso 2.-Una vez que descargues el archivo de Eclipse, necesitarás descomprimir el archivo Zip, el cual creará una carpeta de Eclipse sin comprimir. Debes extraer el archivo a la raíz de la unidad C:\, así creando la carpeta “C:\eclipse”, o sólo muévelo o esa carpeta después de extraerlo. Ya que Eclipse no tiene algún instalador, habrá un archivo dentro de la carpeta de Eclipse llamado eclipse.exe ( ). Puedes hacer doble clic en el archivo para ejecutar Eclipse.
aso 3.-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.
Paso 4.-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.

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










jueves, 9 de marzo de 2017

android para eclipse

Introduccion


Android salio en 2003 y despues fue adquirido por google. esta basado en el kernel de linux para dispositivos con pantalla tactil.
entre agunas de sus mejores caracteristicas esta...
  • Código abierto.
  • Núcleo basado en el Kernel de Linux.
  • Adaptable a muchas pantallas y resoluciones.
  • Utiliza SQLite para el almacenamiento de datos.
  • Ofrece diferentes formas de mensajería.
  • Navegador web basado en WebKit incluido.
  • Soporte de Java y muchos formatos multimedia.
  • Soporte de HTML, HTML5, Adobe Flash Player, etc.
  • Incluye un emulador de dispositivos, herramientas para depuración de memoria y análisis del rendimiento del software.
  • Catálogo de aplicaciones gratuitas o pagas en el que pueden ser descargadas e instaladas (Google Play).
  • Bluetooth.
  • Google Talk desde su versión HoneyComb, para realizar videollamadas.
  • Multitarea real de aplicaciones.

multitarea 

Es la capacidad de desarrollar al mismo tiempo muchas tareas


Aplicaciones
Java esto va a permitir a los programadores hacer aplicaciones en el lenguaje java



multitactil

Es la capacidad de percibir mediante pequenios toque la pantalla e interperetar con un click

Squlite


Permite soportar basesde datos en sql

jueves, 2 de marzo de 2017

versiones android


arquitectura del s.o de android

 Arquitectura del s.o de Android

       Como ya se ha mencionado, Android es una plataforma para dispositivos móviles que contiene una pila de software donde se incluye un sistema operativo, middleware y aplicaciones básicas para el usuario.

        En las siguientes líneas se dará una visión global por capas de cuál es la arquitectura empleada en Android. Cada una de estas capas utiliza servicios ofrecidos por las anteriores, y ofrece a su vez los suyos propios a las capas de niveles superiores, tal como muestra la siguiente figura ((c) Google):
 



  •  Aplicaciones: Este nivel contiene, tanto las incluidas por defecto de Android como aquellas que el usuario vaya añadiendo posteriormente, ya sean de terceras empresas o de su propio desarrollo. Todas estas aplicaciones utilizan los servicios, las API y librerías de los niveles anteriores.
  • Framework de Aplicaciones: Representa fundamentalmente el conjunto de herramientas de desarrollo de cualquier aplicación. Toda aplicación que se desarrolle para Android, ya sean las propias del dispositivo, las desarrolladas por Google o terceras compañías, o incluso las que el propio usuario cree, utilizan el mismo conjunto de API y el mismo "framework", representado por este nivel.
        Entre las API más importantes ubicadas aquí, se pueden encontrar las siguientes:
·         Activity Manager: Conjunto de API que gestiona el ciclo de vida de las aplicaciones en Android.
·        Window ManagerGestiona las ventanas de las aplicaciones y utiliza la librería Surface Manager.
·        Telephone Manager: Incluye todas las API vinculadas a las funcionalidades propias del teléfono (llamadas, mensajes, etc.).
·        Content Provider: Permite a cualquier aplicación compartir sus datos con las demás aplicaciones de Android. Por ejemplo, gracias a esta API la información de contactos, agenda, mensajes, etc. será accesible para otras aplicaciones.
·        View System: Proporciona un gran número de elementos para poder construir interfaces de usuario (GUI), como listas, mosaicos, botones, "check-boxes", tamaño de ventanas, control de las interfaces mediante teclado, etc. Incluye también algunas vistas estándar para las funcionalidades más frecuentes.
                  ·          Location Manager: Posibilita a las aplicaciones la obtención de información de localización y                                     posicionamiento.
·         Notification Manager: Mediante el cual las aplicaciones, usando un mismo formato, comunican al usuario eventos que ocurran durante su ejecución: una llamada entrante, un mensaje recibido, conexión Wi-Fi disponible, ubicación en un punto determinado, etc. Si llevan asociada alguna acción, en Android denominada Intent, (por ejemplo, atender una llamada recibida) ésta se activa mediante un simple clic.
·         XMPP Service: Colección de API para utilizar este protocolo de intercambio de mensajes basado en XML.
  • Librerías: La siguiente capa se corresponde con las librerías utilizadas por Android. Éstas han sido escritas utilizando C/C++ y proporcionan a Android la mayor parte de sus capacidades más características. Junto al núcleo basado en Linux, estas librerías constituyen el corazón de Android.
              Entre las librerías más importantes ubicadas aquí, se pueden encontrar las siguientes:
·         Librería libc: Incluye todas las cabeceras y funciones según el estándar del lenguaje C. Todas las demás librerías se definen en este lenguaje.
·        Librería Surface Manager: Es la encargada de componer los diferentes elementos de navegación de pantalla. Gestiona también las ventanas pertenecientes a las distintas aplicaciones activas en cada momento.
·        OpenGL/SL y SGL: Representan las librerías gráficas y, por tanto, sustentan la capacidad gráfica de Android. OpenGL/SL maneja gráficos en 3D y permite utilizar, en caso de que esté disponible en el propio dispositivo móvil, el hardware encargado de proporcionar gráficos 3D. Por otro lado, SGL proporciona gráficos en 2D, por lo que será la librería más habitualmente utilizada por la mayoría de las aplicaciones. Una característica importante de la capacidad gráfica de Android es que es posible desarrollar aplicaciones que combinen gráficos en 3D y 2D.
·        Librería Media Libraries: Proporciona todos los códecs necesarios para el contenido multimedia soportado en Android (vídeo, audio, imágenes estáticas y animadas, etc.)
·         FreeType: Permite trabajar de forma rápida  y sencilla con distintos tipos de fuentes.
·        Librería SSL: Posibilita la utilización de dicho protocolo para establecer comunicaciones seguras.
·         Librería SQLiteCreación y gestión de bases de datos relacionales. 
·        Librería WebKit: Proporciona un motor para las aplicaciones de tipo navegador y forma el núcleo del actual navegador incluido por defecto en la plataforma Android.
  • Tiempo de ejecución de AndroidAl mismo nivel que las librerias de Android se sitúa el entorno de ejecución. Éste lo constituyen las Core Libraries, que son librerias con mulititud de clases Java y la máquina vistual Dalvik.
  • Núcleo LinuxAndroid utiliza el núcleo de Linux 2.6 como una capa de abstracción para el hardware disponible en los dispositivos móviles. Esta capa contiene los drivers necesarios para que cualquier componente hardware pueda ser utilizado mediante las llamadas correspondientes. Siempre que un fabricante incluye un nuevo elemento de hardware, lo primero que se debe realizar para que pueda ser utilizado desde Android es crear las librerias de control o drivers necesarios dentro de este kernel de Linux embebido en el propio Android.

Los principales entornos de trabajo para aplicaciones moviles


Los principales entornos de trabajo para aplicaciones moviles




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.
Eclipse
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.
XCode
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 estos.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)



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.
La plataforma NetBeans permite que las aplicaciones sean desarrolladas a partir de un conjunto de componentes de software llamados módulos. Un módulo es un archivo Java que contiene clases de java escritas para interactuar con las APIs de NetBeans y un archivo especial (manifest file) que lo identifica como módulo. Las aplicaciones construidas a partir de módulos pueden ser extendidas agregándole nuevos módulos. Debido a que los módulos pueden ser desarrollados independientemente, las aplicaciones basadas en la plataforma NetBeans pueden ser extendidas fácilmente por otros desarrolladores de software.


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.
Desde la creación de la especificación J2ME (Java 2 Platform, Micro Edition), una versión del entorno de ejecución Java reducido y altamente optimizado, especialmente desarrollado para el mercado de dispositivos electrónicos de consumo se ha producido toda una revolución en lo que a la extensión de Java se refiere.
Es posible encontrar microprocesadores diseñados para ejecutar bytecode Java y software Java para tarjetas inteligentes (JavaCard), teléfonos móviles, buscapersonas, set-top-boxes, sintonizadores de TV y otros pequeños electrodomésticos.



java es un lenguaje de programación de propósito general, concurrente, orientado a objetos 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.1 2

El lenguaje de programación Java fue originalmente desarrollado por James Gosling de Sun Microsystems (la cual fue adquirida por la compañía Oracle) y publicado en 1995 como un componente fundamental de la plataforma Java de Sun Microsystems. Su sintaxis deriva en gran medida de C y C++, pero tiene menos utilidades de bajo nivel que cualquiera de ellos. Las aplicaciones de Java son generalmente compiladas a bytecode (clase Java) que puede ejecutarse en cualquier máquina virtual Java (JVM) sin importar la arquitectura de la computadora subyacente.
El lenguaje Java se creó con cinco objetivos principales:
  1. Debería usar el paradigma de la programación orientada a objetos.
  2. Debería permitir la ejecución de un mismo programa en múltiples sistemas operativos.
  3. Debería incluir por defecto soporte para trabajo en red.
  4. Debería diseñarse para ejecutar código en sistemas remotos de forma segura.
  5. Debería ser fácil de usar y tomar lo mejor de otros lenguajes orientados a objetos, como C++.

sistemas operativos libres

sistemas operativos libres


son los que se adquieren sin pagar y tienen un codigo libre para que todos colaboren en su perfeccionamiento algunos de ellos son
1.debian
2.red hat
3.fedora core
4.knoppix
5.mandriva
6.ubuntu

las ventajas de los sistemas operativos libres son
1.son mas seguros
2.son gratis
3.se pueden modificar y mejorar manualmente
4.se puede distribuir libremente

las desventajas son
1.no tienen soporte tecnico
2.no tienen garantia
3.no tienen respaldo
4.pueden tener muchos errores o bugs


miércoles, 1 de marzo de 2017

sistemas operativos comerciales

sistemas operativos comerciales 

un sistema operativo comercial es aquel que las companias venden su distribuicion y soporte del producto 

algunos de los mas conocidos son 
algunas ventajas y desventajas desde mi punto de vista

El mejor costo del mercado, gratuito o un precio simbolico por el cd.
Tienes una enorme cantidad de software libre para este sistema
Mayor estabilidad por algo lo usan en servidores de alto rendimiento
Entorno grafico  mejor que el aero de windows…
Existen distribuciones de linux para diversos tipos de equipo, hasta para maquinas de 64 bits.
Las vulneralidades son detectadas y corregidas más rapidamente que cualquier otro sistema operativo.
Desventajas:

Para algunas cosas debes de saber usar unix

La mayoria de los ISP no dan soporte para algo que no sea windows .

No Existe mucho software comercial.
Muchos juegos no corren en linux.
Ventajas:

Es más conocido
Es el que tiene más software desarrollado…
WINDOWS
Desventajas:

El costo es muy alto
Las nuevas versiones requieren muchos recursos
La mayoria de los virus estan echos para win
Puedes tener errores de compatibilidad en sistemas nuevos.