我正在开发一个使用java mongodb驱动程序3.0.3连接到mongodb的每个实例的Android应用程序.
通用连接的连接器代码是:
try{
MongoCredential credential = MongoCredential.createCredential(user, dbname, pass.toCharArray());
MongoClient mongoClient = new MongoClient( new ServerAddress(server , port ), Arrays.asList(credential));
MongoDatabase db = mongoClient.getDatabase(dbname);
System.out.println("Connect to database successfully ");
Iterator i= mongoClient.listDatabaseNames().iterator();
while (i.hasNext()){
Log.d("DATABASE", (String) i.next());
}
Iterator ic= db.listCollectionNames().iterator();
while (ic.hasNext()){
Log.d("COLLECTION", (String) ic.next());
}
}catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
Run Code Online (Sandbox Code Playgroud)
在运行时我有一些错误:
09-11 19:69:50.898 7418-7418/it.mysite.mongodbviewer W/org.bson.ObjectId:无法从JMX获取进程标识符,而是使用随机数而不是java.lang.NoClassDefFoundError:失败的解析:Ljava/lang /管理/ ManagementFactory;
和
com.mongodb.MongoException:java.lang.NoClassDefFoundError:com.mongodb.connection.ScramSha1Authenticator $ ScramSha1SaslClient
用这个生成一个循环:
我/艺术:拒绝在先前失败的类java.lang.Class上重新初始化
有人有解决方案吗?java/lang/management/ManagementFactory似乎不存在Android,你怎么解决?如果这是问题的中心.
在此先感谢,Matteo
PS:完整的日志是:
09-11 19:13:50.898 7418-7418/it.mysite.mongodbviewer W/org.bson.ObjectId? Failed …Run Code Online (Sandbox Code Playgroud) 我们正在制作android应用程序,它需要从mongodb数据库中获取数据.数据库中会有很多条目,并且会经常发出请求.我们应该直接访问它还是创建一个PHP脚本,它将访问它并返回JSON中所需的结果?