Сначала вы должны убедиться, что у вашего приложения есть разрешение на запись в SDCard. Для этого вам нужно добавить разрешение на использование запись на внешнее хранилище в файл манифеста приложения. См. Настройка разрешений Android
Затем вы можете скачать URL-адрес файла на SD-карте. Простой способ:
URL url = new URL ("file://some/path/anImage.png");
InputStream input = url.openStream();
try {
//The sdcard directory e.g. '/sdcard' can be used directly, or
//more safely abstracted with getExternalStorageDirectory()
File storagePath = Environment.getExternalStorageDirectory();
OutputStream output = new FileOutputStream (new File(storagePath,"myImage.png"));
try {
byte[] buffer = new byte[aReasonableSize];
int bytesRead = 0;
while ((bytesRead = input.read(buffer, 0, buffer.length)) >= 0) {
output.write(buffer, 0, bytesRead);
}
} finally {
output.close();
}
} finally {
input.close();
}
РЕДАКТИРОВАТЬ:
Внесите разрешение в манифест
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />