En esta entrada vamos a ver como utilizar las listas, para así por ejemplo tener parámetros variables en una función y su retorno para por ejemplo trocear una cadena en palabras. El código ejemplo de esta en https://github.com/pinguytaz/extAppInventor/blob/main/Ejemplos/src/losejemplos/Listas.java
Tenemos una función llamada suma que se le pasara una lista y convertirá sus valores en entero para realizar su suma y retornar la suma. Si pasamos una cadena con un número sera capaz de convertirlo pero si pasamos un texto que no tiene conversión a numero nos lanzara una excepción de formato erróneo y nos indica el elemento causante del error.
Como siempre para la función usaremos la anotación @SimpleFunction() seguido del método que en este caso tendrá como parámetro el tipo «YailList«.
@SimpleFunction(description = "Funcion que recoge como parametros una lista de numeros y la suma dando resultados.")
public int Suma(YailList enteros ) { .... }
// Bucle que recorre la lista
for (final Object o : enteros.toArray()) { ... }
Otra función llamada Descompone recoge una cadena y la descompone en elementos de lista.
@SimpleFunction(description = "Funcion que descompone en palabras")
public YailList Descompone(String cadena) { ..... }
// Forma de llenar la lista
YailList resultado = YailList.makeList(milista); // Mi Lista es una List que hemos estado llenando con add.
resultado.makeList(milista);
return resultado;
Nos dara elementos al azar de texto analizado.
Estos son algunos de los métodos de la clase YailList que nos pueden servir para tratar con las listas en nuestro código:
- new YailList() Crea una lista vacía.
- toArray() Retorna un array de objetos del contenido de la lista.
- toStringArray() Retorna la lista como un array de Strings.
- toString() Una cadena con los datos.
- toJSONString() Una cadena del contenido en formato JSON.
- size() Número de elementos de la lista.
- getString(elemento) Nos da el elemento de la lista en forma de String, tener en cuenta que empiezan desde 0.
- getObject(elemento) Nos da el elemento de la lista en forma de Objeto.
Continuaremos en el próximo POST con el uso de tipos personalizados, en concreto una enumeración creada por nosotros.