@James.... 1) You can hard code the data, assigning specific data to each variable. Then the data is there from the start. Great if it never changes.
2) You can load the data into a List using a File control. The File control would read a csv file you would use to populate the Lists and the TinyDB
3) Do as Enis recommends. Set one of the Tags in the TinyDB as a Boolean value to check whether this is first run of the app or not, if it is, initially populate the TinyDB with the hard coded data, if not, then do not.
4) Use the Web control to download the information from a Web page.
5) Don't use a TinyDB at all, keep all the information in a Fusion Table that your app will have to access on the Web. Use the fusion table as your main database.
6) Populate the TinyDB from data stored on a fusion table at first run. If the database is empty, let the fusion table fill it.
7) or you could.....
There are LOTS of ways to do this. Have you read the free online book here:
http://www.appinventor.org/book2 or done the Pizza Party tutorial? They may give you more ideas.
Regards,
Steve