Nasza aplikacja pobiera obrazy z sieci. I musisz zapisać go lokalnie.
Gdzie mam to przechowywać? W pamięci wewnętrznej w plikach, w SQLite db w polu Blob czy w pamięci zewnętrznej?
Wewnętrzne miejsce na starych urządzeniach jest bardzo małe, więc czy powinienem sprawdzić wolne miejsce i wybrać miejsce do przechowywania?
Odpowiedzi:
2 dla odpowiedzi № 1jest to dobrze udokumentowane w Android Developers: http://developer.android.com/training/basics/data-storage/files.html
Jak mówisz, stare urządzenia mogą mieć mało wolnego miejsca, a jeśli nie masz nic przeciwko, że twoje pliki są dostępne z menedżera plików, lepiej jest sprawdzić, czy istnieje zewnętrzna pamięć i tam ją zapisać.
EDYTOWAĆ: Sprawdź, czy jest dostępna pamięć zewnętrzna:
public boolean isExternalStorageWritable() {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
return true;
}
return false;
}