Realm ORM: cómo tratar con Maps?

Estoy creando una aplicación de Android y necesito persistir un Map<String,MyClass> . Acabo de empezar a usar Realm ORM , ya que soporta uno a uno y uno a muchos, enumeraciones y listas. También he encontrado una solución para las listas de cadenas (es decir, tengo que crear una clase StringWrapper encapsular una cadena.Sin embargo, a partir de la documentación entiendo que no hay manera fácil como RealmMap , como ocurre para las RealmMap lo tanto, estoy buscando La mejor manera de persistir un mapa Mi idea actual es reemplazar mi mapa con una lista de objetos KeyValueObject encapsula una String (la antigua clave de mapa) y una Map.Entry igual que Map.Entry alguna otra solución que no necesita Yo para volver a trabajar el modelo de dominio por razones tecnológicas?

Como se nota, Realm aún no admite mapas: https://github.com/realm/realm-java/issues/759

Puede utilizar las clases de modelo:

 class MyData extends RealmObject { private RealmList<MyMap> myMap; } class MyMap extends RealmObject { private String key; private MyClass value; } 

Digamos que tienes un objeto MyData llamado myData y deseas buscar el valor asociado a myKey , la consulta MyClass myClass = myData.getMyMap().where().equalTo("key", myKey).firstFirst() puede ser útil.

Bueno, si usted tiene el lujo de volver a trabajar la capa de persistencia un poco, entonces la solución más simple es no utilizar un Map<String en absoluto.

Un Map<String significa literalmente que una String en particular está asociada con un objeto. Usted puede hacer lo mismo sólo por tener esa cadena ser parte de su RealmObject. A continuación, puede realizar consultas basándose en eso.

Así que cualquier RealmResults` con una consulta para la cadena contendrá un elemento, y ese elemento será el valor de dicho mapa.

  • Realm.io - ¿Es posible encontrar objeto por su subobjeto?
  • ¿Cómo instalar el reino como una dependencia gradle?
  • ¿Cómo comprobar el reino para la existencia de los datos del androide?
  • ¿RealmBaseAdapter se ha eliminado de realm-java?
  • ¿Tengo que cerrar el dominio en una base por hilo, o por uso / clase-base?
  • Compruebe dos campos con la base de datos Realm
  • Android: Realm.getInstance (context) devuelve una instancia de dominio ya cerrada
  • No puede compilar la aplicación de Android con el reino
  • Realm.io Android mejor enfoque para obtener los últimos 20 elementos de una tabla
  • NoSuchMethodError cuando se utiliza realm.io en una biblioteca
  • Cambiar el nombre de la tabla Realm
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.