title: How to integrate Google Drive with Picasso on Android?
body: <p>I'm writing an app which stores images in Google Drive and I'd like to display a gallery of those (<code>GridView</code>). To be more performant (i.e. async) I'd like to integrate this with <code>Picasso</code>. But the <code>Picasso.load(String)</code> is just an alias to <code>load(Uri.parse(path))</code>, and I don't have a <code>Uri</code> because the images are loaded like this (simplified and with undisclosed utility methods):</p>
  
  <pre><code>public static Bitmap getBitmap(DriveId id) {
      GoogleApiClient client = ApiClientAsyncTask.createConnectedClient(App.getAppContext());
      DriveFile file = Drive.DriveApi.getFile(client, id);
      Metadata meta = sync(file.getMetadata(client));
      Contents contents = sync(file.openContents(client, DriveFile.MODE_READ_ONLY, null));
      InputStream imageStream = contents.getInputStream();
      try {
          return BitmapFactory.decodeStream(imageStream);
      } finally {
          IOTools.ignorantClose(imageStream);
          sync(file.discardContents(client, contents));
      }
  }
  </code></pre>
  
  <p>Is there any other similar library maybe supporting integration of arbitrary inputs (String/Object)?</p>
  
  <p>Of course I'd like to use the full support of caching (network (the above method), disk, memory) in Picasso.</p>