2014-07-25 3 views
0

Google 플러스 프로필 이미지를 설정하려고합니다. URL을 가져 와서 이미지를 설정할 수 있습니다.Google 플러스 프로필 사진을 android에 저장하는 방법

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에서 가져옵니다.

질문 : 프로필 이미지를 어떻게 캐시합니까? 또는 이것을 공유 환경 설정에 저장해야합니까? 인터넷에 연결되어 있지 않으면 언제든지 유용 할 것입니다 ...

알려주세요!

감사합니다.

+0

아마이 https://github.com/nostra13/Android-Universal-Image-Loader 을 사용할 수 있습니다. 캐시를 지원합니다. – BatmanGotham

답변

0

인터넷에 연결되어 있지 않으면 프로필 이미지가 표시 될 수도 있고 표시되지 않을 수도 있습니다.

이 경우 어떻게 할 수 있습니까?

1 : 단순히 인터넷 연결이 작동 중일 때 이미지를 가져 와서 이미지를 응용 프로그램 캐시 디렉토리 또는 다른 곳에 캐시하고 인터넷에 연결되어 있지 않을 때 사용하십시오.

2 : 그 사람이 연락처 디렉토리에 있고 기기 소유자가 Google+와 동기화 한 경우 해당 사용자의 이메일 ID를 사용하여 프로필 사진을 가져올 수 있습니다. Content provider을 사용하면 연락처 세부 정보를 가져올 수 있습니다.

+0

어떻게 이미지를 캐시합니까? – TheDevMan

+0

@TheDevMan 여기에서 연락처 이미지를 얻을 수 있습니다. http://developer.android.com/reference/android/provider/ContactsContract.Contacts.Photo.html – dhams

+0

연락처의 이미지를 사용하고 싶지 않습니다. 나는 이미지를 캐시하고 싶습니다. – TheDevMan

관련 문제