2014-07-11 5 views
2

헤더 인증이 필요한 API에서 이미지를 가져와야합니다. Picasso 용 사용자 지정 다운로더를 지정했지만 이미지가 표시되지 않습니다. openConnection 메서드를 올바르게 재정의합니까?Picasso 맞춤식 다운로더 문제

Picasso.Builder builder = new Picasso.Builder(getApplicationContext()); 
     builder.downloader(new OkHttpDownloader(getApplicationContext()) { 
      @Override 
      protected HttpURLConnection openConnection(Uri uri) throws IOException { 
       HttpURLConnection connection = super.openConnection(uri); 
       connection.setRequestMethod("GET"); 
       connection.setRequestProperty("X_AUTH_TOKEN", authToken); 

       return connection; 
      } 
     }); 
     Picasso picasso = builder.build(); 
     picasso.with(getApplicationContext()).load("http://example.com/api/users/pic/14").into(ivProfilePic); 
+0

connection.setDoOutput (false);로 변경하십시오. – TizianoPiccardi

+0

@TizianoPiccardi는 테스트를 거쳤으며 작동하지 않습니다. – Shane

답변

9

Picasso.with()을 사용하지 마십시오. 이는 기본 Picasso 인스턴스를 초기화하는 정적 메서드입니다.

사용자 정의 다운로더를 사용하여 사용자 인스턴스를 작성 중이지만 사용하지는 않습니다.

인스턴스를 빌드 한 직후에 picasso.load()을 호출하면됩니다.