2011-07-31 8 views
52

¿Alguien sabe cómo funciona MondgoDB en Android. ¿Funciona localmente y los datos se replican más tarde? ¿Funciona solo en línea con solo un backend web?MongoDB en Android

+1

Hemos estado buscando algo similar y lo más parecido que hemos encontrado es http://www.couchbase.com/products-and-services/couchbase-mobile – Devraj

Respuesta

29

Voy a revivir este hilo y decir que el controlador de Java de MongoDB ES actualmente compatible con Android. Algunos desarrolladores novatos pueden tener problemas para hacer que sus aplicaciones utilicen la biblioteca java de MongoDB, así que solo voy a resumir lo que tienes que hacer (aunque todo esto podría quedar obsoleto cuando lo leas).

Ve a tu aplicación archivo build.gradle. Añadir esta entrada "compilar" en virtud de sus dependencias (que probablemente tendrá que reemplazar la versión):

dependencies { 
    ... 
    compile 'org.mongodb:mongo-java-driver:3.0.3' 
} 

Como se puede ver, la versión del conductor de este post es 3.0.3. Puede encontrar la versión actual buscando "mongo-java-driver" o cualquier término relacionado en http://search.maven.org.

Si se está conectando a una base de datos externa, por supuesto necesitará agregar el permiso de INTERNET a su manifiesto. Conectarse a uno es bastante simple. Aquí hay un ejemplo. Vuelva a colocar el nombre de usuario, contraseña, dominio de host, el puerto y el nombre de la base de datos:

MongoClientURI uri = new MongoClientURI("mongodb://username:[email protected]:12345/db-name"); 
MongoClient mongoClient = new MongoClient(uri); 
MongoDatabase db = mongoClient.getDatabase(uri.getDatabase()); 

Dado que esta es la red relacionados, se le tenga que ejecutar todo esto en una clase AsyncTask.

Seguir los tutoriales de java en https://www.mongodb.org/ debería ser relativamente sencillo de ahora en adelante.

+0

Esto podría repetir el escenario que sucedió cuando apache lib se utilizó para hacer comunicaciones http donde Android tenía versiones más optimizadas. Las personas enfrentaron problemas cuando Android les quitó soporte. – Neji

+0

Conectar a mongodb directamente desde una aplicación de Android tiene varios inconvenientes y se debe evitar si es posible. Desde la perspectiva del servidor de seguridad, la ubicación y las credenciales están disponibles para cualquiera que pueda descompilar su aplicación. Desde la perspectiva de las operaciones, es difícil o imposible administrar grupos de conexiones y pueden surgir diversos problemas de rendimiento o escalabilidad. – cjungel

52

MongoDB tiene descargas para varios operating systems. Sin embargo, Android no es uno de esos sistemas.

La gente usa MongoDB como un "servicio web" para almacenar datos, pero no tiene ninguna característica para admitir la replicación multimaestro o su escenario móvil ocasionalmente conectado.

Si necesita este tipo de características, querrá consultar CouchDB que apunta específicamente a este escenario con Android Couchbase.

+3

Esta pregunta fue respondida en julio de 2011. ¿Cómo funciona? el estado de las cosas se ve ahora en junio de 2013? –

+5

La página de descargas de MongoDB sigue mostrando el mismo soporte. Y francamente, MongoDB realmente no está diseñado para dispositivos como Android. La forma en que mapea los datos en la memoria no es una buena idea para dispositivos pequeños con RAM limitada. El proyecto Android Couchbase parece haber sido abandonado y reemplazado por una versión "Lite": https://github.com/couchbase/couchbase-lite-android –

+4

También se puede realizar una compra en PouchDB. Es una implementación de couchdb que usa la base de datos del navegador para el almacenamiento. Funciona en Android: http://pouchdb.com/ –

1

Dory mongoDB Server

Gran nueva aplicación Android
No hay necesidad de erradicar el teléfono y puede ejecutar su archivo JS De anywere.


MongoDB (de humongous) es un programa de base de datos documental multiplataforma libre y de código abierto. Clasificado como un programa de base de datos NoSQL, MongoDB utiliza documentos similares a JSON con esquemas.

Uso:
1: instalar Dory mongodb servidor
2: ejecutar el servidor
3: instalar Node.js Dory
4: ejecutar el código en el archivo JS:

Código:

var mongoose = require('mongoose'); 
mongoose.connect('mongodb://localhost/test', { useMongoClient: true }); 
mongoose.Promise = global.Promise; 

var Cat = mongoose.model('Cat', { name: String }); 

var kitty = new Cat({ name: 'Zildjian' }); 
kitty.save(function (err) { 
    if (err) { 
    console.log(err); 
    } else { 
    console.log('meow'); 
    } 
}); 

Disfruta.

+0

Gracias. Incluso la búsqueda de Google no encontró esta aplicación – rsmoorthy