Appendix B
Demos and Downloads
We have created a handful of small demos that show off what Sofia has to offer. They are provided as a single ZIP archive that you can download and import directly into your Eclipse workspace, along with the Sofia library project that the demos require.
Download the Sofia demos
To view the examples, click the button above to download the archive and unpack it someplace convenient. Then open Eclipse, and use the File > Import... command and choose "Existing Projects into Workspace". In the next page of the wizard, navigate to the place where you unpacked the examples, and select all of the directories that were contained in the zip file to import them into your workspace.
There are four demo applications included in this bundle:
- sofia-demo-avians – The Irritated Avians game started in Chapter 5, which uses Sofia's graphics and physics capabilities.
- sofia-demo-breakout – A partially complete version of the classic game Breakout.
- sofia-demo-mediadb – A basic "media database" app that uses two screens/activities in a master/detail fashion. The master screen contains a list view, and the detail screen is a form that allows the user to edit an item in the database.
- sofia-demo-tipcalc – A tip calculator, showing off the basic Sofia GUI capabilities.
The full source code to Sofia is available on our Github site, http://github.com/web-cat. Currently, Sofia is made up of the following subsystems:
- sofia-core – The core functionality of the Sofia framework: screen/activity and layout management, our reflective dynamic type-based event dispatch mechanism, menus, and some shortcuts for content providers.
- sofia-graphics – The object-oriented graphics layer, with integrated real-time physics capabilities.
- sofia-audio – A work-in-progress audio processing library.
- sofia-maps – A work-in-progress layer for Google Maps (currently needs to be upgraded to the V2 Maps API).