{"id":1118,"date":"2024-09-18T12:02:00","date_gmt":"2024-09-18T10:02:00","guid":{"rendered":"https:\/\/www.pinguytaz.net\/?p=1118"},"modified":"2024-09-10T02:08:22","modified_gmt":"2024-09-10T00:08:22","slug":"crear-extensiones-para-appinventor-uso-de-listas-3","status":"publish","type":"post","link":"https:\/\/www.pinguytaz.net\/index.php\/2024\/09\/18\/crear-extensiones-para-appinventor-uso-de-listas-3\/","title":{"rendered":"Crear extensiones para AppInventor (Uso de listas) 3"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"830\" height=\"158\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2024\/08\/image-3.png\" alt=\"\" class=\"wp-image-1127\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2024\/08\/image-3.png 830w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2024\/08\/image-3-300x57.png 300w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2024\/08\/image-3-768x146.png 768w\" sizes=\"auto, (max-width: 830px) 100vw, 830px\" \/><\/figure>\n\n\n\n<p>En esta entrada vamos a ver como utilizar las listas, para as\u00ed por ejemplo tener par\u00e1metros variables en una funci\u00f3n y su retorno para por ejemplo trocear una cadena en palabras. El c\u00f3digo ejemplo de esta en <a href=\"https:\/\/github.com\/pinguytaz\/extAppInventor\/blob\/main\/Ejemplos\/src\/losejemplos\/Listas.java\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/pinguytaz\/extAppInventor\/blob\/main\/Ejemplos\/src\/losejemplos\/Listas.java<\/a><\/p>\n\n\n\n<p>Tenemos una funci\u00f3n llamada <strong>suma<\/strong> que se le pasara una lista y convertir\u00e1 sus valores en entero para realizar su suma y retornar la suma. Si pasamos una cadena con un n\u00famero sera capaz de convertirlo pero si pasamos un texto que no tiene conversi\u00f3n a numero nos lanzara una excepci\u00f3n de formato err\u00f3neo y nos indica el elemento causante del error.<\/p>\n\n\n\n<p>Como siempre para la funci\u00f3n usaremos la anotaci\u00f3n @SimpleFunction() seguido del m\u00e9todo que en este caso tendr\u00e1 como par\u00e1metro el tipo \u00ab<strong>YailList<\/strong>\u00ab.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@SimpleFunction(description = \"Funcion que recoge como parametros una lista de numeros y la suma dando resultados.\")\n  public int Suma(YailList enteros ) {   .... }\n\n\/\/ Bucle que recorre la lista\nfor (final Object o : enteros.toArray()) {  ... }\n<\/code><\/pre>\n\n\n\n<p>Otra funci\u00f3n llamada <strong>Descompone<\/strong> recoge una cadena y la descompone en elementos de lista.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@SimpleFunction(description = \"Funcion que descompone en palabras\")\n   public YailList Descompone(String cadena) {  ..... }\n\n\/\/ Forma de llenar la lista\n YailList resultado = YailList.makeList(milista);    \/\/ Mi Lista es una List que hemos estado llenando con add.\n resultado.makeList(milista);\n return resultado;\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image alignleft size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"842\" height=\"74\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2024\/08\/image-4.png\" alt=\"\" class=\"wp-image-1133\" style=\"width:679px;height:auto\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2024\/08\/image-4.png 842w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2024\/08\/image-4-300x26.png 300w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2024\/08\/image-4-768x67.png 768w\" sizes=\"auto, (max-width: 842px) 100vw, 842px\" \/><\/figure>\n\n\n\n<p>Nos dara elementos al azar de texto analizado.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Estos son algunos de los m\u00e9todos de la clase YailList que nos pueden servir para tratar con las listas en nuestro c\u00f3digo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>new YailList()    Crea una lista vac\u00eda.<\/li>\n\n\n\n<li>toArray()    Retorna un array de objetos del contenido de la lista.<\/li>\n\n\n\n<li>toStringArray()  Retorna la lista como un array de Strings.<\/li>\n\n\n\n<li>toString()     Una cadena con los datos.<\/li>\n\n\n\n<li>toJSONString()     Una cadena del contenido en formato JSON.<\/li>\n\n\n\n<li>size()    N\u00famero de elementos de la lista.<\/li>\n\n\n\n<li>getString(elemento)  Nos da el elemento de la lista en forma de String, tener en cuenta que empiezan desde 0.<\/li>\n\n\n\n<li>getObject(elemento)  Nos da el elemento de la lista en forma de Objeto.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p>Continuaremos en el pr\u00f3ximo POST con el uso de tipos personalizados, en concreto una enumeraci\u00f3n creada por nosotros.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En esta entrada vamos a ver como utilizar las listas, para as\u00ed por ejemplo tener par\u00e1metros variables en una funci\u00f3n y su retorno para por ejemplo trocear una cadena en palabras. El c\u00f3digo ejemplo de esta en https:\/\/github.com\/pinguytaz\/extAppInventor\/blob\/main\/Ejemplos\/src\/losejemplos\/Listas.java Tenemos una funci\u00f3n llamada suma que se le pasara una lista y convertir\u00e1 sus valores en entero [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1133,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-container-style":"default","site-container-layout":"default","site-sidebar-layout":"default","disable-article-header":"default","disable-site-header":"default","disable-site-footer":"default","disable-content-area-spacing":"default","footnotes":""},"categories":[2,6,12],"tags":[21,199,33,201],"class_list":["post-1118","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android","category-java","category-openjdk","tag-android","tag-appinventor","tag-java","tag-listas"],"_links":{"self":[{"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/posts\/1118","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/comments?post=1118"}],"version-history":[{"count":10,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/posts\/1118\/revisions"}],"predecessor-version":[{"id":1159,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/posts\/1118\/revisions\/1159"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/media\/1133"}],"wp:attachment":[{"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/media?parent=1118"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/categories?post=1118"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/tags?post=1118"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}