miércoles, 28 de diciembre de 2011

SITIO EN PRUEBAS

SITIO EN PRUEBAS, DISCULPEN LAS MOLESTIAS.
Ir a PAFH99.BLOGSPOT.COM para el sitio original.
Gracias.
EN CONSTRUCCIÓN - - - - ESTA WEB ESTÁ EN CONSTRUCCIÓN - - -

martes, 27 de diciembre de 2011

2.- Iniciación a Android - Conceptos antes del "Hola Mundo"

Unos conceptos antes del "Hola Mundo"

Ahora que tenemos preparado nuestro entorno para comenzar a programar en Java y en Android, y antes de realizar nuestro primer programa, voy a dar unas pequeñas nociones sobre algunos terminos con los que nos estaremos encontrando constantemente y que si no los tenemos claros nos van a dar unos quebraderos de cabeza, como pueden ser las clases, herencias, métodos, etc.

Conceptos fundamentales de la programación orientada a objetos (OOP o POO)

Programación procedimental o estructurada.
Los algoritmos se implementan como funciones o procedimientos y tienen unas determinadas reglas de ámbitos de acceso para las llamadas entre módulos. En la programación estructurada, normalmente se tiende a organizar las funciones como un árbol, en el que hay un nodo raíz del que dependen las funciones y procedimientos de los que se compone el programa. Normalmente, las partes que están más cerca del nodo raíz son más abstractas (generales) y cuanto más nos alejamos del nodo principal, estas partes se van especializando hasta llegar al nivel máximo de detalle, el cual se halla en las capas inferiores.
En este tipo de programación la representación de los datos se determina por los algoritmos empleados y reflejan su estructura interna. Los datos son pasivos, son zonas de memoria con valores que pueden estar organizados en forma de estructuras de datos.
Estas metodologías de programación se suelen llamar programación estructurada, que aunque en su momento fué una gran mejora con respecto a la calidad del código con respecto a metodologías anteriores, seguía teniendo algunos problemas, como pueden ser la mantenibilidad del código y la dificultad de crear componentes de software, esto es módulos con entradas y salidas bien definidas y con propósitos diversos.
Las unidades básicas de un programa estructurado son las funciones o procedimientos, y los datos son zonas de memoria que serán modificadas por los algoritmos. Sólo con las reglas de ámbitos de acceso que hay en estos lenguajes no se puede unir de forma lógica y coherente los datos y el código que los utilizará.

La programación orientada a objetos (POO o OOP)

Las personas, cuando miramos a nuestro alrededor, vemos objetos, los cuales tienen un estado y un conjunto de acciones que se pueden ejercer en él, y la programación orientada a objetos intenta reflejar ésta característica. Ya no hay funciones y estructuras separadas, las entidades mantienen juntos los datos y el código que los utiliza. Estas entidades se denominan OBJETOS.
Un objeto está compuesto por variables, que contienen el estado actual del mismo y por métodos, que son funciones que permiten alterar los estados de las variables. La única forma de acceder a las variables privadas del objeto es a través de los métodos que tiene asociados. Esta forma de unir el código y los datos se llama encapsulación. Con la encapsulación podemos modificar la forma en que un objeto implementa sus métodos sin afectar a los demás objetos, con lo cual hemos conseguido la modularidad, y podemos acceder a los servicios del objeto sin saber los detalles de su implementación (abstracción de datos).

Clases: Las clases son modelos que se utilizan para crear objetos de ese tipo. A un modelo de una determinada clase se le llama instancia de esa clase. El modelo describe el estado y el comportamiento que comparten todos los objetos de esa clase. Las clases normalmente contienen variables y métodos. Los métodos son fragmentos de código reutilizables. Las variables se llaman también atributos o variables miembro o variables de instancia.
Las clases son contenedores de datos y de las operaciones que los manipulan. Normalmente se denominan con nombres abstractos (generales), como Persona, Animal, etc,. Se puede definir una clase a partir de otra, con lo que la nueva hereda parte de su funcionalidad, y además se le pueden añadir nuevos métodos.

