What is NexusData?

NexusData is an object graph and persistence framework for Android. It allows for organizing and managing relational data and serializing it to SQLite or custom stores. The data can be accessed or modified using higher level objects representing entities and their relationships. NexusData manages all the objects in the persistence store, tracks changes, and maintains consistency in relationships.

Essentially, it brings Core Data functionality from iOS to Android. However, the library is not intended to be a straight port of Core Data. Instead, it aims to leverage Core Data’s concepts, while having the flexibility to evolve independently.

NexusData is not an ORM in that it’s more higher-level and is not tied to a specific storage engine. The query interface is oblivious to the underlying persistence store.

NexusData supports Android API 10+. This library follows semantic versioning. Note that this library is still active in development, and is missing a lot of features. New releases might introduce interface-breaking changes, which will be indicated in the changelog. NexusData 1.0.0 will be the first stable release.

Features:

  • Change tracking and management of objects.
  • Relationship maintenance by automatically propagating related changes to maintain consistency.
  • Support for one-to-one and one-to-many relationships.
  • Lazy loading of the object graph to reduce memory overhead.
  • Flexible query interface that is independent of the underlying storage engine.
  • Model generator that generates java classes from the model.
  • Entity inheritence.
  • Support for atomic and incremental persistence stores.

Overview

  • Pricing: Free
  • Resource Link: https://github.com/dkharrat/NexusData
  • Resource Maker on Twitter: Dia Kharrat
  • Mobile Platform Destination: Android Apps
  • Mobile Platform Support: Native Android
  • Programming Languages: Java
  • Gradle: com.github.dkharrat.nexusdata:nexusdata:0.2.1