2016-08-30 4 views
1

В моем приложении я разрешаю пользователю загружать количество изображений из ссылок URL и хранить их на SD-карте. Каждый раз, когда загружаемое новое изображение переопределяет предыдущее изображение с тем же именем. Итак, наконец, у меня есть только одно изображение на SD-карте, которое загружается в последний раз.Сохраненное изображение переопределяет предыдущее изображение в sd card android

 try { 
      URL url = new URL(src); 
      URLConnection connection = (URLConnection) url.openConnection(); 
      connection.setDoInput(true); 
      connection.connect(); 
      InputStream input = connection.getInputStream(); 
      bitmap = BitmapFactory.decodeStream(input); 

      ByteArrayOutputStream bytes = new ByteArrayOutputStream(); 
      bitmap.compress(Bitmap.CompressFormat.JPEG, 90, bytes); 

      String filename; 
      Date date = new Date(0); 
      SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); 
      filename = sdf.format(date); 
      File file = new File(Environment.getExternalStorageDirectory() + File.separator + filename + ".jpg"); 

      try { 
       file.createNewFile(); 
       FileOutputStream fo = new FileOutputStream(file); 
       Toast.makeText(getApplicationContext(),filename,Toast.LENGTH_LONG).show(); 
       // 5 
       fo.write(bytes.toByteArray()); 
       fo.close(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
      return bitmap; 

     } catch (IOException e) { 
      e.printStackTrace(); 

      return null; 
     } 

Мне нужна помощь в сохранении всех изображений, которые я загрузил.

+0

Вы даете же имя изображения, так произошло это проблема. используйте случайный генератор, чтобы указать имя изображения. –

+0

, пожалуйста, предложите мне, как это сделать ?. –

+0

Простая генерация имени файла с использованием метки времени. – prakash

ответ

2
try this: 

     Random generator = new Random(); 
     int n = 10000; 
     n = generator.nextInt(n); 
     filename = sdf.format(date+ n); 
1

попробовать этот

File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), 
      getString(R.string.images)); 
    Random generator = new Random(); 
    int n = 10000; 
    n = generator.nextInt(n); 
    String fname = "Image-" + n + ".jpg"; 
    File file = new File(mediaStorageDir, fname); 
Смежные вопросы