listView では、アダプターの getView メソッドで、NetworkImageView のおかげで項目ごとに画像を読み込むために、ListView 項目ごとに画像を要求する必要があります。問題は、ユーザーがサーバーから写真を取得できるようにするために、リクエストに認証ヘッダーを追加する必要があることです。実践できないいくつかの解決策を読みました。
前もって感謝します...
listView では、アダプターの getView メソッドで、NetworkImageView のおかげで項目ごとに画像を読み込むために、ListView 項目ごとに画像を要求する必要があります。問題は、ユーザーがサーバーから写真を取得できるようにするために、リクエストに認証ヘッダーを追加する必要があることです。実践できないいくつかの解決策を読みました。
前もって感謝します...
基本認証ヘッダーを ImageLoader に設定する方法を見つけました。そのリンクの同じトピックの答えを誤解していました。したがって、クレジットは実際の回答者に与えられます。とにかく、トリックは次のようにgetRequestQueueメソッドに HurlStack を追加することでした:
public RequestQueue getRequestQueue()
{
if (mRequestQueue == null) {
HurlStack stack = new HurlStack() {
@Override
public HttpResponse performRequest(Request<?> request, Map<String, String> headers)
throws IOException, AuthFailureError {
String auth = "Basic " + Base64.encodeToString((GlobalVariables.getInstance().getWS_KEY()+":").getBytes(),
Base64.NO_WRAP);
headers.put("Authorization", auth);
return super.performRequest(request, headers);
}
};
mRequestQueue = Volley.newRequestQueue(getApplicationContext(),stack);
}
return mRequestQueue;
}
RequestQueueオブジェクトは Global クラスに配置され、シングルトン パターンが適用されます。つまり、 RequestQueueをリクエストするたびに、承認ヘッダーがそこに含まれます。それが役に立てば幸い !