2013-04-19 5 views
-4

Мне было интересно, какой самый эффективный способ сохранить изображение на Android.Как сохранить изображение на Android?

В основном это мое приложение: вы видите кредитную карту по умолчанию, затем вы можете выбрать сканирование штрих-кода (с помощью zxing), который затем сгенерирует QR-код для него и поместит QR-код в ImageView, где была сохранена карта по умолчанию.

До сих пор так хорошо; тем не менее, есть проблема с приложением, которое запоминает, какое изображение будет отображаться при навигации от результата (другой экран в приложении, переход к главному экрану вашего устройства и т. д.) и возврат к экрану. Он снова отображает карту по умолчанию.

Теперь я понимаю, что мне нужно сохранить QR-код, но я не могу придумать решение. Устройство не имеет SD-карты, поэтому сохранение на внешнем хранилище не является вариантом.

Я попытался решить его с помощью SharedPreferences, OutputStream и кеша; но не мог заставить его работать.

Какой из этих трех способов (или, возможно, другой, вся помощь приветствуется), вы бы выбрали и для чего был бы код?

+0

попытаться сохранить данные в sqlite. – Amit

+1

http://stackoverflow.com/questions/9942560/when-to-clear-the-cache-dir-in-android – Carnal

+0

начните с чтения принятого ответа, это касается разных способов хранения данных! – Carnal

ответ

1
public boolean saveBitmap(Bitmap image, String name){ 
    try { 
     FileOutputStream fos = context.openFileOutput(name, Context.MODE_PRIVATE); 
     image.compress(Bitmap.CompressFormat.JPEG, 70, fos); 
     fos.close(); 
     return true; 
    } 
    catch (Exception e) { 
     e.printStackTrace(); 
     return false; 
    } 
} 

public Bitmap getBitmap(String name){ 
    try { 
     FileInputStream fis = context.openFileInput(name); 
     Bitmap image = BitmapFactory.decodeStream(fis); 
     return image; 
    } 
    catch (Exception e) { 
     e.printStackTrace(); 
     return null; 
    } 
} 
Смежные вопросы