OpenBandy is a free open source software library for the Java Micro Edition that simplifies the development of MIDlets by providing some basic functionalities that are per se 'missing' in the Java ME API. As every MIDlet developer will try to limit the size of the MIDlet in order to save memory that is already limited on a mobile phone, we provide four different modules.
OpenBandy and its modules
The foundation of OpenBandy is the basics module. It's most prominent feature is a logging framework with a Log4j-like API.
Moreover, the basics module provides a nice and easy way to persistently store user preferences in the devices' record management store (RMS).
The serializer module provides serialization into XML, compressed byte streams and furthermore allows to persistently store any plain old java object (aka POJO) into the device's RMS. It uses the basics module for logging purposes and some util classes.
The events module defines some basic event types and provides a threaded event dispatcher. You are free to implement your own event types, event sources as well as event sinks. To save CPU time, an event source is only started when it is actually needed, i.e., if there is an event sink that actually registered for the specified event type.
Using all of the above mentioned modules, the client-server module provides very easy to use messaging and server services that make the development of distributed applications a matter of minutes. Moreover, the server module provides a database serializer that allows to persistently store POJOs into any JDBC-compliant database.
Before using OpenBandy you should have setup your Java Micro Edition development environment. I personally love the Eclipse IDE and strongly suggest using it.
You will also want to install the EclipseME plugin. You can find detailed instructions on how to install this plugin here.
Considering the toolkit choice, I've been using Sun's Wireless Toolkit and I still am today.
You will find three files for all the above mentioned modules in the download section. The exampleProject.zip file is a zipped version of an Eclipse project that you can integrate into your existing workspace using Eclipse's import function. The .jar file contains just the class files of a module while the _src.jar file also contains the source files.
A detailed documentation along with some code examples that show you how to use the different modules will follow shortly. Until then, you'll need
to stick with the API.
The basics as well as the events module have been tested quite extensively and both are already used in many different projects. However, the serializer and the client-server modules are still in early beta and I must honestly admit that I'm currently not all happy with the interfaces. So use the latter two modules with care and generously overlook all the missing comments and todos in those modules.