Я пытаюсь подключить свое приложение Android к MongoDB и вставить в него значения.Приложение аварийно завершает работу, вызывая следующую ошибку:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.preyanshu.mongodblogin/com.example.preyanshu.mongodblogin.MainActivity}: com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting to connect. Client view of cluster state is {type=UNKNOWN, servers=[{address=10.100.17.139:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.net.SocketTimeoutException: failed to connect to /10.100.17.139 (port 27017) after 20000ms}}]
Это код, который я использую для прямого подключения к базе данных:
public class MainActivity extends AppCompatActivity {
Button login, ViewBtn;
EditText u_name, pwd;
TextView showView;
@Override
protected void onCreate(Bundle savedInstanceState) {
if (android.os.Build.VERSION.SDK_INT > 9)
{
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
showView = (TextView)findViewById(R.id.showView);
ViewBtn = (Button)findViewById(R.id.login);
u_name = (EditText)findViewById(R.id.userName);
pwd = (EditText)findViewById(R.id.password);
login = (Button)findViewById(R.id.login);
MongoClient mongoClient = new MongoClient("10.100.17.139",27017);
MongoCredential credential;
credential = MongoCredential.createCredential("sampleUser", "LoginSample", "password".toCharArray());
MongoDatabase dbs = (MongoDatabase) mongoClient.getDatabase("LoginSample");
MongoCollection<Document> coll = dbs.getCollection("LoginData");
Document docs = new Document("name","Test").append("password","Test");
coll.insertOne(docs);
}
}
Ошибка появляется только при попыткевставить документы.Когда я комментирую строку -
coll.insertOne(docs);
, приложение работает абсолютно нормально.
Было бы очень полезно, если бы я нашел решение для этого.