jueves, 4 de agosto de 2016

03. TextView y Button

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.


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.

martes, 2 de agosto de 2016

02. Generar archivo APK

En este video muestro como generar el archivo APK firmado para poder ejecutar nuestra aplicacion en cualquier dispositivo android.
El archivo APK se puede subir a la tienda PlayStore de Google, tambien podemos meterlo en cualquier dispositivo android directamente y ejecutarlo para que se instale.
Espero sea util, gracias.


01. Toma de Contacto

En este video se realiza una introduccion al Ide Android Studio.
Espero sea util, gracias,