Variables miembro: Son características de los objetos y contienen los datos relacionados con estos. Normalmente son privadas, para ocultar los datos, y el acceso a las mismas se realiza a través de los métodos o propiedades. También pueden ser públicas y no estar ocultas, e incluso permitir que se realizen cambios sin ser a través de los métodos, pero no es recomendable ya que puede producir estados indeterminados.

Métodos: Son a las clases lo que las funciones a la programación estructurada. Pueden acceder a las variables de la clase de forma implícita.

Propiedades: Son un tipo especial de métodos utilizados para controlar el acceso a las variables privadas.

<<<< ARTÍCULO SIN TERMINAR... CONTINUARÁ...>>>


Que gran verdad... Shakespeare... jejeje

Esta cita la acabo de ver y vamos entre que me hizo gracia y que es una gran verdad pues lo comparto:

"Todos hemos oído decir que si un millón de monos aporrearan un millón de máquinas de escribir con el tiempo llegarían a reproducir las obras completas de Shakespeare. Ahora, gracias a los blogs, sabemos que eso no es cierto." .

PD:  Y también a las redes sociales.

Quitar "Suscribirse a: Entradas (Atom)"

Si queremos quitar el mensaje que aparece al final de cada entrada y que pone "Suscribirse a: Entradas (Atom), debemos hacer lo siguiente:
  1. Vamos a "Diseño"
  2. Pulsamos en "Edición de HTML"
  3. Buscamos en nuestra plantilla donde aparezca lo siguiente (o parte):
.feed-links {
clear: both;
line-height: 2.5em;
}

Y lo cambiamos por lo siguiente:

.feed-links {
clear: both;
line-height: 2.5em;
visibility:hidden;
display:none;
}
 

Quitar barra de blogger (navbar)

Para todos aquellos que querais modificar la apariencia de vuestro blog en blogger, y personalizarlo un poco, aqui teneis una ayuda, para mostrar o para ocultar la barra de blogger, la llamada navbar.
  1. Vamos a "DISEÑO"
  2. Pulsamos en "Edición de HTML"
  3. Buscamos en el código dónde aparezca: <head>
  4. Despues de esta etiqueta, añadimos el siguiente código para quitar la barra:
<style type='text/css'>
#navbar-iframe{
height: 0px;
visibility: hidden;
display: none;
}
</style>


Si lo que queremos es ocultarla, entonces hacemos lo siguiente:
  1. Vamos a "DISEÑO"
  2. Pulsamos en "Edición de HTML"
  3. Buscamos en el código dónde aparezca: <body>
  4. Antes de esta etiqueta añadimos el siguiente código:
#navbar-iframe {
opacity:0.0;
filter:alpha(Opacity=0)
}
#navbar-iframe:hover {
opacity:1.0;
filter:alpha(Opacity=100,FinishedOpacity=100)
}


Y si lo que queremos es que esté oculta pero que se muestre al pasar el ratón por encima, hacemos lo siguiente:
  1. Vamos a "DISEÑO"
  2. Pulsamos en "Edición de HTML"
  3. Buscamos en el código dónde aparezca: </head>
  4. Antes de esta etiqueta añadimos el siguiente código:

<script src='http://www.google.com/jsapi'/><script>
google.load(&quot;prototype&quot;, &quot;1.6.0.2&quot;);
google.load(&quot;scriptaculous&quot;, &quot;1.8.1&quot;);
</script>

<script type="text/javascript">
function navbarShow() {
new Effect.Opacity('navbar-iframe', {duration:0.5, from:0.0, to:1.0});
}
function navbarHide() {
new Effect.Opacity('navbar-iframe', {duration:0.5, from:1.0, to:0.0});
}
function navbarHack() {
Event.observe('navbar-iframe', 'mouseover', navbarShow, false);
Event.observe('navbar-iframe', 'mouseout', navbarHide, false);
navbarHide();
}
Event.observe(window, 'load', navbarHack, false);
</script>


