Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de...

21
Presentación Índice 1 Guía de laboratorio....................................................................................................... 2 1.1 Ordenadores del aula de MAC de la Biblioteca General......................................... 2 1.2 Apuntes del Especialista.......................................................................................... 2 1.3 Moodle..................................................................................................................... 3 1.4 Proyectos y espacios de trabajo en Eclipse.............................................................. 5 1.5 Repositorios Git..................................................................................................... 12 1.6 Como realizar la entrega de los ejercicios............................................................. 19 2 Guía de laboratorio - Ejercicios.................................................................................. 20 2.1 Proyecto Java......................................................................................................... 20 2.2 Repositorio............................................................................................................. 20 2.3 Emuladores de Android......................................................................................... 20 2.4 Proyecto Android................................................................................................... 21 2.5 Entrega de ejercicios.............................................................................................. 21 2.6 Proyecto iOS.......................................................................................................... 21 Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.

Transcript of Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de...

Page 1: Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de programación que se va a usar en todas los módulos del curso. El trabajo en Eclipse

Presentación

Índice

1 Guía de laboratorio.......................................................................................................2

1.1 Ordenadores del aula de MAC de la Biblioteca General.........................................2

1.2 Apuntes del Especialista.......................................................................................... 2

1.3 Moodle..................................................................................................................... 3

1.4 Proyectos y espacios de trabajo en Eclipse..............................................................5

1.5 Repositorios Git..................................................................................................... 12

1.6 Como realizar la entrega de los ejercicios............................................................. 19

2 Guía de laboratorio - Ejercicios..................................................................................20

2.1 Proyecto Java......................................................................................................... 20

2.2 Repositorio.............................................................................................................20

2.3 Emuladores de Android......................................................................................... 20

2.4 Proyecto Android................................................................................................... 21

2.5 Entrega de ejercicios.............................................................................................. 21

2.6 Proyecto iOS.......................................................................................................... 21

Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.

Page 2: Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de programación que se va a usar en todas los módulos del curso. El trabajo en Eclipse

1. Guía de laboratorio

En esta sesión de ejercicios vamos a describir los aspectos más importantes de lasdistintas plataformas, utilidades y sitios web necesarios para el desarrollo de las prácticasdel Especialista.

Los elementos más importantes son los siguientes.

• Ordenadores. Las prácticas se desarrollarán en el aula de ordenadores Mac. Lasdiferentes plataformas que utilizaremos están instaladas. Todas ellas serían usables enotros sistemas operativos salvo la de desarrollo en iOS, para la que necesitamos losordenadores Mac.

• Repositorio Bitbucket. Utilizaremos Git como repositorio local y Bitbucket comorepositorio remoto. A través de él los profesores podrán hacer el seguimiento de lasentregas y también servirá como sistema de control de versiones para los alumnos.

• Apuntes y materiales docentes. Todos los apuntes, transparencias y materialesdocentes están disponibles en una zona restringida de la web del Especialista.

• Moodle. Se utilizará un servidor Moodle como plataforma de foro privado del curso.

A continuación vamos a detallar el uso de estos elementos y algunos otros tambiénnecesarios para el desarrollo del Especialista.

1.1. Ordenadores del aula de MAC de la Biblioteca General

Los laboratorios en los que se realizarán las prácticas están gestionados por el CPD. Paraacceder a ellos se utilizará el usuario alumno. No tendrás permisos de administración perotodo el software necesario para el curso está instalado.

¡Cuidado con tus datos! No debes confiar en que lo que dejes en el disco duro delordenador se encuentre en la siguiente sesión. Los discos duros de los ordenadores sereestablecen en cada arranque. Es muy importante que hagas un uso regular delrespositorio Subversion que hemos instalado para el curso.

1.2. Apuntes del Especialista

