Guide Project is my experiment in building a better Android app.
I use interfaces, a dependency injection pattern, and follow a test-driven development approach.
I use Espresso and Mockito in tests.
I move all business logic outside of Android system into pure Java library.
The data for the app is mocked, and there is only one guide in the mocked data set.
com.boes.guideproject.app: Thin activities and Android implementations of interfaces defined in core package.
com.boes.guideproject.app.test: Espresso acceptance tests and unit tests with Mockito.
com.boes.guideproject.core: Business logic. TourGuide is main controller.
com.boes.guideproject.core.test: Integration testing of business logic.