Nota: si ya hemos instalado previamente alguna vez un código con script.aculo.us sólo deberemos copiar esta parte del código anterior:

<script type="text/javascript">
function navbarShow() {
new Effect.Opacity('navbar-iframe', {duration:0.5, from:0.0, to:1.0});
}
function navbarHide() {
new Effect.Opacity('navbar-iframe', {duration:0.5, from:1.0, to:0.0});
}
function navbarHack() {
Event.observe('navbar-iframe', 'mouseover', navbarShow, false);
Event.observe('navbar-iframe', 'mouseout', navbarHide, false);
navbarHide();
}
Event.observe(window, 'load', navbarHack, false);
</script>

1.1.- Iniciación a Android: Otros IDEs, o no.


Hasta ahora he hablado sobre el entorno de desarrollo Eclipse, pero hay otras opciones para desarrollar en Android, aunque algunas también están basadas en Eclipse ;).
Una de estas opciones es usar el "MOTODEV STUDIO" de Motorola. Este es un IDE basado en Eclipse, con las ventajas de que con una sola instalación tendremos el IDE, las utilidades JAVA y los plugins de Android, con lo que simplifica las cosas. Además tiene varios añadidos, como soporte para "snippets" (pequeños fragmentos de código), algunos videotutoriales, captura de pantalla, diagnosis de problemas, traducción de la aplicación, soporta la emulación de móviles motorola específicos, etc. Además, si ya tenemos el Eclipse instalado, podemos instalar el MOTODEV como si fuera un plugin. Para bajarlo debemos ir a developer.motorola.com, y debemos hacer una cuenta gratuita para que nos permita bajar el software.

Otra opción sería el kit DS-5, con el que es posible programar en C y C++ para Android. Este kit ha sido desarrollado por ARM, y tiene la ventaja de que las aplicaciones se pueden ejecutar hasta 4 veces más rápido y aprovechan mejor la potencia de los telefonos Android, es gratuito para su uso por personal o por pequeñas empresas (menos de $100.000 anuales.), se integra con Eclipse, Android NDK y SDK, tiene un depurador gráfico nativo. Aunque esta opción sería mejor utilizarla para aplicaciones que necesiten elevados niveles de proceso, y sería una alternativa o complemento al Android NDK (Native Development Kit), que también se programa en C++. Como contras solo funciona en las versiones de Eclipse de 32 bits. Se puede instalar desde el IDE de Eclipse, si vamos a HELP->Install New Software en el diálogo que aparece pulsamos en "ADD", y donde pone "Location" escribimos "http://tools.arm.com/eclipse" y pulsamos OK. En las opciones que nos salen elegimos ARM DS-5 Community Edition, y le damos a siguiente ("NEXT"), seguimos las indicaciones, y al terminar reiniciamos ECLIPSE.



1.0.- Iniciación a Android - Instalación del IDE y del SDK

Vamos a comenzar en el "mágico" mundo de la programación, en este caso dedicada a Android y al lenguaje Java. Antes de ponernos a escribir líneas de código como "locos", vamos a preparar nuestro entorno de desarrollo, instalaremos el IDE (Integrated Development Enviroment – Entorno Integrado de Desarrollo) y el SDK (Software Development Kit – Kit de Desarrollo de Software). Todos los enlaces que hay aqui son para plataformas Intel x86, pero también se pueden descargar las versiones para MAC o para LINUX, pero para ello hay que ir a las páginas oficiales.
Necesitaremos lo siguiente:
  • -ADT plugin para Eclipse.