Los apuntes, trasparencias, plantillas para los ejercicios y demás material docente seencuentran en un sitio web restringido a los alumnos del Especialista. Puedes acceder aesta zona pinchando en el recuadro correspondiente (azul) en la web pública delEspecialista (http://www.jtech.ua.es/) o escribiendo directamente la URLhttp://www.jtech.ua.es/dadm/restringido/. Una vez introduzcas tu usuario del Especialistay tu contraseña podrás acceder a esta web.

El login en este sitio web es las iniciales de tu nombre y tu primer apellido. La contraseñaes el número de DNI, sin la letra de control. Por ejemplo, si el nombre del alumno es

Presentación

2Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.

Page 3: Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de programación que se va a usar en todas los módulos del curso. El trabajo en Eclipse

Pedro Pérez, su login es pperez

Si deseas cambiar tu contraseña (o no la recuerdas), puedes pulsar en el enlacecorrespondiente. Se enviará un mensaje a tu dirección de correo con un enlace con el quepodrás modificar la contraseña.

1.3. Moodle

Vamos a utilizar Moodle como plataforma de trabajo colaborativo. La usaremos paragestionar los foros, ya que las entregas de ejercicios se harán a través del repositorio y nopor Moodle. Se accede pinchando en el recuadro correspondiente (amarillo) en la web delEspecialista o escribiendo directamente la URL http://moodle.jtech.ua.es.

Al igual que el resto de recursos de acceso restringido, el usuario de acceso será lasiniciales del nombre y tu primer apellido. La contraseña inicial será el DNI, y la primeravez que te registres te pedirá una nueva contraseña.

Utilizaremos los foros para resolver dudas y para las sesiones de consulta on-line delproyecto de integración. Podemos acceder a la plataforma desde la urlhttp://moodle.jtech.ua.es/. Desde la página principal de Moodle se puede accederdirectamente a los foros. Se llaman Foro general y Foro proyecto integración.

Presentación

3Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.

Page 4: Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de programación que se va a usar en todas los módulos del curso. El trabajo en Eclipse

Para poder utilizar correctamente el foro es muy importante que actualices tu foto enMoodle. Para eso, debes pinchar en tu nombre (en la zona de Usuarios en línea o abajo ala derecha, donde pone Usted se ha autentificado como) y seleccionar la pestaña Editarinformación. Allí puedes colocar tu foto.

Cuando todos tenemos la foto es mucho más sencillo contestar e interactuar en el foro. Lasiguiente imagen muestra un ejemplo del foro general en la edición 2009-2010 delespecialista de Java Enterprise:

Presentación

4Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.

Page 5: Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de programación que se va a usar en todas los módulos del curso. El trabajo en Eclipse

1.4. Proyectos y espacios de trabajo en Eclipse

Eclipse es el entorno de programación que se va a usar en todas los módulos del curso. Eltrabajo en Eclipse se organiza en proyectos que se guardan en carpetas que Eclipsedenomina espacios de trabajo (Workspaces). Un espacio de trabajo se corresponde con undirectorio físico del disco duro y los proyectos se corresponden con subdirectorios suyos.Para organizar mejor los trabajos que se irán realizando, trabajaremos con dos espacios detrabajo. Uno para los proyectos realizados en los distintos módulos del especialista y otropara los distintos proyectos de integración.

Nota:Eclipse guarda la configuración del espacio de trabajo y de los proyectos en ficheros ocultos queresiden en los mismos directorios que los espacios de trabajo y los proyectos. Los ficheros másimportantes son .metadata que se guarda en el directorio raíz del espacio de trabajo,.project que se guarda en el directorio raíz de cada proyecto y otro fichero .classpath encada proyecto con información necesaria para la compilación en Java de las clases del proyecto.

Cuando arrancamos Eclipse por primera vez aparece un cuadro de diálogo en el que nospide el espacio de trabajo en el que vamos a trabajar.

Por defecto, Eclipse sugiere el directorio llamado workspace en el home del usuario. Enel caso de la MV el directorio que sugiere Eclipse es /home/especialista/workspace.Si aceptamos ese espacio de trabajo, Eclipse crea el directorio y comenzaremos a trabajaren él.

Podemos abrir otro espacio de trabajo pulsando el botón Browse o escribiendo su ruta enel campo de texto. Eclipse abrirá el directorio correspondiente, o creará un nuevodirectorio si no existe.

Un espacio de trabajo puede contener distintos proyectos. Cada proyecto puede contener(entre otras cosas) un conjunto de clases Java y un conjunto de librerías. Los proyectospueden estar relacionados, de forma que uno utilice clases o librerías Java que residen enotro. Veremos todo esto con detalle en el módulo Java y Herramientas de Desarrollo. En

Presentación

5Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.

Page 6: Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de programación que se va a usar en todas los módulos del curso. El trabajo en Eclipse

la sesión de hoy estudiaremos los aspectos más sencillos relacionados con los proyectos.Entre otras cosas, cómo crearlos, importarlos, guardar una copia de seguridad o subirlos aun repositorio SVN. Por último, explicaremos cómo realizar una entrega de los ejerciciosrealizados utilizando el repositorio SVN.

1.4.1. Creación e importación de proyectos

En este pequeño ejercicio vamos a comprobar lo sencillo que es crear nuevos proyectosen el espacio de trabajo Eclipse. Durante el curso, vamos a trabajar con dos espacios detrabajo:

• El espacio de trabajo por defecto (workspace) en el que guardaremos los proyectos delos módulos

• El espacio de trabajo del proyecto de integración, que llamaremos (proyint)

Vamos a empezar creando un pequeño proyecto Java. Para ello seguiremos los siguientespasos:

1. Abrimos Eclipse con el espacio de trabajo workspace.2. Creamos un proyecto (pperez-pres-agenda) y algún fichero dentro del proyecto.3. Importamos otro proyecto en el espacio de trabajo.

Vamos a continuación a realizar estos pasos de forma detallada.

Arrancamos Eclipse con el espacio de trabajo workspacedefinido. Tendrá el siguienteaspecto:

2. El panel vertical izquierdo es el destinado a contener los proyectos, ahora está vacío.Para crear un proyecto podemos escoger la opción File > New > Java Project... o pulsarel botón derecho sobre el panel de proyectos y escoger la opción New > Java Project....

Presentación

6Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.

Page 7: Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de programación que se va a usar en todas los módulos del curso. El trabajo en Eclipse

En cualquiera de estos casos, aparecerá un asistente que nos guiará para crear el tipo deproyecto que deseemos. En este caso vamos a crear nuestro primer proyecto Java.Escribimos como nombre del proyecto pres-agenda, precedido por nuestro nombre deusuario: pperez-pres-agenda. Todos los nombres de proyecto vamos a escribirlosutilizando este formato: nuestro nombre de usuario, el nombre corto del módulo en queestemos haciendo los ejercicios y el nombre del proyecto. De esta forma podremosalmacenarlos todos en un mismo directorio o repositorio (el espacio de trabajo workspace

de Eclipse y el repositorio SVN). La utilización de tu login en el prefijo hará posiblepublicar, compartir o corregir los mismos proyectos realizados por distintos alumnos.

Cuando pulsamos Finish Eclipse crea el proyecto, creando un directorio nuevo en elespacio de trabajo. Aparece como una carpeta en el panel de proyectos. Una vez creado elproyecto, vamos a crear en él un pequeño programa Java, que nos va a servir parademostrar algunas de las características de Eclipse. En el programa vamos a definir unaclase Tarjeta con los datos de una tarjeta de contactos: id (int), nombre (String) yeMail (String) y una clase Main con el programa principal de la aplicación, que crea unpar de tarjetas, las guarda en un array y lo recorre para mostrarlas por la salida estándar.

Todas las clases deben estar en el paquete org.especialistajee.agenda. Es unacostumbre habitual utilizar como prefijo en el nombre del paquete la URL de la empresau organización que desarrolla el código en orden inverso. De esta forma se garantiza queel nombre completo de la clase es único y no coincide con otras clases desarrolladas porotras organizaciones. En nuestro caso la URL http://especialistajee.org está redirigida alfrontal del Especialista: http://web.ua.es/especialistajava.

Para crear una clase seleccionamos New > Class y rellenamos el cuadro de diálogo con el

Presentación

7Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.

Page 8: Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de programación que se va a usar en todas los módulos del curso. El trabajo en Eclipse

nombre de la clase y el paquete. Comenzamos con la clase Tarjeta:

Escribimos la clase Tarjeta con los campos indicados, los getters y setterscorrespondiente y un constructor que cree una tarjeta nueva a partir de un identificador.Podemos probar a utilizar la ayuda de Eclipse para generar código con la opción Source >Generate Getters and Setters ... o Source > Generate Constructor using fields ....Generamos también de forma automática el método toString.

Creamos una clase Main en la que declaramos un array de tarjetas, creamos y añadimosun par de tarjetas y recorremos el array imprimiendo sus datos en la salida estándar. Laestructura de clases que aparece en el proyecto es esta:

Antes de lanzar la aplicación vamos a probar a modificar la configuración de los panelesen la perspectiva actual. Una perspectiva es un conjunto de vistas en unas posicionesdeterminadas. Una vista es un panel especializado de Eclipse que permite interactuarsobre una determinada característica del proyecto. Eclipse contiene una enorme cantidadde vistas que permiten gestionar múltiples aspectos del desarrollo: listas de tareas porhacer, baterías de pruebas, despliegue, edición y compilación, etc. Todas estas vistas seorganizan en un conjunto de perspectivas predefinidas.

Presentación

8Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.

Page 9: Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de programación que se va a usar en todas los módulos del curso. El trabajo en Eclipse

Las perspectivas que vamos a utilizar principalmente en el curso son Java y Java EE.

Añadimos la vista Navigator que nos permite explorar la estructura de archivos creadosen el disco duro. La podemos colocar junto a la vista Package Explorer:

Presentación

9Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.

Page 10: Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de programación que se va a usar en todas los módulos del curso. El trabajo en Eclipse

Vemos que Eclipse realiza automáticamente todo el trabajo de compilar las clases .java

a ficheros .class y colocarlos en los directorios correspondientes a sus paquetes.También podemos ver los ficheros .settings, .classpath y .project donde guardadistintas características del proyecto. Es recomendable dejar esta vista Navigator porquela utilizaremos más de una vez para visualizar la estrucutura real del sistema de archivos.

En algunos casos, puede ser que al mover las distintas vistas dejemos bastante cambiadauna perspectiva. Si queremos volver a la configuración por defecto debemos seleccionarWindow > Reset Perspective..

3. Ejecutamos la aplicación con la opción Run > Run As > Java Application. Una formarápida de acceder a esta opción es con el icono de play en la barra superior de eclipse.

4. Por último vamos a probar la importación de proyectos Eclipse. Vamos a hacer laprueba con un proyecto que hemos creado para esta sesión. Se encuentra comprimido enel fichero sesion01-ejercicios.zip, en la página principal de los apuntes de estemódulo (lo puedes descargar directamente desde este enlace). Guarda el fichero ZIP en lacarpeta de descargas, por ejemplo, y descomprímelo. Verás el proyecto PuntosEnCanvas.Se trata de una sencilla aplicación Java en la que se abre una ventana y se dibujan algunospuntos en ella.

Importa el proyecto con la opción File > Import... (o pulsando el botón derecho sobre elpanel y seleccionando Import > Import...). Selecciona General > Existing Project intoWorkspace. Selecciona Select root directory y escoge el directorio del proyecto queacabas de descargar. Puedes ver cómo aparece marcada la opción Copy projects intoworkspace, indicando que Eclipse copiará físicamente el proyecto al espacio de trabajo.Si se dejara desmarcada Eclipse trabajaría los ficheros del proyecto en su localizaciónoriginal. La dejamos marcada:

Presentación

10Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.

Page 11: Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de programación que se va a usar en todas los módulos del curso. El trabajo en Eclipse

Una vez importado, puedes consultar el código fuente del proyecto y también ejecutarlo.Después, para seguir el convenio de que todos los proyectos de un mismo módulocomiencen su nombre con el módulo, cambia el nombre del proyecto apperez-pres-puntosEnCanvas con la opción Refactor > Rename...:

Una vez creados e importados los proyectos, vamos a ver en el siguiente apartado cómosubirlos al repositorio SVN.

Nota:Hay que hacer notar la gran portabilidad de los proyectos de Eclipse (debido sobre todo a queEclipse está desarrollado en Java). Es posible comenzar a trabajar en Windows y seguirtrabajando en cualquier otro sistema operativo (Linux o Mac OS X). El único detalle a tener encuenta es el de asegurarse de usar la misma codificación de texto (text encoding) en todos lossistemas. Por defecto, Eclipse usa la codificación de texto del sistema operativo, lo que puede darlugar a problemas de compatibilidad al abrir ficheros de texto creados en otros sistemasoperativos. Lo recomendable cuando vamos a trabajar con distintos SOs es escoger una única

Presentación

11Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.

Page 12: Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de programación que se va a usar en todas los módulos del curso. El trabajo en Eclipse

codificación (ISO-8859-1, por ejemplo) y un único delimitador de fin de linea (el de Unix, porejemplo). Para escoger la codificación en la que va a trabajar Eclipse hay que seleccionar laopción Window > Preferences > General > Workspace.

1.5. Repositorios Git

Si hemos creado un repositorio Git local para nuestro proyecto, será sencillo replicarlo enun repositorio Git remoto. En primer lugar, necesitaremos crear un repositorio remoto.Vamos a ver cómo crear un repositorio privado en BitBucket (bitbucket.org).

• En primer lugar, deberemos crearnos una cuenta en BitBucket, si no disponemos yade una.

• Creamos desde nuestra cuenta de BitBucket un repositorio (Repositories > Createrepository).

• Deberemos darle un nombre al repositorio. Será de tipo Git y como lenguajeespecificaremos Objective-C.

Presentación

12Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.

Page 13: Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de programación que se va a usar en todas los módulos del curso. El trabajo en Eclipse

Creación de un repositorio BitBucket

• Una vez hecho esto, veremos el repositorio ya creado, en cuya ficha podremosencontrar la ruta que nos dará acceso a él.

Ficha del repositorio en BitBucket

Presentación

13Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.

Page 14: Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de programación que se va a usar en todas los módulos del curso. El trabajo en Eclipse

1.5.1. Cómo crear el repositorio Git inicial para cada módulo

En primer lugar descargaremos las plantillas de la web de JTech, y añadiremos laconfiguración necesaria al directorio de trabajo local para conectarlo con el repositorioremoto de BitBucket. En la cuenta de Bitbucket tendremos que crear un repositorio porcada módulo del curso. El nombre del repositorio será el nombre corto del módulo:

• intro• web• objc• java• ios• android• persistencia• red• serv-android• serv-ios• multimedia• proyecto-android• proyecto-ios

Los pasos a seguir son:

1. Crear el repositorio en BitBucket con el nombre que corresponda (según la listaanterior). En BitBucket veremos la URL que identifica el repositorio, por ejemplo:

https://[email protected]/malozano/intro.git

2. Crear un directorio local para el repositorio del módulo. Será diferente según si laplataforma es Android o iOS.

• Android: Crear con Eclipse un workspace con el nombre del módulo. Por ejemplo,java.

• iOS: Crear un directorio en el disco con el nombre del módulo. Por ejemplo, objc.

3. Inicializar el espacio de trabajo o el directorio anterior como un repositorio Git. Paraello, ejecuta en dicho directorio el comando

$ git init

4. Descargar las plantillas de la sesión, y añadir los proyectos que contienen al directorioo espacio de trabajo anterior.

• Android: Importar los proyectos desde Eclipse• iOS: Descomprimir los proyectos en el directorio directamente.

Presentación

14Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.

Page 15: Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de programación que se va a usar en todas los módulos del curso. El trabajo en Eclipse

5. Añadir los ficheros al repositorio y hacer el primer commit desde el terminal o desdeEclipse.

Android: desde línea de comandos

git add .git commit -m "Versión inicial"

iOS: desde línea de comandos

git add NombreProyecto NombreProjecto.xcodeproj/project.pbxprojgit commit -m "Versión inicial"

Eclipse (en lugar de usar línea de comandos):

Selecciona uno a uno los proyectos del módulo y escoge en el menú contextual la opciónTeam > Share Projects.... Selecciona Git.

6. Configura el repositorio remoto. Desde el directorio raíz ejecutamos:

$ git remote add originhttps://[email protected]/malozano/intro-ios.git

7. Ahora podemos hacer commit desde Xcode y Eclipse cada vez que se haga algúncambio para registrarlo en el repositorio local, y push cada vez que el proyecto alcance unestado estable para subir los cambios a BitBucket. También se pueden realizar estasoperaciones desde terminal:

$ git commit -m “Mensaje del commit”$ git push origin master

8. Compartir el proyecto con permisos de lectura con los profesores (grupoexpertomoviles:profesores) desde la web de BitBucket.

1.5.2. Git en Eclipse

Eclipse vendrá con el plugin Egit instalado que nos permite hacer con menús y asistentescasi todo lo que se puede hacer en línea de comandos.

Permite crear un nuevo repositorio Git que estará en local. Cada proyecto de esterepositorio será una carpeta diferente, se pueden añadir (Add) desde Eclipse, dentro delsubmenú Team del menú contextual del proyecto correspondiente. En dicho menú seencuentran también las opciones de hacer Commit, y la de Push, que en nuestro caso seríapara actualizar los cambios en Bitbucket:

Presentación

15Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.

Page 16: Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de programación que se va a usar en todas los módulos del curso. El trabajo en Eclipse

Push en Egit

Para hacer push hay que introducir la URL del repositorio, que viene dada por Bitbucketpara cada repositorio.

Url remota en Egit

Se pide subir HEAD, todos los branches y todos los tags (etiquetas):

Presentación

16Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.

Page 17: Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de programación que se va a usar en todas los módulos del curso. El trabajo en Eclipse

Asistente de push en Egit

Para no tener que introducir la Url de un repositorio cada vez que se haga push, se puedeir a la vista de Git Repositories en Eclipse para configurar un nuevo repositorio remoto:

Vista Git Repositories

1.5.3. Git en Xcode

Con una cuenta ya creada en Bitbucket, abrimos Xcode, donde tenemos un proyecto yacreado con un repositorio Git local. Para vincular este repositorio local con el repositorioremoto que acabamos de crear, deberemos ir a la pestaña Repositories de la ventana delOrganizer, donde veremos el repositorio local de nuestro proyecto.

Presentación

17Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.

Page 18: Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de programación que se va a usar en todas los módulos del curso. El trabajo en Eclipse

Repositorio en Organizer

Dentro de este repositorio local, veremos una carpeta Remotes. Entraremos en ella, ypulsaremos el botón Add Remotes de la parte inferior de la pantalla. Ahora nos pedirá unnombre para el repositorio remoto y la ruta en la que se puede localizar. Utilizaremos aquícomo ruta la ruta de tipo HTTPS que vimos en la ficha del repositorio de BitBucket:

Añadir repositorio remoto

Una vez añadido el repositorio remoto, deberemos introducir el login y password que nosden acceso a él. Con esto ya podemos volver al proyecto en Xcode, y enviar los cambiosal servidor. En primer lugar deberemos hacer un Commit de los cambios en el repositoriolocal, si los hubiera (File > Source Control > Commit...). Tras esto, ya podremos subirestos cambios al repositorio remoto (Push). Para ello, seleccionamos la opción File >Source Control > Push..., tras lo cual nos pedirá que indiquemos el repositorio remoto en

Presentación

18Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.

Page 19: Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de programación que se va a usar en todas los módulos del curso. El trabajo en Eclipse

el que subir los cambios. Seleccionaremos el repositorio que acabamos de configurar.

Push en repositorio remoto

Tras realizar esta operación en la web de BitBucket podremos ver el código que hemossubido al repositorio:

Código en BitBucket

1.6. Como realizar la entrega de los ejercicios

La entrega se realizará etiquetando el repositorio a entregar con la etiquetamodulo-entrega, donde módulo es el nombre corto del módulo anteriormentemencionado. La etiqueta deberá colocarse en el momento en que ya se considerafinalizado el trabajo, y deberá ser colocada antes de las 23:59 del último día de entregaestablecido para cada módulo. También hay que hacer un push antes de esa hora para quela etiqueta y últimos cambios queden actualizados en Bitbucket. Para que los profesorestengan acceso hay que compartir el repositorio con el grupo de expertomoviles:profesoresque aparecerá en la parte Admin/Access del repositorio en la interfaz web de Bitbucket.

Presentación

19Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.

Page 20: Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de programación que se va a usar en todas los módulos del curso. El trabajo en Eclipse

Select a group... para compartir el repositorio con el grupo de profesores.

2. Guía de laboratorio - Ejercicios

2.1. Proyecto Java

Descarga las plantillas de la sesión. En ellas tenemos un proyecto llamadoPuntosEnCanvas. Impórtalo desde Eclipse y ejecútalo como aplicación Java.

Podrás hacer click con cualquier botón sobre un canvas en el que aparecerán puntos.¿Cómo podríamos modificar el código para que con el botón izquierdo aparezca un punto,y con el botón derecho se elimine? ¿Podría ser implementando un métodomouseRightClicked() o similar? Para saberlo, utiliza el menú "Source/Override orimplement methods" de Eclipse, para ver los métodos que puedes sobrecargar oimplementar. Si no encuentras el método adecuado, busca la forma de saber qué botón seha pulsado desde dentro del propio método mouseClicked() que tenemos implementado.

2.2. Repositorio

Crea un repositorio Git llamado intro en un workspace local que tenga el mismonombre.

Desde Eclipse, añade el proyecto PuntosEnCanvas y haz un commit. Realiza algúncambio y haz otro commit. Haz un push de tu repositorio local a Bitbucket. Compruebaque se encuentre ahí desde la interfaz web.

2.3. Emuladores de Android

Configura dos emuladores de Android con versiones diferentes y tamaño de pantalla

Presentación

20Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.

Page 21: Presentación - ua · 1.4. Proyectos y espacios de trabajo en Eclipse Eclipse es el entorno de programación que se va a usar en todas los módulos del curso. El trabajo en Eclipse

diferentes. Arranca los dos. ¿En qué puerto está cada uno de ellos? Envía un sms de unoal otro utilizando dicho puerto como si fuera un número de teléfono.

Abre un navegador web en el emulador. Si intentaras acceder a http://localhost/,¿estarías intentando acceder al puerto 80 del ordenador (el host), o del emulador?Necesitarás acceder al puerto 80 del ordenador si tienes un servidor web en marcha en esepuerto. Busca en internet qué IP podrías utilizar para acceder al ordenador host en el quese ejecuta tu emulador.

2.4. Proyecto Android

En las plantillas de la sesión hay un proyecto Android llamado EntityCloud. Impórtaloen tu workspace y ejecútalo.

La aplicación hace uso del portapapeles del teléfono. Prueba a abrir una página web denoticias (desde el emulador) y seleccionar y copiar texto a la aplicación. No podrás copiartexto desde fuera del emulador.

Si tienes a mano un terminal Android con un cable USB, conéctalo y comprueba que a lahora de ejecutar el proyecto, te deja elegir entre lanzarlo en los emuladores o en tu móvil.Para ello tendrás que tener activada la depuración USB de tu terminal Android.

2.5. Entrega de ejercicios

Comparte el repositorio intro de Bitbucket con expertomoviles:profesores para que elprofesor que vaya a corregir la entrega pueda ver los distintos commit que hayas hecho.Recuerda etiquetar el respositorio con la etiqueta intro-entrega (el nombre del módulodel curso) en el momento en que termines de hacer cambios. Se corregirá la versióncorrespondiente a dicha etiqueta. La etiqueta no deberá ser colocada más tarde de las23:59 del día límite para la entrega. El push que actualice en Bitbucket dicha etiquetatambién deberá realizarse antes de la hora límite. Nada impedirá que coloquéis la etiquetamás tarde pero figurará la fecha y hora en que se etiquetó.

2.6. Proyecto iOS

Crea un nuevo proyecto iOS en el asistente de creación que sea multiplataforma yejecútalo en un iPhone y en un iPad.

Presentación

21Copyright © 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.