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 ...

Como encriptar AES con Node JS

  Puedes descargar el proyecto desde este enlace El otro día surgió una necesidad para encriptar contenido bajo el algoritmo AES y es la que te vengo a mostrar a continuación en la cual use Node para solventar mi necesidad. Pude haber usando cualquier lenguaje que me viniera en gana pero no quería instalar nada mas. Dependencias: NodeJS >= 12 Crypto-JS Aplicaciones recomendadas: Git bash Visual Studio Code Lo primero que necesitamos es tener una clave única (KEY) y un vector de inicialización (IV). Este ultimo no es necesario pero agrega un extra de seguridad a nuestro contenido. Para lo cual usaremos el bash de git para utilizar openssl KEY openssl rand -base64 24 IV openssl rand -base64 12 Ahora que ya tenemos estas 2 cadenas únicas. Podemos proceder a escribir nuestro código. npm init -y Luego hacemos una modificación en el package.json para que admita módulos "type": "module", Instalamos la dependencia de Crypto-JS npm i crypto-js --save Ahora importamos l...