I say: the only "objects" that will be exposed will be labels that have words on them and labels which have vowel markings on them that the user will click on to access the other vowels.
This is the core problem!
Unfortunatley I still dont understand in detail what you want to do.
Don't you have an example of a layout ? Or already a project with an example.
A label with a word, and the labels for the vowels. And the flow of a lesson, what the user is supposed to do.
Instead of having predefined layout files you could save the number of objects with their dimensions and positions and construct the layout dynamically in the code. This would be compatible with a database.
I'm afraid that you'll need specific management routines for each lesson, but I can't give any advice not knowing what management the lessons need.
A layout is a group of objects, defined in the Designer and saved in a file, you can load onto an Activity or onto a Panel.
You can also add objects to the Activity or panels in the code.
An Activity is a 'screen' which can have objects on it. There is only one Activity active at the same time.
Did you have a look at
Different examples with 2 layouts ?