<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://wiki.cifprodolfoucha.es/index.php?action=history&amp;feed=atom&amp;title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos</id>
	<title>PDM Avanzado Comunicacion Descarga de arquivos - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cifprodolfoucha.es/index.php?action=history&amp;feed=atom&amp;title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos"/>
	<link rel="alternate" type="text/html" href="https://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos&amp;action=history"/>
	<updated>2026-10-17T10:44:35Z</updated>
	<subtitle>Historial de revisiones de esta página en el wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>https://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos&amp;diff=7941&amp;oldid=prev</id>
		<title>Wiki: /* Caso Práctico: Descargar dunha imaxe dende Internet */</title>
		<link rel="alternate" type="text/html" href="https://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos&amp;diff=7941&amp;oldid=prev"/>
		<updated>2018-11-17T18:19:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Caso Práctico: Descargar dunha imaxe dende Internet&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;es&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revisión del 18:19 17 nov 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l208&quot; &gt;Línea 208:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 208:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Caso Práctico: Descargar &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;dunha &lt;/del&gt;imaxe dende Internet==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Caso Práctico: Descargar &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;unha &lt;/ins&gt;imaxe dende Internet==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;O obxectivo desta práctica é comprobar como podemos descargar  un arquivo dende Internet (neste exemplo é unha imaxe).&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;O obxectivo desta práctica é comprobar como podemos descargar  un arquivo dende Internet (neste exemplo é unha imaxe).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wiki</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos&amp;diff=7940&amp;oldid=prev</id>
		<title>Wiki: /* Caso Práctico */</title>
		<link rel="alternate" type="text/html" href="https://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos&amp;diff=7940&amp;oldid=prev"/>
		<updated>2018-11-17T18:18:28Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Caso Práctico&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;es&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revisión del 18:18 17 nov 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l208&quot; &gt;Línea 208:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 208:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Caso Práctico==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Caso Práctico&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;: Descargar dunha imaxe dende Internet&lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;O obxectivo desta práctica é comprobar como podemos descargar  un arquivo dende Internet (neste exemplo é unha imaxe).&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;O obxectivo desta práctica é comprobar como podemos descargar  un arquivo dende Internet (neste exemplo é unha imaxe).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l242&quot; &gt;Línea 242:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 242:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Dentro do paquete &amp;#039;&amp;#039;&amp;#039;Comunicacion&amp;#039;&amp;#039;&amp;#039; crear unha nova &amp;#039;Empty Activity&amp;#039; de nome: &amp;#039;&amp;#039;&amp;#039;UD09_01_Internet&amp;#039;&amp;#039;&amp;#039; de tipo Launcher e sen compatibilidade.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Dentro do paquete &amp;#039;&amp;#039;&amp;#039;Comunicacion&amp;#039;&amp;#039;&amp;#039; crear unha nova &amp;#039;Empty Activity&amp;#039; de nome: &amp;#039;&amp;#039;&amp;#039;UD09_01_Internet&amp;#039;&amp;#039;&amp;#039; de tipo Launcher e sen compatibilidade.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: Modifica o arquivo &amp;#039;&amp;#039;&amp;#039;AndroidManifiest.xml&amp;#039;&amp;#039;&amp;#039; e engade unha label á activity como [http://wiki.cifprodolfoucha.es/index.php?title=PDM_Creando_proxecto_base xa vimos na creación do proxecto base].&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: Modifica o arquivo &amp;#039;&amp;#039;&amp;#039;AndroidManifiest.xml&amp;#039;&amp;#039;&amp;#039; e engade unha label á activity como [http://wiki.cifprodolfoucha.es/index.php?title=PDM_Creando_proxecto_base xa vimos na creación do proxecto base].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;===Código da Activity===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Código do layout xml&amp;#039;&amp;#039;&amp;#039;&amp;lt;br/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Código do layout xml&amp;#039;&amp;#039;&amp;#039;&amp;lt;br/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wiki</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos&amp;diff=7939&amp;oldid=prev</id>
		<title>Wiki: /* Creamos a Activity */</title>
		<link rel="alternate" type="text/html" href="https://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos&amp;diff=7939&amp;oldid=prev"/>
		<updated>2018-11-17T18:16:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Creamos a Activity&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;es&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revisión del 18:16 17 nov 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l245&quot; &gt;Línea 245:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 245:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===Creamos a Activity ===&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*Nome do proxecto: &amp;#039;&amp;#039;&amp;#039;UD9_01_Comunicacion&amp;#039;&amp;#039;&amp;#039;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*Nome da activity: &amp;#039;&amp;#039;&amp;#039;UD9_01_Comunicacion.java&amp;#039;&amp;#039;&amp;#039;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wiki</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos&amp;diff=7938&amp;oldid=prev</id>
		<title>Wiki: /* Caso Práctico */</title>
		<link rel="alternate" type="text/html" href="https://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos&amp;diff=7938&amp;oldid=prev"/>
		<updated>2018-11-17T18:16:36Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Caso Práctico&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos&amp;amp;diff=7938&amp;amp;oldid=7937&quot;&gt;Mostrar los cambios&lt;/a&gt;</summary>
		<author><name>Wiki</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos&amp;diff=7937&amp;oldid=prev</id>
		<title>Wiki: /* Preparación */</title>
		<link rel="alternate" type="text/html" href="https://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos&amp;diff=7937&amp;oldid=prev"/>
		<updated>2018-11-17T17:44:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Preparación&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;es&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revisión del 17:44 17 nov 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l240&quot; &gt;Línea 240:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 240:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Dentro do paquete &amp;#039;&amp;#039;&amp;#039;Comunicacion&amp;#039;&amp;#039;&amp;#039; crear unha nova &amp;#039;Empty Activity&amp;#039; de nome: &amp;#039;&amp;#039;&amp;#039;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;UD09_01_Internet_1&lt;/del&gt;&amp;#039;&amp;#039;&amp;#039; de tipo Launcher e sen compatibilidade.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Dentro do paquete &amp;#039;&amp;#039;&amp;#039;Comunicacion&amp;#039;&amp;#039;&amp;#039; crear unha nova &amp;#039;Empty Activity&amp;#039; de nome: &amp;#039;&amp;#039;&amp;#039;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;UD09_01_Internet&lt;/ins&gt;&amp;#039;&amp;#039;&amp;#039; de tipo Launcher e sen compatibilidade.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: Modifica o arquivo &amp;#039;&amp;#039;&amp;#039;AndroidManifiest.xml&amp;#039;&amp;#039;&amp;#039; e engade unha label á activity como [http://wiki.cifprodolfoucha.es/index.php?title=PDM_Creando_proxecto_base xa vimos na creación do proxecto base].&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: Modifica o arquivo &amp;#039;&amp;#039;&amp;#039;AndroidManifiest.xml&amp;#039;&amp;#039;&amp;#039; e engade unha label á activity como [http://wiki.cifprodolfoucha.es/index.php?title=PDM_Creando_proxecto_base xa vimos na creación do proxecto base].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wiki</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos&amp;diff=7936&amp;oldid=prev</id>
		<title>Wiki: /* Preparación */</title>
		<link rel="alternate" type="text/html" href="https://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos&amp;diff=7936&amp;oldid=prev"/>
		<updated>2018-11-17T17:40:47Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Preparación&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;es&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revisión del 17:40 17 nov 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l234&quot; &gt;Línea 234:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 234:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Lembrar que no caso de utilizar un emulador será necesario que teña a tarxeta externa SD.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Lembrar que no caso de utilizar un emulador será necesario que teña a tarxeta externa SD.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Partimos que xa temos creado o proxecto inicial como [http://wiki.cifprodolfoucha.es/index.php?title=PDM_Creando_proxecto_base xa indicamos anteriormente].&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Se non o temos creado antes, crearemos un novo paquete de nome: &amp;#039;&amp;#039;&amp;#039;Comunicacion&amp;#039;&amp;#039;&amp;#039; como un subpaquete do teu paquete principal.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br /&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Dentro do paquete &amp;#039;&amp;#039;&amp;#039;Comunicacion&amp;#039;&amp;#039;&amp;#039; crear unha nova &amp;#039;Empty Activity&amp;#039; de nome: &amp;#039;&amp;#039;&amp;#039;UD09_01_Internet_1&amp;#039;&amp;#039;&amp;#039; de tipo Launcher e sen compatibilidade.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: Modifica o arquivo &amp;#039;&amp;#039;&amp;#039;AndroidManifiest.xml&amp;#039;&amp;#039;&amp;#039; e engade unha label á activity como [http://wiki.cifprodolfoucha.es/index.php?title=PDM_Creando_proxecto_base xa vimos na creación do proxecto base].&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br /&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Creamos a Activity ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Creamos a Activity ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wiki</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos&amp;diff=7935&amp;oldid=prev</id>
		<title>Wiki: /* Descargar o arquivo */</title>
		<link rel="alternate" type="text/html" href="https://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos&amp;diff=7935&amp;oldid=prev"/>
		<updated>2018-11-17T17:38:32Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Descargar o arquivo&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;es&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revisión del 17:38 17 nov 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l195&quot; &gt;Línea 195:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 195:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;O PUNTO MÁIS IMPORTATE&amp;#039;&amp;#039;&amp;#039;: Todo o anterior ten que facerse nun fío separado do principal.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;O PUNTO MÁIS IMPORTATE&amp;#039;&amp;#039;&amp;#039;: Todo o anterior ten que facerse nun fío separado do principal.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Como se vimos na [http://&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;manuais&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;iessanclemente&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;net&lt;/del&gt;/index.php&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;/Curso_Platega:_Desenvolvemento_de_aplicaci&lt;/del&gt;%C3%&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;B3ns_para_dispositivos_m&lt;/del&gt;%C3%&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;B3biles_con_Android._Avanzado&lt;/del&gt;#&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;UNIDADE_3&lt;/del&gt;:_Threads_e_AsyncTask Unidade de Threads e AsynTask] o podemos facer utilizando un Thread ou un AsynTask.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Como se vimos na [http://&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;wiki&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;cifprodolfoucha&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;es&lt;/ins&gt;/index.php&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;?title=Programaci&lt;/ins&gt;%C3%&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;B3n_de_dispositivos_m&lt;/ins&gt;%C3%&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;B3biles&lt;/ins&gt;#&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;UNIDADE_7&lt;/ins&gt;:_Threads_e_AsyncTask Unidade de Threads e AsynTask] o podemos facer utilizando un Thread ou un AsynTask.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wiki</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos&amp;diff=7934&amp;oldid=prev</id>
		<title>Wiki: /* Descargar o arquivo */</title>
		<link rel="alternate" type="text/html" href="https://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos&amp;diff=7934&amp;oldid=prev"/>
		<updated>2018-11-17T17:35:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Descargar o arquivo&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;es&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revisión del 17:35 17 nov 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l87&quot; &gt;Línea 87:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 87:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Teremos que utilizar un InputStream para lela e un OutputStream para escribila a disco.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Teremos que utilizar un InputStream para lela e un OutputStream para escribila a disco.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;u&amp;gt;Nota:&amp;lt;/u&amp;gt; O manexo de arquivos xa os vimos neste punto: http://&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;manuais&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;iessanclemente&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;net&lt;/del&gt;/index.php&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;/&lt;/del&gt;PDM_Avanzado_Datos_Persistentes_Arquivos&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;u&amp;gt;Nota:&amp;lt;/u&amp;gt; O manexo de arquivos xa os vimos neste punto: http://&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;wiki&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;cifprodolfoucha&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;es&lt;/ins&gt;/index.php&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;?title=&lt;/ins&gt;PDM_Avanzado_Datos_Persistentes_Arquivos&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;O cartafol onde imos gardala será o predeterminado polo S.O. para gardar imaxes.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;O cartafol onde imos gardala será o predeterminado polo S.O. para gardar imaxes.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wiki</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos&amp;diff=1025&amp;oldid=prev</id>
		<title>Wiki: /* Introdución */</title>
		<link rel="alternate" type="text/html" href="https://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos&amp;diff=1025&amp;oldid=prev"/>
		<updated>2016-06-04T16:07:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Introdución&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;es&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revisión del 16:07 4 jun 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l20&quot; &gt;Línea 20:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 20:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Xa que imos acceder a Internet e imos descargar o arquivo na tarxeta SD Externa.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Xa que imos acceder a Internet e imos descargar o arquivo na tarxeta SD Externa.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;u&amp;gt;Importante:&amp;lt;/u&amp;gt;&amp;#039;&amp;#039;&amp;#039;: Se estades a utilizar unha versión igual ou superior 6.0 do S.O. Android e no targetSDKVersion tes unha versión igual ou superior á 23, o permiso de escritura é considerado un permiso &amp;#039;perigoso&amp;#039; e teredes que solicitalo tamén por programación, como está explicado [http://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Permisos_AndroidManifiest.xml neste enlace].&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Identificar o tipo de rede==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Identificar o tipo de rede==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wiki</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos&amp;diff=1023&amp;oldid=prev</id>
		<title>Wiki: Página creada con «==Introdución==  &lt;u&gt;Nota:&lt;/u&gt; Se utilizades un dispositivo real para facer esta práctica teredes que ter conexión a Internet.  Se utilizades o emulador o computador onde...»</title>
		<link rel="alternate" type="text/html" href="https://wiki.cifprodolfoucha.es/index.php?title=PDM_Avanzado_Comunicacion_Descarga_de_arquivos&amp;diff=1023&amp;oldid=prev"/>
		<updated>2016-06-04T15:53:50Z</updated>

		<summary type="html">&lt;p&gt;Página creada con «==Introdución==  &amp;lt;u&amp;gt;Nota:&amp;lt;/u&amp;gt; Se utilizades un dispositivo real para facer esta práctica teredes que ter conexión a Internet.  Se utilizades o emulador o computador onde...»&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;
&amp;lt;u&amp;gt;Nota:&amp;lt;/u&amp;gt; Se utilizades un dispositivo real para facer esta práctica teredes que ter conexión a Internet.&lt;br /&gt;
&lt;br /&gt;
Se utilizades o emulador o computador onde estea correndo debe ter conexión a Internet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O proceso que temos que seguir para descargar un arquivo é:&lt;br /&gt;
&lt;br /&gt;
* Identificar o tipo de conexión para saber se estamos conectados a Internet. Neste punto podemos indicar o usuario que o uso da aplicación pode levar un custo se está conectado pola rede móbil.&lt;br /&gt;
* Descargar o arquivo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para facer o anterior necesitaremos engadir ó arquivo &amp;#039;&amp;#039;&amp;#039;AndroidManifiest.xml&amp;#039;&amp;#039;&amp;#039; os seguintes permisos:&lt;br /&gt;
&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;
&amp;lt;uses-permission android:name=&amp;quot;android.permission.WRITE_EXTERNAL_STORAGE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;uses-permission android:name=&amp;quot;android.permission.INTERNET&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Xa que imos acceder a Internet e imos descargar o arquivo na tarxeta SD Externa.&lt;br /&gt;
&lt;br /&gt;
==Identificar o tipo de rede==&lt;br /&gt;
&lt;br /&gt;
Para obter información sobre a rede necesitamos engadir o seguinte permiso o arquivo de &amp;#039;&amp;#039;&amp;#039;AndroidManifiest.xml&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&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;
&amp;lt;uses-permission android:name=&amp;quot;android.permission.ACCESS_NETWORK_STATE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cando estamos conectados cun dispositivo móbil a unha rede temos tres posibilidades:&lt;br /&gt;
* Móbil&lt;br /&gt;
* Ethernet (cable de rede)&lt;br /&gt;
* WIFI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para obter o tipo de rede ó que estamos conectados deberemos usar un obxecto da [http://developer.android.com/reference/android/net/ConnectivityManager.html clase ConnectivityManager].&lt;br /&gt;
&lt;br /&gt;
Para obtelo, deberemos chamar ó [http://developer.android.com/reference/android/content/Context.html#getSystemService%28java.lang.String%29 método getSystemService] da seguinte forma:&lt;br /&gt;
&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;
ConnectivityManager connMgr = (ConnectivityManager)contexto.getSystemService(Context.CONNECTIVITY_SERVICE);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unha vez feito isto podemos obter información acerca da rede na que estamos conectados mediante un obxecto da [http://developer.android.com/reference/android/net/NetworkInfo.html clase NetworkInfo]:&lt;br /&gt;
&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;
NetworkInfo networkInfo=null;&lt;br /&gt;
networkInfo = connMgr.getActiveNetworkInfo();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NetworkInfo informa se estamos conectados e o tipo de rede ó que estamos conectados:&lt;br /&gt;
&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;
                if (networkInfo != null &amp;amp;&amp;amp; networkInfo.isConnected()) {&lt;br /&gt;
			switch(networkInfo.getType()){&lt;br /&gt;
				case ConnectivityManager.TYPE_MOBILE:&lt;br /&gt;
					break;&lt;br /&gt;
				case ConnectivityManager.TYPE_ETHERNET:&lt;br /&gt;
					// ATENCION API LEVEL 13 PARA ESTA CONSTANTE&lt;br /&gt;
					break;&lt;br /&gt;
				case ConnectivityManager.TYPE_WIFI:&lt;br /&gt;
					// NON ESTEAS MOITO TEMPO CO WIFI POSTO&lt;br /&gt;
					// MAIS INFORMACION EN http://www.avaate.org/&lt;br /&gt;
					break;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			// NON TEMOS REDE&lt;br /&gt;
		}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Nota:&amp;lt;/u&amp;gt; Se necesitamos manexar a conexión WIFI podemos facer uso da clase WifiManager: http://developer.android.com/reference/android/net/wifi/WifiManager.html e engadir o permiso android.permission.ACCESS_WIFI_STATE no AndroidManifiest.xml.&lt;br /&gt;
&lt;br /&gt;
==Descargar o arquivo==&lt;br /&gt;
&lt;br /&gt;
Agora imos resolver o problema de descargar un arquivo dende Internet.&lt;br /&gt;
&lt;br /&gt;
Teremos que utilizar un InputStream para lela e un OutputStream para escribila a disco.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Nota:&amp;lt;/u&amp;gt; O manexo de arquivos xa os vimos neste punto: http://manuais.iessanclemente.net/index.php/PDM_Avanzado_Datos_Persistentes_Arquivos&lt;br /&gt;
&lt;br /&gt;
O cartafol onde imos gardala será o predeterminado polo S.O. para gardar imaxes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O proceso será o seguinte:&lt;br /&gt;
&lt;br /&gt;
* Determinamos a dirección URL para descargar o arquivo:&lt;br /&gt;
&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;
	        private String IMAXE_DESCARGAR=&amp;quot;http://www.aspedrinas.com/imagenes/santiago/santiago1.jpg&amp;quot;;&lt;br /&gt;
		URL url=null;&lt;br /&gt;
		try {&lt;br /&gt;
			url = new URL(IMAXE_DESCARGAR);&lt;br /&gt;
		} catch (MalformedURLException e1) {&lt;br /&gt;
			// TODO Auto-generated catch block&lt;br /&gt;
			e1.printStackTrace();&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se queremos obter só o nome do arquivo da URL podemos poñer este código:&lt;br /&gt;
&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;
		String nomeArquivo = Uri.parse(IMAXE_DESCARGAR).getLastPathSegment();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Agora necesitamos ler dende Internet o arquivo a descargar.&lt;br /&gt;
&lt;br /&gt;
A idea é moi sinxela. Temos que facer unha conexión có Servidor.&lt;br /&gt;
Ó establecer dita conexión podemos especificar unha serie de parámetros coma son:&lt;br /&gt;
&lt;br /&gt;
* Tempo máximo de lectura (en milisegundos).&lt;br /&gt;
* Tempo máximo para facer a conexión.&lt;br /&gt;
* Método de transmisión (GET ou POST, entre outros).&lt;br /&gt;
&lt;br /&gt;
Todo isto se fai cun obxecto da [http://developer.android.com/reference/java/net/HttpURLConnection.html clase HttpURLConnection]:&lt;br /&gt;
&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;
	        HttpURLConnection conn=null;&lt;br /&gt;
&lt;br /&gt;
		conn = (HttpURLConnection) url.openConnection();&lt;br /&gt;
	        conn.setReadTimeout(10000);  	/* milliseconds */&lt;br /&gt;
	        conn.setConnectTimeout(15000);  /* milliseconds */&lt;br /&gt;
	        conn.setRequestMethod(&amp;quot;POST&amp;quot;);&lt;br /&gt;
	        conn.setDoInput(true);			/* Indicamos que a conexión vai recibir datos */&lt;br /&gt;
	        &lt;br /&gt;
	        conn.connect();&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Ó facer o intento de conexión o servidor web pode darnos unha resposta de que todo é correcto ou un erro (por exemplo, recursos non atopado, que non deixe descargar,...)&lt;br /&gt;
Comprobaremos por tanto que non tivemos ningún erro:&lt;br /&gt;
&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;
	        int response = conn.getResponseCode();&lt;br /&gt;
	        if (response != HttpURLConnection.HTTP_OK){	&lt;br /&gt;
                        // TRATAREMOS O ERRO&lt;br /&gt;
			return;&lt;br /&gt;
	        }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Nota:&amp;lt;/u&amp;gt; Aínda que dependemos do servidor, podemos obter o tamaño do que queremos descargar da seguinte forma: &lt;br /&gt;
&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;
	int fileLength = conn.getContentLength();	// Non funciona sempre&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isto nos pode servir para modificar unha barra de progreso a indicar canto lle queda por descargar....&lt;br /&gt;
&lt;br /&gt;
En caso de que o servidor non resposnda filelength terá de valor -1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Definimos o OutputStream (para gardar o arquivo lido) e un InputStream para ler o contido de Internet:&lt;br /&gt;
&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;
        OutputStream os;&lt;br /&gt;
        InputStream in;&lt;br /&gt;
        ......&lt;br /&gt;
	os = new FileOutputStream(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES+File.separator+nomeArquivo));&lt;br /&gt;
        in = conn.getInputStream();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Nota:&amp;lt;/u&amp;gt; Necesitaremos usar try...catch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Agora só queda ler o contido e escribilo ó mesmo tempo como fixemos na unidade de arquivos:&lt;br /&gt;
&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;
	    byte data[] = new byte[1024];	// Buffer a utilizar&lt;br /&gt;
            int count;&lt;br /&gt;
            while ((count = in.read(data)) != -1) {&lt;br /&gt;
                os.write(data, 0, count);&lt;br /&gt;
            }&lt;br /&gt;
            os.flush();&lt;br /&gt;
            os.close();&lt;br /&gt;
            in.close();&lt;br /&gt;
            conn.disconnect();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;O PUNTO MÁIS IMPORTATE&amp;#039;&amp;#039;&amp;#039;: Todo o anterior ten que facerse nun fío separado do principal.&lt;br /&gt;
&lt;br /&gt;
Como se vimos na [http://manuais.iessanclemente.net/index.php/Curso_Platega:_Desenvolvemento_de_aplicaci%C3%B3ns_para_dispositivos_m%C3%B3biles_con_Android._Avanzado#UNIDADE_3:_Threads_e_AsyncTask Unidade de Threads e AsynTask] o podemos facer utilizando un Thread ou un AsynTask.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Aclaración:&amp;lt;/u&amp;gt; Estamos a amosar como descargar un arquivo calquera de Internet e unha vez baixado facer algunha operación sobre el.&lt;br /&gt;
&lt;br /&gt;
Se queremos descargar unha imaxe podemos cargar directamente un Bitmap dende o InputStream desta forma:&lt;br /&gt;
&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;
	        Bitmap bitmap = BitmapFactory.decodeStream(in);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Caso Práctico==&lt;br /&gt;
&lt;br /&gt;
O obxectivo desta práctica é comprobar como podemos descargar  un arquivo dende Internet (neste exemplo é unha imaxe).&lt;br /&gt;
&lt;br /&gt;
A dirección URL está posta na propia aplicación do exemplo. O alumno pode cambiala por unha súa pero tendo en conta que hai sitios web que van responder cun erro de conexión (403, forbidden) e outros teñen unha visualización diferente para móbiles que para PC, polo que unha dirección probada dende un PC pode funcionar pero que cando se pon na aplicación móbil pode dar outro erro (307, redirect).&lt;br /&gt;
&lt;br /&gt;
Neste exemplo utilizamos un Thread sen paso de mensaxes. &lt;br /&gt;
&lt;br /&gt;
Isto non será a forma adecuada de implementalo, xa que o lóxico sería premer o botón de Descargar Imaxe e &amp;#039;informar&amp;#039; a activity cando rematou de descargala. &lt;br /&gt;
&lt;br /&gt;
Unha forma elegante de facelo é utilizar un diálogo de progreso como vimos nas unidades anteriores.&lt;br /&gt;
&lt;br /&gt;
[[Imagen:PDM_Avanzada_DatosPersistentes_20.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Preparación===&lt;br /&gt;
&lt;br /&gt;
Engadimos no AndroidManifiest.xml os seguintes permisos:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.WRITE_EXTERNAL_STORAGE&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.INTERNET&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.ACCESS_NETWORK_STATE&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lembrar que no caso de utilizar un emulador será necesario que teña a tarxeta externa SD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Creamos a Activity ===&lt;br /&gt;
&lt;br /&gt;
*Nome do proxecto: &amp;#039;&amp;#039;&amp;#039;UD9_01_Comunicacion&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Nome da activity: &amp;#039;&amp;#039;&amp;#039;UD9_01_Comunicacion.java&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Código do layout xml&amp;#039;&amp;#039;&amp;#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;RelativeLayout xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&lt;br /&gt;
    xmlns:tools=&amp;quot;http://schemas.android.com/tools&amp;quot;&lt;br /&gt;
    android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:layout_height=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    tools:context=&amp;quot;${relativePackage}.${activityClass}&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ImageView&lt;br /&gt;
        android:id=&amp;quot;@+id/ud9_imgvwImaxeDescargada&amp;quot;&lt;br /&gt;
        android:layout_width=&amp;quot;300dp&amp;quot;&lt;br /&gt;
        android:layout_height=&amp;quot;300dp&amp;quot;&lt;br /&gt;
        android:layout_alignParentBottom=&amp;quot;true&amp;quot;&lt;br /&gt;
        android:layout_centerHorizontal=&amp;quot;true&amp;quot;&lt;br /&gt;
        android:contentDescription=&amp;quot;IMAXE DESCARGADA&amp;quot;&lt;br /&gt;
        android:src=&amp;quot;@drawable/ic_launcher&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Button&lt;br /&gt;
        android:id=&amp;quot;@+id/ud9_btnDescargarImaxe&amp;quot;&lt;br /&gt;
        android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:layout_centerHorizontal=&amp;quot;true&amp;quot;&lt;br /&gt;
        android:layout_marginTop=&amp;quot;34dp&amp;quot;&lt;br /&gt;
        android:text=&amp;quot;DESCARGAR IMAXE&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Button&lt;br /&gt;
        android:id=&amp;quot;@+id/ud9_btnVisualizarImaxe&amp;quot;&lt;br /&gt;
        android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:layout_below=&amp;quot;@+id/ud9_btnDescargarImaxe&amp;quot;&lt;br /&gt;
        android:layout_centerHorizontal=&amp;quot;true&amp;quot;&lt;br /&gt;
        android:text=&amp;quot;VISUALIZAR IMAXE&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/RelativeLayout&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Código da clase UD9_01_Comunicacion&amp;#039;&amp;#039;&amp;#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Obxectivo:&amp;#039;&amp;#039;&amp;#039; Descargar unha imaxe de Internet.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;29,30,36-56,59-108,122-124,137-141,153-157&amp;quot; &amp;gt;&lt;br /&gt;
import java.io.File;&lt;br /&gt;
import java.io.FileNotFoundException;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.InputStream;&lt;br /&gt;
import java.io.OutputStream;&lt;br /&gt;
import java.net.HttpURLConnection;&lt;br /&gt;
import java.net.MalformedURLException;&lt;br /&gt;
import java.net.URL;&lt;br /&gt;
&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.content.Context;&lt;br /&gt;
import android.graphics.Bitmap;&lt;br /&gt;
import android.graphics.BitmapFactory;&lt;br /&gt;
import android.net.ConnectivityManager;&lt;br /&gt;
import android.net.NetworkInfo;&lt;br /&gt;
import android.net.Uri;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.os.Environment;&lt;br /&gt;
import android.util.Log;&lt;br /&gt;
import android.view.View;&lt;br /&gt;
import android.view.View.OnClickListener;&lt;br /&gt;
import android.widget.Button;&lt;br /&gt;
import android.widget.ImageView;&lt;br /&gt;
import android.widget.Toast;&lt;br /&gt;
&lt;br /&gt;
public class UD9_01_Comunicacion extends Activity {&lt;br /&gt;
&lt;br /&gt;
	public static enum TIPOREDE{MOBIL,ETHERNET,WIFI,SENREDE};&lt;br /&gt;
	private TIPOREDE conexion;&lt;br /&gt;
	&lt;br /&gt;
	private final String IMAXE_DESCARGAR=&amp;quot;http://www.aspedrinas.com/imagenes/santiago/santiago1.jpg&amp;quot;;&lt;br /&gt;
	private File rutaArquivo;&lt;br /&gt;
	private Thread thread;&lt;br /&gt;
&lt;br /&gt;
	private TIPOREDE comprobarRede(){&lt;br /&gt;
		NetworkInfo networkInfo=null;&lt;br /&gt;
		&lt;br /&gt;
		ConnectivityManager connMgr = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);&lt;br /&gt;
		networkInfo = connMgr.getActiveNetworkInfo();&lt;br /&gt;
		 &lt;br /&gt;
		if (networkInfo != null &amp;amp;&amp;amp; networkInfo.isConnected()) {&lt;br /&gt;
			switch(networkInfo.getType()){&lt;br /&gt;
				case ConnectivityManager.TYPE_MOBILE:&lt;br /&gt;
					return TIPOREDE.MOBIL;&lt;br /&gt;
				case ConnectivityManager.TYPE_ETHERNET:&lt;br /&gt;
					// ATENCION API LEVEL 13 PARA ESTA CONSTANTE&lt;br /&gt;
					return TIPOREDE.ETHERNET;&lt;br /&gt;
				case ConnectivityManager.TYPE_WIFI:&lt;br /&gt;
					// NON ESTEAS MOITO TEMPO CO WIFI POSTO&lt;br /&gt;
					// MAIS INFORMACION EN http://www.avaate.org/&lt;br /&gt;
					return TIPOREDE.WIFI;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		return TIPOREDE.SENREDE;	&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	private void descargarArquivo() {&lt;br /&gt;
		URL url=null;&lt;br /&gt;
		try {&lt;br /&gt;
			url = new URL(IMAXE_DESCARGAR);&lt;br /&gt;
		} catch (MalformedURLException e1) {&lt;br /&gt;
			// TODO Auto-generated catch block&lt;br /&gt;
			e1.printStackTrace();&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	    HttpURLConnection conn=null;&lt;br /&gt;
		String nomeArquivo = Uri.parse(IMAXE_DESCARGAR).getLastPathSegment();&lt;br /&gt;
		rutaArquivo = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES+File.separator+nomeArquivo);&lt;br /&gt;
		try {&lt;br /&gt;
&lt;br /&gt;
			conn = (HttpURLConnection) url.openConnection();&lt;br /&gt;
	        conn.setReadTimeout(10000);  	/* milliseconds */&lt;br /&gt;
	        conn.setConnectTimeout(15000);  /* milliseconds */&lt;br /&gt;
	        conn.setRequestMethod(&amp;quot;POST&amp;quot;);&lt;br /&gt;
	        conn.setDoInput(true);			/* Indicamos que a conexión vai recibir datos */&lt;br /&gt;
	        &lt;br /&gt;
	        conn.connect();&lt;br /&gt;
&lt;br /&gt;
	        int response = conn.getResponseCode();&lt;br /&gt;
	        if (response != HttpURLConnection.HTTP_OK){	&lt;br /&gt;
				return;&lt;br /&gt;
	        }&lt;br /&gt;
	        OutputStream os = new FileOutputStream(rutaArquivo);&lt;br /&gt;
	        InputStream in = conn.getInputStream();&lt;br /&gt;
	        byte data[] = new byte[1024];	// Buffer a utilizar&lt;br /&gt;
            int count;&lt;br /&gt;
            while ((count = in.read(data)) != -1) {&lt;br /&gt;
                os.write(data, 0, count);&lt;br /&gt;
            }&lt;br /&gt;
            os.flush();&lt;br /&gt;
            os.close();&lt;br /&gt;
            in.close();&lt;br /&gt;
	        conn.disconnect();&lt;br /&gt;
			Log.i(&amp;quot;COMUNICACION&amp;quot;,&amp;quot;ACABO&amp;quot;);&lt;br /&gt;
		}&lt;br /&gt;
		catch (FileNotFoundException e) {&lt;br /&gt;
			// TODO Auto-generated catch block&lt;br /&gt;
			Log.e(&amp;quot;COMUNICACION&amp;quot;,e.getMessage());&lt;br /&gt;
		} catch (IOException e) {&lt;br /&gt;
			// TODO Auto-generated catch block&lt;br /&gt;
			e.printStackTrace();&lt;br /&gt;
			Log.e(&amp;quot;COMUNICACION&amp;quot;,e.getMessage());&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	private void xestionarEventos(){&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		Button btnDescargarImaxe=(Button) findViewById(R.id.ud9_btnDescargarImaxe);&lt;br /&gt;
		btnDescargarImaxe.setOnClickListener(new OnClickListener() {&lt;br /&gt;
			&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onClick(View v) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
		        thread = new Thread(){&lt;br /&gt;
		        	&lt;br /&gt;
		        	@Override&lt;br /&gt;
		        	public void run(){&lt;br /&gt;
		        		descargarArquivo();&lt;br /&gt;
		        	}&lt;br /&gt;
		        };&lt;br /&gt;
		        thread.start();&lt;br /&gt;
		        &lt;br /&gt;
&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		Button btnVisualizarImaxe=(Button) findViewById(R.id.ud9_btnVisualizarImaxe);&lt;br /&gt;
		btnVisualizarImaxe.setOnClickListener(new OnClickListener() {&lt;br /&gt;
			&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onClick(View v) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				if ((thread!=null) &amp;amp;&amp;amp; (!thread.isAlive())){&lt;br /&gt;
					ImageView imgviewImaxe = (ImageView)findViewById(R.id.ud9_imgvwImaxeDescargada);&lt;br /&gt;
					Bitmap bmpImaxe = BitmapFactory.decodeFile(rutaArquivo.getAbsolutePath());&lt;br /&gt;
					imgviewImaxe.setImageBitmap(bmpImaxe);&lt;br /&gt;
				}&lt;br /&gt;
				&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
    @Override&lt;br /&gt;
    protected void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
        super.onCreate(savedInstanceState);&lt;br /&gt;
        setContentView(R.layout.activity_ud9_01__comunicacion);&lt;br /&gt;
        &lt;br /&gt;
        conexion = comprobarRede();&lt;br /&gt;
        if (conexion==TIPOREDE.SENREDE){&lt;br /&gt;
        	Toast.makeText(this, &amp;quot;NON SE PODE FACER ESTA PRACTICA SEN CONEXION A INTERNET&amp;quot;, Toast.LENGTH_LONG).show();&lt;br /&gt;
        	finish();&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        xestionarEventos();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Liñas 29,30,36-56: Como vimos na explicación inicial, comprobamos o tipo de conexión do noso dispositivo móbil. O método vai devolver un valor dun tipo ENUM (liña 29).&lt;br /&gt;
* Liñas 59-108: Descargamos o arquivo como vimos na explicación inicial.&lt;br /&gt;
* Liñas 122-124: Xestionamos o evento de Click sobre o botón &amp;#039;Descargar Imaxe&amp;#039;. Creamos un fío novo de execución e chamamos ó método &amp;#039;descargarArquivo&amp;#039;.&lt;br /&gt;
* Liñas 137-141: Comprobamos que o fío rematou de executarse e nese caso cargamos a imaxe descargada.&lt;br /&gt;
* Liñas 153-157: En caso de non estar conectado a ningunha rede finalizamos a activity.&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>Wiki</name></author>
		
	</entry>
</feed>