通过身份验证令牌Picasso Xamarin加载图像

hel*_*rld 1 authentication android access-token xamarin picasso

我正在使用Picasso组件将我的图像从网址加载到ImageView.问题是我需要在标头中传递身份验证令牌以及URL,以确保我可以访问它.

如何使用Picasso组件将身份验证令牌与URL一起传递?

Mat*_*hew 5

刚刚Jake完成了对库的绑定:
- Java:https://github.com/JakeWharton/picasso2-okhttp3-downloader
- C#:https://github.com/mattleibow/square-bindings

NuGet是JakeWharton.Picasso2OkHttp3Downloader(包裹在世界各地传播可能有延迟):

> Install-Package JakeWharton.Picasso2OkHttp3Downloader 
Run Code Online (Sandbox Code Playgroud)

这可以从C#中以相同的方式使用:

using Square.OkHttp3;
using Square.Picasso;
using JakeWharton.Picasso;

// create the client
var client = new OkHttpClient.Builder()
    .AddInterceptor(chain =>
    {
        var newRequest = chain.Request()
            .NewBuilder()
            .AddHeader("X-TOKEN", "VAL")
            .Build();
        return chain.Proceed(newRequest);
    })
    .Build();

// create the picasso handle
var picasso = new Picasso.Builder(context)
    .Downloader(new OkHttp3Downloader(client))
    .Build();

// use picasso!
picasso
    .Load(url)
    .Placeholder(Resource.Drawable.placeholder)
    .Error(Resource.Drawable.error)
    .CenterInside()
    .Into(holder.image);
Run Code Online (Sandbox Code Playgroud)

注意:此库使用OkHttp v3.如果出于某种原因不希望这样做(不应该引起任何问题),那么你将不得不使用Cheesebaron提供的答案.