This example is intended as a starting point for anyone planning develop actor-based Android applications using Scala and Akka. Its learning objectives are:
- Android application development using Scala
- using the Simple Build Tool (sbt) for Scala in conjunction with pfn's well-maintained plugin
- using IntelliJ IDEA
- Android application architecture for testability and maintainability
- Dependency Inversion Principle (DIP)
- Model-View-Adapter architectural pattern
- Separation of Android activity into event-handling and lifecycle management
- Separation of concerns among components using Akka actors
- Effective testing
- Unit testing and Behavior-Driven Development (BDD) with ScalaTest
- Mock objects with ScalaMock
- Functional testing (out-of-container) using Robolectric
- End-to-end example of continuous integration (CI) for Scala/Android (see status badges at the top of this file)
Please refer to these notes for details.
- Akka actors hello world example
- James Earl Douglas's SBTB 2014 presentation
- James Earl Douglas's Scala CI example: Travis and Coveralls
- Matthew Fellows's Scala CI/CD example: Travis and Bintray