- On android, you can store things in a SQLite Database, in something called SharedPreferences, or as a file (jpegs, txt files, etc) at some path.
- The architecture really depends on what you want the application to do, but generally, try to build a data layer, one that retrieves, saves, and organizes the data and then a user interface layer. I like to keep these two as separate as possible and then have a single bridge from the data to the user interface. In terms of tools you could use, Facebook released Boltz recently so check that out! Here is the link: https://github.com/BoltsFramework/Bolts-Android
- Yes you can, look into using Amazon Web services, I really like them, but there are endless different options.
- Look into the AdMob libraries.
If you're asking broad questions like these, I would suggest starting with something simpler. Good luck to you!