Kayak Point Official 1.0 Release

persistence-300x261

image source: Amanda

Persistence.  Making data persistant in your mobile applications without writing a custom SQLite query engine has been a goal of mine for a while.  I finally got around to writing a library that will take care of that work for you:

Kayak Point

This is an ORM Library for Android written from scratch. This library has the following goals:

  • be built for Android primarily
  • be fast and lightweight
  • support SQLite at first, and other data stores in the future.
  • stick to a simple architecture and design
  • use as little code as possible.
  • experiment with different approaches to persistence on Android.

I was originally using ORMLite, and I quickly realized that library is built to support multiple platforms, Android being one of them.  That means the library is big.

So I decided to take a stab at writing an ORM library for Android that is more optimized for persisting Java objects to SQLite on that OS.  But I also wanted to create a library that would let me add on additional kinds of data storage later (e.g. noSQL).  The end result is Kayak Point.

Pend Oreille Official 1.0 Release

Celebration

Happy to announce that version 1.0 of the Pend Oreille library has now been released.  You can check it out here:

Pend Oreille Library on Google Code

This project contains some simple utilities to perform operations Java primitives, like data marshalling. It also has some utility functions to work on the Java class model using reflection. This is compiled against the Android 1.5 platform so it will work on Android as well as J2SE.
The Pend Oreille library is very simple and small (under 20kb in size) and has a few basic features that I have always wanted to have:

  • serialize Java primitives and primitive arrays to byte arrays.
  • deserialize java primitives and primitive arrays from byte arrays.
  • box and unbox primitive arrays
  • serialize an array of boolean values into a packed bit field.

See the file READE.md in the source directory for a developer’s guide on how to use the library.