¿Cómo usar AndroidHttpClient (API Level 8) y UsernamePasswordCredentials?

Actualmente estoy usando un DefaultHttpClient con ThreadSafeClientConnManager. Esto funciona bien, pero me gustaría reemplazarlo usando AndroidHttpClient. Lamentablemente no he podido añadir UsernamePasswordCredentials, que actualmente es importante para mí. ¿Puede alguien proporcionar un consejo o una solución?

Necesita utilizar la clase HttpRequestInterceptor para la autenticación.

Aquí hay un ejemplo

 HttpRequestInterceptor httpRequestInterceptor = new HttpRequestInterceptor() { public void process(final HttpRequest request, final HttpContext context) throws HttpException, IOException { AuthState authState = (AuthState) context.getAttribute(ClientContext.TARGET_AUTH_STATE); CredentialsProvider credsProvider = (CredentialsProvider) context.getAttribute( ClientContext.CREDS_PROVIDER); HttpHost targetHost = (HttpHost) context.getAttribute(ExecutionContext.HTTP_TARGET_HOST); if (authState.getAuthScheme() == null) { AuthScope authScope = new AuthScope(targetHost.getHostName(), targetHost.getPort()); Credentials creds = credsProvider.getCredentials(authScope); if (creds != null) { authState.setAuthScheme(new BasicScheme()); authState.setCredentials(creds); } } } }; 

Sé que la pregunta es vieja pero para el beneficio de cualquier persona que tropieza en esto (como lo hice), usted puede rodar la cabecera usted mismo con el objeto de HttpGet . Al igual que :

 httpGet.addHeader("Authorization", "Basic " + Base64.encode(username+":"+password)); 

Algunas mejoras a la respuesta de Saad Farooq, el siguiente código funciona para mí.

 final AndroidHttpClient client = AndroidHttpClient.newInstance("Android"); getRequest = new HttpGet(url); getRequest.addHeader("Authorization", "Basic " + Base64.encodeToString(new String(username + ":" + password).getBytes(), Base64.NO_WRAP)); 
  • Reutilización de la conexión SSL con Android HttpClient
  • Android httpclient - obtener un archivo con autenticación preferente
  • Cómo agregar json al cuerpo de una publicación http en java
  • Org.apache.http.entity.FileEntity está obsoleto en Android 6 (Marshmallow)
  • ¿Cómo hacer http post usando apache httpclient con autenticación web?
  • Memoria de Android y cliente de caché de caché http utilizando Picasso
  • Android: uso no válido de SingleClientConnManager: conexión aún asignada
  • Aceptación de un certificado para HTTPs en Android
  • HttpClient falta del subconjunto portátil .Net al crear PCL en Xamarin
  • ¿Por qué estoy recibiendo HttpResponse diferente de un navegador en android?
  • Cancelación de la conexión Http en android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.