如何在Android中缓存来自Google plus的个人资料图片

时间:2014-07-25 03:00:33

标签: android google-plus

我正在尝试设置Google plus个人资料图片。我可以使用以下方式获取URL并设置图像:

    private class LoadProfileImage extends AsyncTask<String, Void, Bitmap> {
    ImageView bmImage;

    public LoadProfileImage(ImageView bmImage) {
        this.bmImage = bmImage;
    }

    Protected Bitmap doInBackground (String... urls) {
        String urldisplay = urls[0];
        Bitmap mIcon11 = null;
        try {
            InputStream in = new java.net.URL(urldisplay).openStream();
            mIcon11 = BitmapFactory.decodeStream(in);
        } catch (Exception e) {
            Log.e("Error", e.getMessage());
            e.printStackTrace();
        }
        return mIcon11;
    }

    protected void onPostExecute(Bitmap result) {
        bmImage.setImageBitmap(result);
    }
  }

但是当没有互联网时,这不起作用。配置文件图像始终从指定的URL获取。

问题是:如何缓存个人资料图片?或者我应该将它存储在共享首选项中?只要没有互联网我仍然有个人资料图片,这将非常有用......

让我知道!

谢谢!

1 个答案:

答案 0 :(得分:0)

如果没有互联网连接,您可能会或可能不会获得个人资料图片,这取决于。

  

在这种情况下你能做些什么?

1:只需在互联网连接处于活动状态时获取图像,并将该图像缓存在应用程序缓存目录或其他位置,并在没有互联网连接时使用它。

2:如果您的联系人目录中存在该人,并且设备所有者与Google+同步,那么您可以尝试使用该人的电子邮件ID获取该个人资料照片。 Content provider允许您获取联系人详细信息。