2014-11-23 3 views

답변

0

이렇게하려면 이미지를 다운로드하여 내부 메모리에 저장해야합니다.

public static Bitmap getBitmap(String url) { 
    try { 
     InputStream is = (InputStream) new URL(url).getContent(); 
     Bitmap d = BitmapFactory.decodeStream(is); 
     is.close(); 
     return d; 
    } catch (Exception e) { 
     return null; 
    } 
} 

Code from here을하지만 큰 이미지와 메모리 문제가됩니다

당신은 스스로 이미지를 다운로드 할 수 있습니다. Android Universal Image Loader 또는 Picasso from square

+0

먼저 갤러리 앱이 액세스 할 수있는 외부 메모리로 다운로드해야합니다. 둘째, jpg 데이터를 파일에 직접 저장할 수있는 .jpg 인 경우 Bitmap을 사용하지 않는 것이 좋습니다. – greenapps

0

과 같은 빌드 라이브러리를 사용하는 것이 좋습니다. 여기서 example of how to use the Android DownloadManager to download your file을 찾을 수 있습니다.

대상 경로는 Environment 클래스에 정의 된 상수를 사용하여 결정할 수 있습니다. 상수 DIRECTORY_DCIM은 모든 액티비티가 자신의 이미지를 저장할 사용자 지정 폴더를 만들 수있는 상위 디렉터리를 가리 킵니다. 자신의 하위 폴더를 대상 폴더로 만들 수 있습니다.

이미지가 다운로드되면 기본 갤러리 응용 프로그램에 표시되지 않습니다. 이는 Android가 모든 미디어 파일로 색인을 만들고 여전히 고정되어 있기 때문입니다. 새 다운로드 이미지를 알지 못합니다. 이 색인은 Android 기기를 부팅 할 때마다 업데이트되지만 파일을 추가 할 때마다 기기를 재부팅하는 것이 약간 번거롭기 때문에 색인 서비스에 새 파일이 만들어 졌음을 색인 서비스에 알리고이 색인을 사용하여 색인을 생성해야합니다. 코드 :

Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); 
intent.setData(Uri.fromFile(file)); 
sendBroadcast(intent); 

이 스캔은 파일을 지운 후에 수행해야합니다.

관련 문제