lunes, 18 de abril de 2016

LLamar a una Activity desde otra en Android

En este artículo vamos a ver cómo lanzar o ejecutar una segunda activity desde la principal, para ello he creado un proyecto llamado Activities similar a como lo hago en el videotutorial de hola mundo en android en el que creo una empty Activity, de esta forma nos añade menos código por defecto.

Androi logo dev
En resumen, lo que necesitamos en un objeto Intent, los Intents se utilizan para solicitar a un componente (Activities, Servicios, Content providers, broadcast receivers) una acción.

 Intent intent = new Intent(this, Second_Activity.class);
 startActivity(intent);

En el caso de querer pasar algún parámetro o dato a la segunda actividad:

Intent intent = new Intent(this, Second_Activity.class);
intent.putExtra("web", "codigoalonso.net");
startActivity(intent);

y para recibirlo:

String texto = getIntent().getExtras().getString("web");

Veamos un ejemplo un poco más en detalle:

sábado, 16 de abril de 2016

Expresiones Lambda e Interface Funcionales en Java 8

Una expresión lambda es un bloque de código con una lista de parámetros y un cuerpo separados mediante el operador lambda -> y que representa una instancia a un interface funcional (que explicaré a continuación). Los objetos son la base de Java y no podemos tener una función sin un objeto, por lo que Java solo proporciona soporte para el uso de estas expresiones con los interfaces funcionales.


Antes de empezar y como toma de contacto veamos algunos ejemplos para ver cómo es la sintaxis de una expresión Lambda:
Recibe dos parámetros y devuelve la suma:
(int x, int y) -> { return x+ y ;};

Es posible omitir el tipo de parámetros que recibe, ya que el compilador infiere el tipo, (cuando no ponemos el tipo de parámetro tiene que ser en todos o en ninguno, sino dará un error.)
( x, y) -> { return x+ y ;};

Podemos abreviar aun más nuestra expresión lambda eliminando la palabra clave return, ya que únicamente devolvemos un valor, en este caso debemos eliminar las llaves, ya que no encierran un bloque de código con declaraciones, asignaciones, etc y opcionalmente podemos sustituirlas por paréntesis:
(x,y)->(x+y);

(x,y)->x+y;

domingo, 10 de abril de 2016

Tutorial SQLite en Android - Ejemplo CRUD

En este tutorial vamos a ver cómo crear una base de datos en Android, además analizaremos que clases y métodos necesitamos, para que sirven y cómo utilizarlos. El ejemplo consistirá en una tabla llamada Clientes y dividiré el articulo en dos partes, este que es el de la creación y el segundo en el que realizaremos todas las operaciones CRUD (Create, Read, Update and Delete).

La tabla que vamos a crear es la siguiente:

tabla sqlite android

Con los campos:

  • _id  INTEGER PRIMARY KEY AUTOINCREMENT
  • nombre TEXT NOT NULL
  • telefono TEXT
  • email TEXT


La sentencia PRIMARY KEY AUTOINCREMENT indica que además de ser la clave primaria de la tabla se va a incrementar automáticamente cada vez que añadamos un nuevo cliente. Por otro lado NOT NULL en el nombre indica que este campo no puede estar vacío. Es SQL básico.

Como los nombres de los campos y otros Strings los vamos a utilizar bastante voy a crear una clase llamada ConstansDB que además incluirá la sentencia SQL de creación de la tabla: