Problema envio de gran volumen de datos de appinventor a spreadsheet desorden y perdida de informacion (Problem sending large volume of data from appinventor to spreadsheet disorder and loss of information)

Buenos dias querida comunidad muchas gracias por la colaboracion, tengo un problema estoy haciendo una aplicacion que envia y recibe datos a spreadsheet, cada dato se le genera un timestamp como campo llave, cuando no hay internet los almaceno en csv, los voy contando y con un boton de enviar los envio, el caso es que cuando son pocos datos todo funciona perfecto pero al enviar varios datos se pone lento llega la informacion desordenada y se sobre escriben las filas perdiendose la informacion, he tratado de poner un temporizador pero igual funciona solo con pocos datos.

adjunto un link con la aplicacion por si alguien me puede dar una mano muchas gracias

Looks like you have developed your project with another builder (Kodular) and have used components that are not present in Appinventor.

Please convert your project so that it is compliant, or ask instead on the correct community that you are building your app with.

Buenos dias, si estoy tratando de convertir de kodular a appinventor, existe un procedimiento adicional a export en kodular e import en appinventor, me da muchos errores e tratado de limpiar el app para que appinventor no me de errores pero no he podido


:frowning:

I had a quick look, you have made significant use of cardview, space and decoration components/elements in your Kodular project. These would all need to be removed, from all screens before your project will load in Appinventor without error. There may be others I missed....

Here is a general piece of advice that should hold true across platforms ...

When up loading rows to an online data base, upload only one row at a time,
and do not upload the next row until you have received a response that the previous upload succeeded.

Do not act like a machine gun.

borro lo que me dices y la aplicacion queda funcional en kodular, cuando la importo en app inventor desaparecen bloques.


blocks (4)
blocks (3)
blocks (2)
blocks (5)
estos son los bloques significativos en cuestion.
muchas gracias por su tiempo

hola, acabo de publicar mis bloques, se que tengo que jugar con el response del bloque web pero no se como hacer. quisera esperar la respuesta del servidor y enviar la siguiente row pero no se.

Do kwon how no act like a machine gun. :sweat_smile:

estoy seguro que ese es mi problema pero no se como hacer esa sincronizacion con la respuesta del servidor para poder enviar el siguiente dato

To upload your data in sequence and one at a time, you need to make a temporary list of rows waiting their turn to be uploaded.

First, load up the list, and shoot off the item at slot 1.

When a response comes back that an item landed successfully, remove item 1 and check if the list length > 0 (not empty list).
If not empty list, shoot off the item at slot 1.

suena muy bien, muchas gracias, conoces algun ejemplo que me pudiera guiar?, logro entender parte de la solucion pero no se como manejar las respuestas del navegador o el response. muchas gracias

The Metric Rat AI2 web site shows how to create and post data to a Google Sheet a row at a time METRIC RAT AI2 - Post Data to a Google Sheet

For help from App Inventor community, please adjust your aia to work in App Inventor as described by Tim, then post your App Inventor Blocks and aia showing what you tried.

Since you are using Web3.PostText to upload a row, I would imagine that the Web3.GotText event is the place to find out that your upload worked.
(Double check the Web3 event block names, in case I missed one more appropriate for a Post.)

gracias

entiendo pero como hago para parar el for each hasta que llegue la respuesta del servidor "informacion guardada"?

You don't use a loop to send.

You might use a loop to load up the list, but once you start the first send, control should happen in the Web3 response event, one upload at a time.

The temporary list is acting as the loop, in a sense.

entiendo la lista la genera el for each se envia por web3, web3 espera una respuesta, si es afirmativa continua con la siguiente fila. esa logica es la que no comprendo. no se si lo veo muy lineal, pero no se como la respuesta del servidor puede habilitar el envio del siguiente dato. :frowning:

See here

This example is for downloading files one by one, but the principle is the same

Here is an example using text to speech instead of a web component.

The core idea is the same ...

muchas gracias dios los bendiga, voy a intentar

muchas gracias, dios lo bendiga, voy a intentar esto tambien