Aunque se pueden utilizar otros IDE's para desarrollar en Android, aquí se va a utilizar el ECLIPSE, que es un entorno de desarrollo gratuito, y que soporta muy bien la integración con el SDK de Android. La ventaja de utilizar el ECLIPSE, además de por ser gratuito, es que soporta su integración no sólo con JAVA, sino que también dispone de versiones para C++, PHP, y otros lenguajes, con lo cual, si queremos cambiar de lenguaje de programación, no tendremos que volver a familiarizarnos con un IDE totalmente distinto.
Para obtener el ECLIPSE, podemos ir a la página de oficial (eclipse.org) o pinchar en los enlaces de abajo dónde encontraremos varias versiones. Bajeremos la que más nos guste o nos satisfaga. Podemos encontrar versiones de 32 y de 64 bits, aunque si utilizamos la de 64 bits, debemos fijarnos en tener instalado el SDK o el JRE (Java Runtime Enviroment – algo así como Entorno de ejecución de Java) de 64 bits, si no nos dará un error. Yo he instalado el de 64 bits en un ordenador de sobremesa, y la versión de 32 bits en un portátil, la versión instalada fué el Eclipse Indigo, y no tienen ningun problema de incompatibilidades al migrar o importar los proyectos de una versión a la otra.
El IDE del ECLIPSE está en inglés, pero se puede descargar desde "babel" (eclipse.org/babel) las traducciones a distintos idiomas, entre ellos el español. Algunas de estas traducciones no están totalmente terminadas, y en muchos libros nos encontraremos que nos describen los elementos refiriendose a la versión en inglés, con lo cuál a veces nos resultará peor el remedio que la enfermedad.
Tambien debemos de descargar el SDK de Java, que aunque para ejecutar ECLIPSE sólo haga falta el JRE, para programar en Android será necesario tener el SDK, que lo podemos bajar de la página de ORACLE (oracle.com), o en los enlaces de abajo.
Una vez descargado, procedemos a instalar el SDK de Java, y el ECLIPSE, si es que no lo instalamos ya.
El SDK de Android lo podemos bajar desde la página de Google, (developer.android.com) o en los enlaces de abajo. Lo instalamos y anotamos la ruta de su instalación, ya que nos hará falta para configurar el ECLIPSE y el ADT.
Para instalar el plugin ADT, iniciamos ECLIPSE y seleccionamos en el menu superior HELP ->Install New Software. Pulsamos en "Add" o "Añadir",

y nos aparecerá otra ventana (Add Repository), ahí ponemos "ADT Plugin" en el nombre, y para "Location" ponemos la siguiente dirección: https://dl-ssl.google.com/android/eclipse/

Pulsamos en aceptar. (Si da problemas, probar a cambiar https por http). En el diálogo de "Available Software", seleccionar "Developer Tools" y darle a "Next" o "Siguiente".
En la siguiente ventana, verás una serie de utilidades para descargar, pulsar "Next" o "Siguiente", lee y acepta los terminos de la licencia y pulsa en "Finish" o "Finalizar" (Si da un aviso de seguridad sobre que la validez del software no puede ser comprobada, pulsar OK).
Cuando termine, reiniciamos el Eclipse.
Una vez instalado el plugin ADT y reiniciado el ECLIPSE, entonces procedemos a configurar las preferencias del ADT para apuntar a donde instalamos el SDK de Android. Para eso vamos a Window->Preferences. Elegimos Android en el panel lateral y saldrá un mensaje sobre si queremos enviar estadísticas a Google, le demos a "Proceed", y en donde pone "SDK Location" le damos a Examinar o escribimos la ruta donde instalamos anteriormente el SDK.

Le damos a "Apply" o "Aplicar". Le damos a "aceptar" y listo.

Ahora podemos utilizar el Eclipse y el ADT para descargar otras plataformas y componentes, para ello vamos a Window->Android SDK Manager y nos saldrá una ventana similar a esta:
Desde aquí podremos seleccionar los paquetes y añadidos para descargar o actualizar.

Por cierto, si se quiere mirar offline la ayuda sobre el SDK de Android, podremos encontrarla en el subdirectorio /docs dentro de la ruta donde instalamos el SDK.

Enlaces: