-
Notifications
You must be signed in to change notification settings - Fork 2
Home
epabst edited this page Oct 12, 2011
·
10 revisions
This is a framework for writing Android Apps using Scala that need entity operations (i.e. CRUD). It is open source so that the community can collaborate to enhance it to make it feature-rich, yet simple to use, and enable high productivity in developing Android Apps.
- ListActivity and Activity implemented for you for each Entity.
- Menu button support for ListActivity (not yet for Activity)
- Context menu support for ListActivity
- SQLite Database auto-generated based on Entity definition in Scala.
- Backup and Restore using Google Backup Service supported for Entity data.
- Foreign Keys supported between Entities
- Default navigation included between them.
- They are great for narrowing results as well.
- Generated data supported, with access to existing Entities.
- Uses Robolectric for unit tests.
- Uses Scala 2.8 and Maven
- Install Android SDK.
- Install giter8
- Run:
g8 epabst/scala-android-crud
- Go into the directory that was created.
- Run (this prevents errors with maven-buildnumber-plugin):
git init
- Run:
mvn generate-sources
- Run “mvn idea:idea”, “mvn ecplise:eclipse”, etc. if needed.
- Run the provided GenerateLayouts class. It will create files inside of ./res/layout.
- To build and install it on an Android device, connect the device or start an emulator instance and then run this command:
mvn clean package android:deploy
To add additional entities:
- Copy the Entity.scala file for each additional entity.
- Replace the name references in the new file for each class and set the entityName.
- Add strings for each entity to res/values/strings.xml, and refer to them from the …String fields in each CrudType.
- Add the new Activity classes to the AndroidManifest.xml.
- We do recommend fixing the directory and file names to match the package and class names.
- To use the Google Backup Service, add a backup service key to the AndroidManifest.xml.
- See some sample customizations are exemplified as sequential commits in: demo-of-scala-android-crud.
- Contact me with any questions. I should respond within 24 hours. I’ll document the answers to my questions for future reference.