Android studio - 无法连接到LDAP服务器

知识养成了思想,思想同时又在融化知识。这篇文章主要讲述Android studio - 无法连接到LDAP服务器相关的知识,希望能为你提供帮助。
我想在android studio中使用LDAP,我在最新版本中使用UnboundID LDAP SDK for java。
我使用命令:

LDAPConnection ldap = new LDAPConnection("xxx.xxx.xx.xx", 389,"uid=guest3,ou=Users,dc=gal,dc=local", guest3);

连接细节:
  • host:xxx.xxx.xx.xx
  • 港口:389
  • dn:uid = guest3,ou = Users,dc = gal,dc = local
  • 密码:guest3
但是当我尝试连接到LDAP服务器时,出现以下错误:
LDAPException(resultCode = 82(local error),errorMessage ='编码LDAP消息或将其发送到服务器xx.xxx.xx.xx时发生错误:389:NetworkOnMainThreadException(trace ='onNetwork(StrictMode.java:1303)/ socketWrite(SocketOutputStream.java:111)/ write(SocketOutputStream.java:157)/ flushBuffer(BufferedOutputStream.java:82)/ flush(BufferedOutputStream.java:140)/ sendMessage(LDAPConnectionInternals.java:580)/ sendMessage(LDAPConnection.java :4375)/ process(SimpleBindRequest.java:556)/ bind(LDAPConnection.java:2270)/ bind(LDAPConnection.java:2215)/ onClick(LoginActivity.java:57)/ performClick(View.java:5610)/ run (View.java:22265)/ handleCallback(Handler.java:751)/ dispatchMessage(Handler.java:95)/ loop(Looper.java:154)/ main(ActivityThread.java:6077)/ invoke(Method.java: native)/ run(ZygoteInit.java:866)/ main(ZygoteInit.java:756)',ldapSDKVersion = 4.0.4,revision = 27051)')
如果有人知道如何解决这个问题,将不胜感激。提前致谢!
答案NetworkOnMainThreadException也许尽量不在主线程上做网络。看看reference
获取点击事件
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(); }

【Android studio - 无法连接到LDAP服务器】AsyncTask的目标是为您处理线程管理。我们之前的示例可以使用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); } }


    推荐阅读