вопросы для сохранения и восстановления изображения в Android? - PullRequest
1 голос
/ 24 февраля 2012

У меня есть приложение, которое использует функцию холста, я хочу сохранить и восстановить все изображения (независимо от того, что я сохранил).?

выдает

Я могу сохранитьи получить только одно изображение

Динамически сохраняю изображение, (image001, image002 ......)

обновление

   try {
                toDisk.compress(Bitmap.CompressFormat.JPEG, 100, new FileOutputStream(new File("/mnt/sdcard/image00"+saveimageid+".jpg")));
                saveimageid++;
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

Я получаю изображение из image001.

File imgFile = new  File("/mnt/sdcard/image001.jpg");
if(imgFile.exists()){

    Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());

    ImageView myImage = (ImageView) findViewById(R.id.ImageView01);
    myImage.setImageBitmap(myBitmap);

1 Ответ

1 голос
/ 24 февраля 2012

Я предполагаю, что вы хотите загрузить все файлы, которые соответствуют imageXYZ.jpg.

Я понятия не имею, почему вы сохраняете файлы как "00" + saveimageid + ". Jpg. Если вы хотите сделатьубедитесь, что имя файла одинаково длинное (или как минимум три позиции), сделайте что-то вроде

new File(String.format("/mnt/sdcard/image%03d.jpg", saveimageId))

. Для извлечения файлов вы можете

File dir = new File("/mnt/sdcard/");
File[] images = dir.listFiles(new FilenameFilter() {
     @Override
     public boolean accept(final File dir, final String filename) {
         return filename.matches("image[0-9]+\\.jpg");
     }
});

. Затем вы можете использовать массив images.пожалуйста.

Как примечание: если это Android, вы не должны предполагать, что внешнее хранилище помещено в / mnt / sdcard. Используйте Environment.getExternalStorageDirectory ()

...