The objective of the Android Framework Projects was to improve the Android experience by developing reusable components/frameworks that could be used by Android developers in their own applications. We encouraged students to apply architectural and/or design patterns, and to refactor the code so as to improve its internal structure without altering its behavior. The projects are shortly described next.
The 2D Generic Game Framework would abstract things common to 2D games like double buffering, collision detection, scrolling, sprites, animation, etc so that user can focus on the game play.
The UI-based 2D Library would provide drag-and-drop functionality to the Rokon 2D Game Engine for Android. Components of that framework would be arranged on the screen, and in the end, the framework would generate Java code and XML layouts that can be directly used in your Android application.
The Interface Builder for Android is similar to iPhone’s Interface Builder, where you could drag and drop UI components such as Layouts, Buttons, Images, Fields, Text, etc, and configure them on the spot through the Interface Builder. An XML layout file would be generated in the end.
The Social Networking Mashup framework would provide an easy way to integrate different social networks into one single library. The user would be able to call one single method to post a message,upload a picture/video on all supported networks.
The Web Services Framework would wrap around the ksoap2-android library to capture most common objects/methods such as SoapObject, SoapSerializationEnvelope, etc., and the parameters such as URL, soap action, method name, which would be specified in an XML configuration file.
The Image Editing Framework would provide a way to crop images, manage brightness, add zoom/scaling functionality. Imagine taking a picture through your application and manipulating the resulting image through just one single method call.
The next framework, called Push Notification, has to do with how we would use Android in the use case of a real-time application, where a server would want to send data in real-time to the Android phone. There are several ways to mimic this behavior, but the best option would be to use push. The idea behind the framework would be for the server to send an SMS to the phone, where an application would listen in the background and would react to such an SMS by opening a connection to the server (using the information from within the SMS), and reading all the content relevant to it.
The last projects are involved with communication between an Android phone and different hardware platforms, such as the Arduino BT board (that uses Bluetooth as a communication medium), or a Make Controller (that uses Open Sound Control messages for communicating with the phone).
Pretty exciting work done in the areas of 2D, visual design, social networking, web services, image processing, networking, and embedded communication.