Since, I am fairly new to large scale app development in Android and Java, I thought I would ask for advice.
My team is faced with developing a prototype of a fairly complex medical software. Although it is only a prototype, I think it might be a good opportunity to learn a new platform and get into some good habits.
Our design requirements are fairly simple: a set of common files: themes, styles, objects, static methods for database etc. and then a set of smaller "apps" like: digital tests, games etc. Each one is fairly unique.
Our initial thought is to create a set of smaller applications that will be launched from "the main screen". Each application would be a separate project in Eclipse and then we would modify the build path to include the "common files". This way: each developer can work on their own projects without bothering others.
The problems that I find with this approach:
- Deploying the application (having a bunch of applications instead of one big one)
- Testing the application
- Use of strings to launch another application i.e. worrying whether the application has been installed
- Silly human errors e.g. modifying common files and forgetting to commit changes
Another solution would be to create one big application/project with each developer working on a separate package which would represent each app. However, this introduces common resources (e.g. unique string names) etc.
What's your advice about the best way to tackle this problem? Which approach is better in the long run? Are there any other approaches that are more sensible?