Где сохранить картинки на Android?

Вам необходимо установить логическое значение localStorage:

$("section").toggleClass("dark");
let darkThemeEnabled = $("section").hasClass("dark");
localStorage.setItem("dark-theme-enabled", darkThemeEnabled);

РЕДАКТИРОВАТЬ

Также измените способ получения:

if (localStorage.getItem('dark-theme-enabled')) {
    $('section').addClass('dark');
    $('ul').addClass('active');  
}
33
задан Ulrich Scheller 11 May 2009 в 11:18
поделиться

4 ответа

Я думаю, что лучший способ - использовать базу данных.

  1. Это не приводит к увеличению нагрузки на приложение и память.
  2. Связанная база данных удаляется после удаления приложения.
  3. ] Никто не может получить доступ к этим файлам, кроме вашего приложения.

Обновление: Но; Если вы хотите кэшировать только данные, в webkit есть менеджер кеша. CacheManager

Я не использовал этот пакет раньше, но методы кажутся простыми в использовании:

static boolean   cacheDisabled()
static boolean   endCacheTransaction()
static CacheManager.CacheResult  getCacheFile(String url, Map<String, String> headers)
static File  getCacheFileBaseDir()
static void  saveCacheFile(String url, CacheManager.CacheResult cacheRet)
static boolean   startCacheTransaction()

и вы можете найти их в код Google Gears

Надеюсь, это поможет.

6
ответ дан 27 November 2019 в 18:30
поделиться

If you you don't want to use the CacheManager then use a database or a local (non-SD) file (local files get deleted on a complete uninstall) and register to receive the 'ACTION_DEVICE_STORAGE_LOW' and 'ACTION_DEVICE_STORAGE_OK' broadcast actions. Then you'll know when your application is taking up too much space according to the device and when you need to start deleting pictures. Your application size will still grow, but you will be able to manage the growth and shrinkage.

0
ответ дан 27 November 2019 в 18:30
поделиться

Просто совет - если вы сохраните их на SD-карте, они будут отсканированы MediaScanner и появятся в галерее пользователей (фотографии) , который вам, вероятно, не нужен. Так что вы, вероятно, захотите сохранить их в телефоне или как-то сказать MediaScanner не сканировать их (очевидно, это невозможно после быстрого поиска в Google).
Вероятно, лучше всего сохранить несколько избранных в личном каталоге вашего приложения, который будет удален при удалении вашего приложения.

-1
ответ дан 27 November 2019 в 18:30
поделиться

Вы можете скрыть изображения из MediaScanner, если вы поместите его в скрытый каталог (т. Е. С префиксом точки), например /sdcard/.donotscan/ .

Обновление: как romainguy упоминает в твиттере , это также работает, если вы поместите файл с именем .nomedia в каталог.

11
ответ дан 27 November 2019 в 18:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: