<?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=Intents_I._Lanzar_unha_Activity</id>
	<title>Intents I. Lanzar unha Activity - 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=Intents_I._Lanzar_unha_Activity"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Intents_I._Lanzar_unha_Activity&amp;action=history"/>
	<updated>2026-10-21T15:28:29Z</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=Intents_I._Lanzar_unha_Activity&amp;diff=50365&amp;oldid=prev</id>
		<title>Carrion: /* O XML do layout da Activity principal */</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Intents_I._Lanzar_unha_Activity&amp;diff=50365&amp;oldid=prev"/>
		<updated>2014-11-04T03:55:03Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;O XML do layout da Activity principal&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;
*Un &amp;#039;&amp;#039;&amp;#039;Intent&amp;#039;&amp;#039;&amp;#039; é o que lle permite a unha aplicación manifestar a &amp;quot;intención&amp;quot; de que desexa facer algo. Por exemplo:&lt;br /&gt;
**Abrir unha nova actividade (pantalla), da mesma ou distinta aplicación.&lt;br /&gt;
**Pasar uns datos dunha activity a outra, da mesma ou distinta aplicación.&lt;br /&gt;
**Interconectar compoñentes da mesma ou distinta aplicación a través de mensaxes.&lt;br /&gt;
&lt;br /&gt;
*Para poder usar un Intent os sistema debe saber que   &lt;br /&gt;
&lt;br /&gt;
Las Intenciones (Intents) permiten a las aplicaciones de Android expresar la intención de que se desea ejecutar una acción sobre unos datos usando algún componente de ésta o de otra aplicación. Las intenciones permiten interconectar componentes de la misma o de distintas aplicaciones mediante mensajes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Cando se crea unha aplicación créase a Activity &amp;#039;&amp;#039;principal&amp;#039;&amp;#039; (A pantalla &amp;#039;&amp;#039;principal&amp;#039;&amp;#039;&amp;#039;).&lt;br /&gt;
*Dende esta Activity pódese chamar a outras Activities (pantallas) da propia aplicación ou doutras.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Para lanzar unha unha activity dende outra úsase a clase &amp;#039;&amp;#039;&amp;#039;Intent&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Un Intent permite chamar a outros Activities, pasarlles e recoller información, interactuar con servizos do sistema, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Na unidade 3 afondarase sobre o ciclo de vida dunha Activity.&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Referencias&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
**http://developer.android.com/training/basics/firstapp/starting-activity.html&lt;br /&gt;
**http://developer.android.com/reference/android/content/Intent.html&lt;br /&gt;
**http://developer.android.com/guide/components/intents-filters.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Caso práctico===&lt;br /&gt;
*Crear o proxecto: &amp;#039;&amp;#039;&amp;#039;U3_20_Intents&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Chamadas entre Activities&amp;quot; widths=&amp;quot;350&amp;quot; heights=&amp;quot;300px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Image:Android_2013_U2_50_LanzarActivity_06.jpg| Dende a pantalla principal vaise introducir un nome. Cando se prema o botón chamarase á segunda acivity que recibira o valor do cadro de texto. Ademais nesta primeira pantalla temos a opción de destruír esa activity no momento de chamar á segunda.&amp;lt;br&amp;gt; Aconséllase experimentar con esa opción e usar o botón &amp;#039;&amp;#039;&amp;#039;Back&amp;#039;&amp;#039;&amp;#039; unha vez que se está na segunda Activity.&lt;br /&gt;
Image:Android_2013_U2_50_LanzarActivity_07.jpg| Segunda pantalla que recibe a información da primeira e ademais ten un botón para destruír esta segunda Activity.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creación dunha segunda Activity===&lt;br /&gt;
*Pódese facer manualmente ou a través da utilidade que proporciona o IDE para crear unha Activity.&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Creación dunha segunda Activity&amp;quot; widths=&amp;quot;350&amp;quot; heights=&amp;quot;300px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Image:Android_2013_U2_50_LanzarActivity_01.jpg| Ir ao menú &amp;#039;&amp;#039;&amp;#039;File-&amp;gt;New-&amp;gt;Other&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Image:Android_2013_U2_50_LanzarActivity_02.jpg| Escoller &amp;#039;&amp;#039;&amp;#039;Android Activity&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Image:Android_2013_U2_50_LanzarActivity_03.jpg| Activity en branco.&lt;br /&gt;
Image:Android_2013_U2_50_LanzarActivity_04.jpg| Escoller en que proxecto creala e o nome, neste caso: RecibirDatos&lt;br /&gt;
Image:Android_2013_U2_50_LanzarActivity_05.jpg| Observar que a ferramenta xa nos creou&amp;lt;br&amp;gt;- un XML e &amp;lt;br&amp;gt;- unha Clase Java para esa Activity.&amp;lt;br&amp;gt;Agora só resta codificar e deseñar o layout.&lt;br /&gt;
Image:Android_2013_U2_50_LanzarActivity_08.jpg| A ferramenta incluso modifica o ficheiro &amp;#039;&amp;#039;&amp;#039;AndroidManifest.xml&amp;#039;&amp;#039;&amp;#039;, creando a entrada para a nova Activity.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===O XML do layout da Activity principal===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;27&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;LinearLayout xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&lt;br /&gt;
    android:layout_width=&amp;quot;fill_parent&amp;quot;&lt;br /&gt;
    android:layout_height=&amp;quot;fill_parent&amp;quot;&lt;br /&gt;
    android:orientation=&amp;quot;vertical&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;TextView&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:text=&amp;quot;Dime o teu nome&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;EditText&lt;br /&gt;
        android:id=&amp;quot;@+id/et_nome&amp;quot;&lt;br /&gt;
        android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
        android:layout_height=&amp;quot;wrap_content&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;CheckBox&lt;br /&gt;
        android:id=&amp;quot;@+id/chk_destruir&amp;quot;&lt;br /&gt;
        android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
        android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:checked=&amp;quot;false&amp;quot;&lt;br /&gt;
        android:text=&amp;quot;Destruir esta activity ao chamar á nova&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Button&lt;br /&gt;
        android:id=&amp;quot;@+id/btn_enviar&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:onClick=&amp;quot;onEnviarClick&amp;quot;&lt;br /&gt;
        android:text=&amp;quot;Chamar á outra Activity&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A clase Java a activity principal===&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;12,27-37&amp;quot; &amp;gt;&lt;br /&gt;
