MIT App Inventor and 100+ esp32, how could I do this?!

I downloaded it from here. Unfortunately, there is not much documentation, or I don't find it...

If you have not yet done so, now is the time for you to read

http://www.appinventor.org/bookChapters/chapter21.pdf

from

http://www.appinventor.org/book2

Thank you @ABG , it is a "must" starting point, your links. It has the answer to a fundamental question that I have, for what reason is so poor AI2?! Simple - it is only the basic functionalities to create your own complications. Here came another many questions about the "SNR" - Signal Noise Ratio on various things, but "here we not go" as TIMAI2 says above.

...

I have a problem (small problem). The vertical alignment is not working for me, almost sure I did something wrong.

Where I put the horizontal alignment blocks, I put the vertical alignment blocks, the horizontal alignment blocks work ok but the vertical alignment blocks are not working.

vertical

Where is the cause?!

...

And another dump question, what do -1 and -2 as height and width? I ask because where I want to have fixed dimensions, I put fixed dimensions in pixels. But I still don't understand the -1, -2, and what another value can be?!?

And if you want to share your opinion about what I must use to make the big cels clickable, it will be another big help.

Thank you all for your help.

They are numbers for Fill Parent or Automatic or left, center or right, that I don't have off the top of my head.

As an experiment, see if there are blocks to grab those values from a component's attributes, so you can copy them into a Label.Text or a Companion Do It bubble to see what comes back.

Sorry, I steer clear of extensions.

I have a solution already, from the priceless example that TIMAI2 gave me, already I have the cels clickable and identifiable!!! But... I have some latency if I click rapidly from cell to cell...

You received a ready-made, working example from Tim a few weeks ago... you haven't used it. During this time, create several hundred posts to do the same as Tim's example...

Thank you for stopping here to help, I'm very sorry that I wasn't born to be genial, but I do all that it is in my power to learn from zero to make an app, for me it is a pretty complicated app, for you that are professionals in AI2 it is a piece of cake.

Tim sent me his example here, about two weeks ago. All this time Tim's example was and it is, all the time, on one of my monitors that I have it in front of me.

Tim's example was and continues to be an invaluable source of inspiration for all that I do. What it is not, it is not what I need as an app for my project.

What I need, is that...

And please believe me that in almost every block I was inspired about how and from where by Tim's example, buy his logic, buy his approaches. As I said above, this was a priceless help.

I am very sorry that in about two weeks I learned only so few things in AI2 when I started from knowing nothing. I'm very sorry that I'm not as smart as you expect to be. :frowning_face: I do all my best to be genial but... Was only two weeks... I'm pretty sure that here, in this community are many others that do more in that time from nothing.

If I ask somebody something, that for me is one hour and a half to give a solution, 99,99999 of the population of the globe even in two lives will not encounter a response. But this... That doesn't mean that all are not all genials.

By the way, I discovered how to make a cell clickable and change the color of the border, now I want to click again and revert the color of the border to the original, if you want/can/have time it is possible to help me with some ideas?!

Thank you for your time.

I try to change the borders of a cell by touching the cell. I can change the initial color to another color by a first touch. Now I want with a second touch, to revert to the original color of the border of that cell.

I try this simply by comparing the color of the border and if it is a color change to the initial color. I don't find a direct approach.

The next approach that came to my head, was to make a list of the cells with color already changed, and if the cell where I touched it is on the list, then change color to the original color. If is not in the list, change color as usual.

Have someone a best practice to do that?

Thank you, Dan

let's me suggest something:

  1. follow other 's advice.
  2. one time one question. only solve this one, then move on to next. you just pop up so many questions without solving the previous one.
  3. less talking / message, more coding /testing. you see your post, most of them are so long, but just blabla. for me i hate to read long articles.
1 Like

I understand, I'll change that, before posting a question here, I read all that I found about that, and I tested all that I know about that, what I need is only an idea (less your extensions which take a long time to understand, but with your help I understand in minutes).

Sample for use custom property

image

Property param can be a build-in property of the component, also can be any other custom property, to store any value you want. This custom property can be any name (just different with build-in ones).
That means this component can carry a dictionary, you can set the key and value as you wish.

I will test your example for sure, and for sure that is better than my approach.

My approach works ok as follows: without the last two blocks!!! and it has a global variable "CellsListColorChanged" defined as a list.

If I click on a cell that cell border changes in red, if I click on another, another cell border changes in red, if I click once time more on a cell red changes the color returns gray, and so on. That means that works ok until here.

I want to "deactivate" all cells and leave the only one that I touch "active". For that purpose, I put the last two blocks. It crashes the companion and disconnects. Without the last two blocks, all works ok. I don't know why?!

US_Lyout_KK.aia (71.1 KB)

Thank you Kevin.

two issues:

  1. clellsList is a list, can not be feed to component socket.
  2. if you set a component.enabled to false, how to active it?

1 - understand
2 - I set all elements active to be false, after that, I set one element active to true, or that was my intention. Anyway, I start to implement your example in my case. Initially, I didn't find how to compare border colors with your extensions (my AI2 culture fought). Now I'm almost sure that I do it.

ok, you set all component active to false, except only one is active. Then how to active other components later, since if you set component.enabled to false, they will not response to the click event.

when I change from red to normal, that particular cell I reactivate all cells again.

Above is the complete logic... If all gray - all actives, if one is red - only one active, if red - becomes gray = all active

component socket can not accept a list, you nee a for each block to iterate the list.
image

from where do you have those blocks?! I search for them for hours!!! I don't find it.

Capture12

just a procedure to set border color
image