Ir al contenido principal

BDate Parte 2 - Clases a usar

Siguiendo con el pots anterior, vamos a continuar con un poco de código (que es lo que nos interesa), comencemos editando el código de la clase principal, en mi caso se llama BDateActivity y esta declarada de la siguiente manera


package com.nayosx.nl;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class BDateActivity extends Activity implements OnClickListener{
    /** Called when the activity is first created. */
 private Button bCrear, bLeer;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        inicializar();
    }
    private void inicializar()
    {
     bCrear = (Button) findViewById(R.id.bCrearA);
     bLeer = (Button) findViewById(R.id.bLeerA);
     
     bCrear.setOnClickListener(this);
     bLeer.setOnClickListener(this);
    }
 public void onClick(View arg0) {
  // TODO Auto-generated method stub
  Intent i; 
  switch(arg0.getId())
  {
  case R.id.bCrearA:
   i = new Intent(BDateActivity.this, Crear.class);
   startActivity(i);
   break;
  case R.id.bLeerA:
   i = new Intent(BDateActivity.this, Leer.class);
   startActivity(i);
   break;
  }
 }
}


Como se logra observar he usado la interface OnClickListener la cual crea el metodo onClick(), que como sabran este espera el evento de los botones bCrear y bLeer.


Según la documentación de Android es mas eficiente hacerlo con la interface OnClickListener, y como lo dice la documentación oficial, es mejor hacerlo así desde ahora en adelante. De alguna manera necesitamos saber en que boton ocurrio el evento, para ello hacemos uso de un switch en el cual recuperamos la información del argumento arg0 y con el método getId() recuperamos el ID correspondiente al botón que fue presionado
switch(arg0.getId())
  {
  case R.id.bCrearA:
   i = new Intent(BDateActivity.this, Crear.class);
   startActivity(i);
   break;
  case R.id.bLeerA:
   i = new Intent(BDateActivity.this, Leer.class);
   startActivity(i);
   break;
  }

Según el botón que haya sido presionado hace uso de un Intent para llamar a la actividad que necesitemos, la instancia de tipo Intent la nombre simplemente como i, y en los argumentos del constructor se le envia los parametros de la clase donde estamos y la clase donde queremos ir


//Para ir a la actividad de crear
   i = new Intent(BDateActivity.this, Crear.class);



                 //Para ir a la actividad de leer
   i = new Intent(BDateActivity.this, Leer.class);


Para iniciar la siguiente actividad simplemente hacemos uso del método startActivity(), y como parámetro la instancia i. Ejemplo:


//Para ir a la actividad de crear
   i = new Intent(BDateActivity.this, Crear.class);
   startActivity(i);

Lo demás no lo explicare, ya lo hemos visto muchas veces en ejemplos similares, pero para que esto funcione, se tienen que crear las clases Crear.java y Leer.java





Ambas clases heredan de Activity y haciendo uso del método setContentView(), le indicamos de donde recupera el layout a utilizar

La clase Crear.java

public class Crear extends Activity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  setContentView(R.layout.crear);
 }
}

La clase Leer.java

public class Leer extends Activity {
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  setContentView(R.layout.leer);
 }
}
Con las clases creadas, los layout creados, pasemos a editar un poco el archivo AndroidManifest.xml, en donde le indicamos que nuestra aplicación contendrá dos nuevas actividades, quedando de la siguiente manera:



Si ejecutamos la aplicación ya podríamos ver el funcionamiento de los botones bCrear y de bLeer.


Con esto damos por terminado la parte 2 de este tutorial

Entradas populares de este blog

Northwind para Mysql y otras

Supongamos que necesitamos una base de datos para comenzar a hacer pruebas y a la vez necesitamos que esa base de datos contenga mucha información con la cual trabajar. En mis tiempos de universidad existía una base de datos que utilizábamos en los laboratorios con SQL Server y c# para mostrar los datos en algún formulario. El nombre era Northwind. El problema es que era solo para SQL Server, pero alguien en se dio a la tarea de exportar esa base de datos a MySql y es justo lo que te vengo a mostrar acá. Hace un tiempo atrás clone de los repositorios de Google Code   esa información (que como algunos de ustedes sabrá dejara de estar al servicio de todos en un tiempo). Modifique un poco la DB de Mysql para que se pudiera ejecutar el script sin ningún problema. Lo interesante de todo esto es que puedes utilizar los demás script para diferentes gestores de base de datos Se advierte que para poder usarlas adecuadamente hay que modificar los campos de tipo longblob y qu...

How to upload File from form data POST in Android with Retrofit 2

 The last day I explain how to upload a simple CSV file using node . And now I teach how to upload from android device. Get source code here:  GitHub This article is write in java... later I'll add the method for kotlin. The logic is not changed, only the format code. 1) Is necessary add the dependencies in gradle: module implementation 'com.google.code.gson:gson:2.8.6' // RETROFIT // implementation 'com.squareup.retrofit2:retrofit:2.6.2' implementation 'com.squareup.retrofit2:converter-gson:2.6.2' implementation 'com.squareup.retrofit2:converter-scalars:2.5.0' 2) Add permissions in AndroidManifest.xml and modified the application for work with network security policy <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> in applitacion add ...

How to get the path and name from git log

Hi people. The last day, I got a simple task, get all path and name from git log. In this case It's only necessary a console and project whit some commits .  The simplest command is there: git log --raw This command get the name of author, date, commit and file affected. Is simple but is not for me, because I need the path and name of the file affected. Not all these data The second command is here: git log --pretty=format: --name-only The command getting only the path and name; is just I needed. Not showing extra data, but it's separate by newline (later is necessary to delete for create a report for my boos) If you need show the author and date, only add some parameters, for example git log --pretty=format:"%an, %ar%n" --name-only Another way for get only paths and names is there, the problem with this command is getting all files. You think, my project contains 10k files affected, the time to get all data is slow. This command is not insert newline for separa...