En este ejemplo explico como enlazar el codigo con las vistas xml de
android, empezaremos por ver como cambiar el texto de un TextView desde el
codigo Java, esta accion la realizaremos al pulsar el boton.
Para comenzar, seleccionamos Nuevo Proyecto en AndroidStudio.
Despues elegimos la API minima en la que se ejecutara nuestra aplicacion.
Despues seleccionamos una activity vacia.
Para comenzar, seleccionamos Nuevo Proyecto en AndroidStudio.
Despues elegimos la API minima en la que se ejecutara nuestra aplicacion.
Despues seleccionamos una activity vacia.
Activity pantalla que vemos en el terminal, en este caso la ponemos vacia para introducir nosotros su contenido.
Despues pasamos al paso donde ponemos nombre a la actividad principal, en
este caso dejamos el que esta por defecto, tanto en el archivo XML como en el
archivo JAVA que llamara a la actividad para que se visualice en pantalla.
Procedemos a finalizar y a esperar que se abra el proyecto.
En la parte izquierda nos aparece el explorador de archivos del proyecto que
acabamos de crear, destacando la carpeta java donde aparece el archivo
MainActivity que es donde introduciremos el codigo java para conseguir el
objetivo planteado.
Mas abajo en res/layout aparece el archivo activity_main.xml que es el
archivo que indica la parte visual de la aplicacion.
Como veis en android se separa el codigo de la parte visual, al igual que en otros lenguajes.
El codigo xml de la actividad principal es:
?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.
com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#FF00FF"
tools:context="ticoticotaa.es.tutorialtextview
button.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/texto"
android:id="@+id/txtView"
android:textSize="32sp"
android:layout_gravity="center_horizontal" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/boton"
android:id="@+id/btn"
android:textSize="24sp"
android:layout_gravity="center_horizontal" />
</LinearLayout>
En el que asignamos los nombres identificadores (ID) para llamarlos y manejarlos desde codigo java, asignamos tambien el texto que mostraran enlazado al archivo xml (string) desde el cual se manejan todos los nombres que queremos mostrar en la aplicacion, esto hace mas facil traducir la aplicacion para que se muestre en distintos lenguajes, como veremos mas adelante.
En este codigo los tamaños los he puesto con respecto al contenido
(wrap_content), se pueden poner en pixeles y en otras medidas como en dp (para
vistas) o sp (para textos) estos son escalables segun densidad de pantalla.
Tanto el boton como el texto estan centrados en pantalla y al LinearLayout
que los contiene le he puesto un color de fondo por destacarlo.
El codigo del string.xml es:
<resources>
<string name="app_name">tutorialTextViewButton
</string>
<string name="texto">Texto a cambiar</string>
<string name="boton">Cambiar texto</string>
</resources>
La actividad principal queda de la siguiente manera:
Ahora pasamos al codigo java, en el que indicaremos mediante codigo que al
pulsar el boton se cambie el texto, e indique cuantas veces se ha pulsado el
boton.
El codigo java es:
package ticoticotaa.es.tutorialtextviewbutton;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity
implements View.OnClickListener {
int vecesPulsado=0;
Button boton;
TextView txtView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
boton=(Button)findViewById(R.id.btn);
txtView=(TextView)findViewById(R.id.txtView);
boton.setOnClickListener(this);
}
public void onClick(View v){
vecesPulsado++;
txtView.setText("Has Pulsado el boton "
+vecesPulsado+" veces");
}
}
Primero preparamos las variables antes del metodo onCreate.
Dentro del metodo onCreate se prepara la activity que se mostrara al
usuario.
Despues de mostrarle la pantalla mediante el archivo xml que creamos
anteriormente, procedemos a enlazar el textView y el boton con el codigo java,
para lo cual asignamos a las variables el id buscado del texto y el boton.
Al boton le asignamos una escucha para detectar si se pulsa, mediante
onClickListener, el (this) se refiere a la activity actual, el contexto, que se
manda al metodo onClick, que es el que ejecuta el codigo al pulsar el boton.
Cuando se pulsa el boton incrementamos el contador (vecesPulsado) para
detectar que se ha vuelto a pulsar y despues ponemos un texto en el textView.
Al terminar nuestra aplicacion podemos pulsar el boton de ejecutar y
podremos probarla en un emulador o en nuestro movil si esta conectado al pc,
como vemos en la imagen siguiente.
Tambien podemos generar el archivo APK, desde el menu Build para instalarlo
en dispositivos android o publicarlo en GooglePlay.
Pongo aqui el video explicativo.
Si teneis alguna duda podeis contactar conmigo y os atendere a la mayor
brevedad.
Espero sea util. Gracias.
No hay comentarios:
Publicar un comentario