package com.example.u2_50_lanzaractivity;&lt;br /&gt;
&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.content.Intent;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.view.Menu;&lt;br /&gt;
import android.view.View;&lt;br /&gt;
import android.widget.CheckBox;&lt;br /&gt;
import android.widget.TextView;&lt;br /&gt;
&lt;br /&gt;
public class U2_50_LanzarActivity extends Activity {&lt;br /&gt;
	public final static String NOME = &amp;quot;com.example.NOME&amp;quot;;&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_u2_50__lanzar);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	@Override&lt;br /&gt;
	public boolean onCreateOptionsMenu(Menu menu) {&lt;br /&gt;
		// Inflate the menu; this adds items to the action bar if it is present.&lt;br /&gt;
		getMenuInflater().inflate(R.menu.u2_50__lanzar, menu);&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public void onEnviarClick(View view) {&lt;br /&gt;
		TextView tvNome = (TextView) findViewById(R.id.et_nome);&lt;br /&gt;
		CheckBox chkDestruir = (CheckBox) findViewById(R.id.chk_destruir);&lt;br /&gt;
&lt;br /&gt;
		Intent intent = new Intent(this, RecibirDatos.class);&lt;br /&gt;
		intent.putExtra(NOME, tvNome.getText().toString());&lt;br /&gt;
		startActivity(intent);&lt;br /&gt;
		&lt;br /&gt;
		if (chkDestruir.isChecked())&lt;br /&gt;
			finish();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Liña 12&amp;#039;&amp;#039;&amp;#039;: Definimos unha constante de tipo String, chamada NOME,&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Liña 31&amp;#039;&amp;#039;&amp;#039;: Creamos un obxecto de tipo &amp;#039;&amp;#039;&amp;#039;Intent&amp;#039;&amp;#039;&amp;#039;. O construtor recibe 2 parámetros:&lt;br /&gt;
**O primeiro parámetro é unha referencia ao contexto (a clase Activity é unha subclase de Context, por iso poñemos this).&lt;br /&gt;
**O segundo parámetro é a clase que o sistema ‘intentará’ cargar (no noso caso o nome da clase asociada á Activity que desexamos cargar).&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Liña 32&amp;#039;&amp;#039;&amp;#039;: Pasamos un valor String a través de NOME, definido na liña 12.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Liña 33&amp;#039;&amp;#039;&amp;#039;: Lanzamos a Activity&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Liña 35-36&amp;#039;&amp;#039;&amp;#039;: Se o CheckBox do Layout está marcado entón destruímos esta Activity:&lt;br /&gt;
**Realizar probas marcando e desmarcando esta marca e premendo despois o botón &amp;#039;&amp;#039;&amp;#039;Back&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
===O XML da Activity que recibe a chamada===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;20&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; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;TextView&lt;br /&gt;
        android:id=&amp;quot;@+id/tv_resultado&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_centerVertical=&amp;quot;true&amp;quot;&lt;br /&gt;
        android:text=&amp;quot;resultado&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Button&lt;br /&gt;
        android:id=&amp;quot;@+id/btn_pechar&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/tv_Resultado&amp;quot;&lt;br /&gt;
        android:layout_centerHorizontal=&amp;quot;true&amp;quot;&lt;br /&gt;
        android:onClick=&amp;quot;onPecharActivityClick&amp;quot;&lt;br /&gt;
        android:text=&amp;quot;Pechar&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;
&lt;br /&gt;
===A clase Java da Activity que recibe a chamada===&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;17-24,33-35&amp;quot; &amp;gt;&lt;br /&gt;
package com.example.u2_50_lanzaractivity;&lt;br /&gt;
&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.content.Intent;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.view.Menu;&lt;br /&gt;
import android.view.View;&lt;br /&gt;
import android.widget.TextView;&lt;br /&gt;
&lt;br /&gt;
public class RecibirDatos extends Activity {&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_recibir_datos);&lt;br /&gt;
&lt;br /&gt;
		Intent intent = getIntent();&lt;br /&gt;
&lt;br /&gt;
		TextView tvResultado = (TextView) findViewById(R.id.tv_resultado);&lt;br /&gt;
&lt;br /&gt;
		tvResultado.setText(&amp;quot;Ola &amp;quot;&lt;br /&gt;
				+ intent.getExtras().getString(U2_50_LanzarActivity.NOME));&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	@Override&lt;br /&gt;
	public boolean onCreateOptionsMenu(Menu menu) {&lt;br /&gt;
		// Inflate the menu; this adds items to the action bar if it is present.&lt;br /&gt;
		getMenuInflater().inflate(R.menu.recibir_datos, menu);&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public void onPecharActivityClick(View view) {&lt;br /&gt;
		finish();&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Para recuperar a información na segunda Activty hai que realizalo cando se está creando a Activity, pode ser nun método a parte chamado dende o onCreate() ou no propio onCreate();&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Liña 17&amp;#039;&amp;#039;&amp;#039;: Creamos un intent onde recollemos cal foi o intent que iniciou esta Activity.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Liña 22&amp;#039;&amp;#039;&amp;#039;: Collemos a información que viña en NOME e a mostramos nunha etiqueta de texto.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Liña 34&amp;#039;&amp;#039;&amp;#039;: se se preme o botón de pechar destruirase esta Activity.&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>