我想在Android Studio中使用LDAP,我在最新版本中使用Unboundid LDAP SDK作为Java。
我使用命令:
LDAPConnection ldap = new LDAPConnection("xxx.xxx.xx.xx", 389,"uid=guest3,ou=Users,dc=gal,dc=local", guest3);
连接详细信息:
- 主机:xxx.xxx.xx.xx
- 端口:389
- dn:uid = guest3,ou =用户,dc = gal,dc = local
- 密码:Guest3
但是当我尝试连接到LDAP服务器时,我会收到以下错误:
1303(/socketWrite(socketOutputStream.java:111(/write(socketOutputstream.java:157(/flushbuffer(bufferedOutputputstream.java:82(/flush(bufferedOutputputputputstream.java:140(/sendmessage(sendmess(ldapConnection.java:4375(/process(SimpleBindRequest.java:556(/bind(ldapconnection.java:2270(/bind(ldapconnection.java:2215(/onclick(loginactivity.java:57((/run(view.java:22265(/handlecallback(handler.java:751(/dispatchMessage(handler.java:95(/loop(looper.java:154(/main(activityThread.java.java:6077(。
如果有人知道如何解决这个问题,将不胜感激。预先感谢!
networkonMainThreadException也许尽量不要在主线程上进行网络。请参阅参考
获取单击事件
public void onClick(View v) {
new Thread(new Runnable() {
public void run() {
final Bitmap b = loadImageFromNetwork();
mImageView.post(new Runnable() {
public void run() {
mImageView.setImageBitmap(b);
}
});
}
}).start();
}
Asynctask的目标是为您处理线程管理。我们以前的示例可以轻松地用异步箱重写:
public void onClick(View v) {
new DownloadImageTask().execute("http://example.com/image.png");
}
private class DownloadImageTask extends AsyncTask {
protected Bitmap doInBackground(String... urls) {
return loadImageFromNetwork(urls[0]);
}
protected void onPostExecute(Bitmap result) {
mImageView.setImageBitmap(result);
}
}