2016-10-22 14 views
0

私のバックエンドは要求するたびに同じ画像にURLを変更するため、Glideは変更をしなくても。 Glideが変更URLを見て無視し、署名だけをチェックしてアプリケーションに正しくキャッシュできるようにすることができるかどうかは疑問でした。強制的に署名を見るだけでキャッシュやレッドダウンのための署名が見えるので、別のURIを無視してください(Android)

ありがとうございます!

答えて

1

私はここに答えが見つかりました:

Glide.with(mContext).load(new GlideUrlWithToken(image.getLink(), token)) 
        .signature(new StringSignature(signature)) 
        .into(imageView); 

public class GlideUrlWithToken extends GlideUrl { 
     private String mSourceUrl; 

     public GlideUrlWithToken(String url, String token) { 
      super(new StringBuilder(url) 
        .append(token) // append the token at the end of url 
        .toString()); 

      Preconditions.checkNotNull(url); 
      Preconditions.checkNotNull(token); 

      mSourceUrl = url; 
      Log.v(TAG, url); 
     } 

     @Override 
     public String getCacheKey() { 
      return mSourceUrl; 
     } 

     @Override 
     public String toString() { 
      return super.getCacheKey(); 
     } 
    } 

は、その後、あなたが次のようなグライドを呼び出すことができます。https://github.com/bumptech/glide/issues/607

あなたはこのようなgetCacheKey()メソッドをオーバーライドする必要がありますここの署名は、私のimageId +サーバからのupdatedAtの値を保持しているので、更新されると画像を再ダウンロードするべきです。

関連する問題