MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

driver mongodb 3.x compatibilità Android

Mi sembra che ManagementFactory sia una falsa pista, poiché l'autista cattura quell'eccezione e torna invece a utilizzare un numero casuale.

Il vero problema sembra essere che il driver deve autenticarsi con SCRAM-SHA-1, la cui implementazione importa le seguenti classi:

import javax.crypto.Mac;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.SecretKeySpec;
import javax.security.sasl.SaslClient;
import javax.security.sasl.SaslException;

Sospetto che questi non siano disponibili nella piattaforma Android, che non è un'implementazione completa di Java Runtime Environment.

Una cosa che potresti provare sarebbe eseguire con MongoDB 2.6, rispetto al quale l'implementazione dell'autenticazione del driver si basa solo su java.security.MessageDigest.

Un'altra cosa a cui pensare è inserire un servizio REST tra l'app mobile e MongoDB che è responsabile dell'inoltro di tutte le interazioni con il database. L'applicazione REST può essere eseguita in un ambiente in cui il driver MongoDB sarà completamente funzionante.