2013-11-11 6 views
0

Наше приложение получает изображения из сети. И нужно сохранить его локально.Где я могу хранить ресурс приложения

Где его хранить? Во внутреннем хранилище в файлах, в SQLite db в поле Blob или во внешнем хранилище?

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

ответ

2

это хорошо документирован в Android Developers: http://developer.android.com/training/basics/data-storage/files.html

Как вы говорите, старые устройства могут иметь низкое свободное пространство, и если вы нормально с вашими файлами быть доступны из файлового менеджера, то предпочтительно чтобы проверить наличие внешнего хранилища и сохранить его там.

EDIT: Проверьте внешний накопитель присутствует:

public boolean isExternalStorageWritable() { 
    String state = Environment.getExternalStorageState(); 
    if (Environment.MEDIA_MOUNTED.equals(state)) { 
     return true; 
    } 
    return false; 
} 
+0

Так .. Например, я сохранил некоторые изображения во внутренней памяти, после того, что нет ни одного свободного места. Поэтому я должен сохранять новые изображения во внешнем хранилище ... Эта фрагментация данных кажется плохим. – Suvitruf

+0

Нет, если есть внешнее хранилище, всегда сохраняйте его. Если у пользователей есть внешнее хранилище, они, скорее всего, хотят получить все дополнительные данные, но, тем не менее, это конфиденциальные данные, которые вы не хотите предоставлять им легкий доступ к более разумным для сохранения во внутреннем хранилище. Редактирование моего ответа с проверкой на внешнее хранилище. –

Смежные вопросы