<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=PDM_Avanzado_Pr%C3%A1ctica_a_entregar</id>
	<title>PDM Avanzado Práctica a entregar - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=PDM_Avanzado_Pr%C3%A1ctica_a_entregar"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=PDM_Avanzado_Pr%C3%A1ctica_a_entregar&amp;action=history"/>
	<updated>2026-10-21T09:13:05Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manuais.iessanclemente.net/index.php?title=PDM_Avanzado_Pr%C3%A1ctica_a_entregar&amp;diff=52691&amp;oldid=prev</id>
		<title>Carrion: /* Pantalla Lista Lugares */</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=PDM_Avanzado_Pr%C3%A1ctica_a_entregar&amp;diff=52691&amp;oldid=prev"/>
		<updated>2015-01-30T18:29:01Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Pantalla Lista Lugares&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Introdución==&lt;br /&gt;
&lt;br /&gt;
Para avaliar ao profesorado que sigue o curso en Platega propóñense dúas opcións:&lt;br /&gt;
*ou ben facer as tarefas indicadas en Platega para cada unha das unidades didácticas&lt;br /&gt;
*ou facer unha aplicación completa que se indica a continuación aplicando os conceptos aprendidos en cada unha delas.&lt;br /&gt;
&lt;br /&gt;
Na plataforma Platega entrégase ao alumnado o proxecto da aplicación coa parte da interface xa feita, quitando todo o código que teña que ver có contido das diferentes unidades didácticas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A aplicación instalable é a seguinte: [[Media:DiarodeViaxe.apk]].&lt;br /&gt;
&lt;br /&gt;
Se se instala nun AVD este ten que ter unha imaxe coa versión Google API como está comentado [http://manuais.iessanclemente.net/index.php/PDM_Avanzado_GoogleMaps#Aclaraci.C3.B3n_sobre_o_dispositivo_virtual_android_.28AVD.29 neste enlace]. Está probada nun Google Map API 21.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O proxecto Android inicial baleiro da aplicación está na plataforma Platega e no seguinte enlace: [[Media:]] (&amp;#039;&amp;#039;Por agora dispoñible só na plataforma Platega ou Mestre do IES San Clemente&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cando se importa o proxecto hai que resolver unha referencia á librería &amp;#039;android-support-v7-appcompat&amp;#039;, porque está cun sdk-mínimo inferior da API 16.&lt;br /&gt;
&lt;br /&gt;
Para facelo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Resolver referencia errónea&amp;quot; widths=&amp;quot;300&amp;quot; heights=&amp;quot;300px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Image:PDM_Avanzada_Aplicacion_17.JPG| Debemos ir ás propiedades do proxecto importado.&lt;br /&gt;
Image:PDM_Avanzada_Aplicacion_18.jpg| Debemos escoller na parte esquerda a opción Android e na parte dereita a versión API 21 e na parte baixa (isto só é necesario se hai unha cruz vermella) premer &amp;#039;&amp;#039;&amp;#039;Remove&amp;#039;&amp;#039;&amp;#039; e despois engadila, premendo Add.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se non está dita librería (&amp;#039;android-support-v7-appcompat&amp;#039;) no voso proxecto:&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Resolver referencia errónea&amp;quot; widths=&amp;quot;300&amp;quot; heights=&amp;quot;200px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Image:PDM_Avanzada_Aplicacion_19.jpg| Primeiro descargar o Android Support Library dende o SDK Manager.&lt;br /&gt;
Image:PDM_Avanzada_Aplicacion_20.jpg| Escoller a opción de menú File =&amp;gt; Import de Eclipse e escoller a opción Existing Android Code into...&lt;br /&gt;
Image:PDM_Avanzada_Aplicacion_21.jpg| Prememos o botón de Browse e navegamos ata o SDK/Extras/Android/Support/v7/appcompat/.&lt;br /&gt;
Image:PDM_Avanzada_Aplicacion_22.jpg| Facemos check na opción &amp;#039;Copy proyect...&amp;#039; e prememos o botón de Finish.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se aparece unha cruz vermella na librería hai que ir ás propiedades (botón dereito sobre a librería =&amp;gt; properties), e na sección Android escoller como Proyect Build Target a versión de Android 5.0.1 (API 21).&lt;br /&gt;
&lt;br /&gt;
Facer un Clean de todos os proxectos (opción de menú Proyect =&amp;gt; Clean de Eclipse).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comentar que o alumno ten total liberdade para modificar a funcionalidade e aparencia da aplicación así como o SDK mínimo, con tal que implemente as funcionalidades correspondentes de cada unidade didáctica.&lt;br /&gt;
&lt;br /&gt;
Agora explicaremos o funcionamento.&lt;br /&gt;
&lt;br /&gt;
==Obxectivo da práctica==&lt;br /&gt;
&lt;br /&gt;
O obxectivo da aplicación é ter un diario de viaxe no que gardar os lugares que visitamos.&lt;br /&gt;
Dentro de cada lugar podemos:&lt;br /&gt;
&lt;br /&gt;
* Gardar fotos.&lt;br /&gt;
* Gardar coordenadas GPS. Por exemplo, se facemos unha ruta andando podemos gardar os puntos máis interesantes da mesma.&lt;br /&gt;
* Gardar audios gravados (e reproducilos).&lt;br /&gt;
&lt;br /&gt;
Tamén podemos visualizar un mapa de Google Map unindo mediante liñas rectas os puntos GPS que teña rexistrado un lugar e ademais amosa a posición actual do usuario.&lt;br /&gt;
&lt;br /&gt;
==Pantallas==&lt;br /&gt;
&lt;br /&gt;
===Pantalla de presentación===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;u&amp;gt;Nome da clase no proxecto entregado&amp;lt;/u&amp;gt;: Presentacion.java&lt;br /&gt;
&lt;br /&gt;
Pantalla na que aparece unha animación e unha música.&lt;br /&gt;
&lt;br /&gt;
Debemos premer o botón &amp;#039;Adiante&amp;#039;. Esta pantalla está totalmente feita.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Imagen:PDM_Avanzada_Aplicacion_1.JPG|400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Pantalla Principal===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Nome da clase no proxecto entregado&amp;lt;/u&amp;gt;: Principal.java&lt;br /&gt;
&lt;br /&gt;
[[Imagen:PDM_Avanzada_Aplicacion_2.JPG|400px|center]]&lt;br /&gt;
&lt;br /&gt;
Permite ir ás diferentes pantallas que conforman a aplicación e que ten na parte superior dúas opcións de menú:&lt;br /&gt;
&lt;br /&gt;
:* Opción de menú Descargar: Descargar un arquivo XML dende Internet: [[Media:Platega_pdm_rutas.xml]]&lt;br /&gt;
&lt;br /&gt;
::: Dito arquivo analízase e engádense os lugares á base de datos.&lt;br /&gt;
&lt;br /&gt;
:* Opción de menú Preferencias: Indicamos a coordenada (latitude e lonxitude) na que queremos que nos situemos no mapa cando o abramos. Ten que estar a opción de checkbox activada. En caso contrario situarase na última posición coñecida, ata recibir nova información polo GPS. Usamos unha pantalla de preferencias.&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;u&amp;gt;Nome da clase no proxecto entregado&amp;lt;/u&amp;gt;: /res/xml/pantalla_preferencias.xml&lt;br /&gt;
&lt;br /&gt;
[[Imagen:PDM_Avanzada_Aplicacion_3.JPG|300px|center]]&lt;br /&gt;
&lt;br /&gt;
O alumno terá que implementar a pantalla de preferencias e programar a súa funcionalidade na pantalla do mapa (XestionMapa.java).&lt;br /&gt;
&lt;br /&gt;
===Pantalla Alta Lugar===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Nome da clase no proxecto entregado&amp;lt;/u&amp;gt;: AltaLugar.java&lt;br /&gt;
&lt;br /&gt;
[[Imagen:PDM_Avanzada_Aplicacion_4.JPG|300px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pantalla que da de alta un novo lugar na base de datos.&lt;br /&gt;
&lt;br /&gt;
Os campos necesarios son o nome do lugar e unha descrición.&lt;br /&gt;
&lt;br /&gt;
Unha vez prememos o botón de alta, debemos engadir á base de datos o lugar. &lt;br /&gt;
&lt;br /&gt;
Ao engadilo:&lt;br /&gt;
* Obteremos o identificador do lugar (clave autonumérica) que teremos que pasar no Intent á seguinte pantalla (AltaRecordos.java) xunto co nome do lugar.&lt;br /&gt;
* Creamos os seguintes cartafoles:&lt;br /&gt;
:* /SD_CARD/DIARIO_DE_VIAXE/NOME_LUGAR/IMAXES =&amp;gt; Onde se gardarán as imaxes.&lt;br /&gt;
:* /SD_CARD/DIARIO_DE_VIAXE/NOME_LUGAR/AUDIOS =&amp;gt; Onde se gardarán os audios.&lt;br /&gt;
&lt;br /&gt;
===Pantalla Alta Recordos===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Nome da clase no proxecto entregado&amp;lt;/u&amp;gt;: AltaRecordos.java&lt;br /&gt;
&lt;br /&gt;
[[Imagen:PDM_Avanzada_Aplicacion_10.JPG|400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A esta pantalla podemos vir dende a pantalla &amp;#039;Lista Lugares&amp;#039; ou dende a pantalla &amp;#039;Alta Lugar&amp;#039;. As dúas mandarán no Intent o id do lugar e o nome. &lt;br /&gt;
&lt;br /&gt;
O obxectivo desta pantalla é a de gardar as fotos / audio / coordenadas GPS asociados ó lugar.&lt;br /&gt;
&lt;br /&gt;
Na parte inferior (en forma de botóns) temos todas esas opcións.&lt;br /&gt;
&lt;br /&gt;
* Ó gravar un audio se gardará en /SD_CARD/DIARIO_DE_VIAXE/NOME_LUGAR/AUDIOS e se refrescará a lista de audios.&lt;br /&gt;
* Ó obter unha foto se gardará en /SD_CARD/DIARIO_DE_VIAXE/NOME_LUGAR/IMAXES e se refrescará o horizontalScrollView (control que visualiza as imaxes).&lt;br /&gt;
* Ó gravar unha coordenada GPS se engadirá a lista de coordenadas e a base de datos. O envío de coordenadas &amp;#039;falsas&amp;#039; de GPS está explicado na [http://manuais.iessanclemente.net/index.php/PDM_Avanzado_Xeolocalizaci%C3%B3n#Env.C3.ADo_de_coordenadas_GPS_.C3.B3_dispositivo Unidade de Xeolocalización].&lt;br /&gt;
&lt;br /&gt;
===Pantalla Lista Lugares===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Nome da clase no proxecto entregado&amp;lt;/u&amp;gt;: ListaLugares.java&lt;br /&gt;
&lt;br /&gt;
[[Imagen:PDM_Avanzada_Aplicacion_11.JPG|400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aparecen nunha lista a lista de lugares da base de datos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ó manter premido sobre un lugar aparece o seguinte menú emerxente (/res/menu/menulistalugares.xml):&lt;br /&gt;
&lt;br /&gt;
[[Imagen:PDM_Avanzada_Aplicacion_12.JPG|300px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Detalle lugar: Volvemos á pantalla de &amp;#039;Alta Recordos&amp;#039; amosando os datos do lugar escollido.&lt;br /&gt;
* Mapa lugar: Aparece un mapa de google map onde, se está activado o GPS, aparece unha icona indicando o nosa posición e ademais aparecen unidos os puntos GPS rexistrados para ese lugar.&lt;br /&gt;
* Borrar lugar: Dá de baixa o lugar seleccionado. Bórrao da base de datos e da SD externa (/SD_CARD/DIARIO_DE_VIAXE/NOME_LUGAR).&lt;br /&gt;
&lt;br /&gt;
===Pantalla Mapa Lugar===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Nome da clase no proxecto entregado&amp;lt;/u&amp;gt;: XestionMapa.java&lt;br /&gt;
&lt;br /&gt;
[[Imagen:PDM_Avanzada_Aplicacion_16.JPG|400px|center]]&lt;br /&gt;
&lt;br /&gt;
Aparece un mapa de google map onde, se está activado o GPS, aparece unha icona indicando o nosa posición e ademais aparecen unidos os puntos GPS rexistrados para ese lugar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Base de datos==&lt;br /&gt;
&lt;br /&gt;
A base de datos xa se atopa creada no cartafol /assets/ do proxecto.&lt;br /&gt;
&lt;br /&gt;
O alumno terá que (explicación dada na unidade de Datos Persistentes) copiar, sempre que non exista, dita base de datos ó cartafol /data/data/nome_paquete/databases/. Isto se fará na activity Principal.&lt;br /&gt;
&lt;br /&gt;
A base de datos consta das seguintes táboas en SQL:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Táboa LUGARES:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;&amp;quot; &amp;gt;&lt;br /&gt;
CREATE TABLE LUGARES ( &lt;br /&gt;
    _id         INTEGER         PRIMARY KEY ASC AUTOINCREMENT,&lt;br /&gt;
    nome        VARCHAR( 200 )  NOT NULL,&lt;br /&gt;
    descripcion VARCHAR( 800 ) &lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Táboa COORDGPS:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;&amp;quot; &amp;gt;&lt;br /&gt;
CREATE TABLE COORDGPS ( &lt;br /&gt;
    _id       INTEGER PRIMARY KEY AUTOINCREMENT,&lt;br /&gt;
    latitude  REAL,&lt;br /&gt;
    lonxitude REAL,&lt;br /&gt;
    _id_lugar INTEGER REFERENCES lugares ( _id ) ON DELETE CASCADE&lt;br /&gt;
                                                 ON UPDATE CASCADE &lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; -- [[Usuario:angelfg|Ángel D. Fernández González]] e [[Usuario:Carrion|Carlos Carrión Álvarez]] -- (2014).&lt;/div&gt;</summary>
		<author><name>Carrion</name></author>
	</entry>
</feed>