MIT App Inventor 2 Creating Components With Procedures

4.6k Views Asked by At

I'm exploring MIT App Inventor to use for some students I am working with, and I'm trying to get an idea of the limitations. One question I can't seem to find an answer to is: can you create new components (ie. buttons, horizontalArrangements, etc.) using a procedure in the blocks section. I'm thinking the answer is no, but I just want confirmation that I'm not missing something.

Thanks for your help! ~Zoltana

4

There are 4 best solutions below

3
On BEST ANSWER

Yes correct you cann't create new components.

Few other limitations are:

  • Limited set of components
  • Limited device accessibility options
  • To interact with Web, have to use their APIs but you can not use other protocols or APIs
  • Limited no# of screens in one App ( if I recall correctly In my recent App it was 30 screens)

To create new components or Layout, try to use the existing ones and play with visibility options to hide/show , increase/decrease width/height etc...on demand.

0
On

No, you can't create new components during runtime of the app with App Inventor.

But you can prepare as much components (for example buttons) as you think you will need and hide them. Then as soon you need them, just set their visibility to true.

0
On

I was taught my AP Computer Science Principles course last year using MIT App Inventor 2. I can say that the app is limited if you are planning to create a full-fledged application that handles more than a few Mb of RAM at a time.

You cannot add Components during the run time of the program due to the size limitations of App Inventor.

As I recall, apps created in App Inventor cannot exceed 5Mb of storage, and that's why you cannot add components during run time.

App Inventor is, however, a good way to teach beginning programming students(I assume that's who your targeted audience is) the thought process behind programming. Such as If...Then statements and various types of Loops, as well as how to think in terms of programming.

0
On

It cannot.

An alternative is to create extensions that will allow you to create dynamic components. These extensions can be imported into App Inventor and then used.