Телефонуйте » (+38) 096 227 41 41

Якщо маєте відносно невелику колекцію ключ-значення, які хотіли б зберегти, то повинні використати API SharedPreferences. Об'єкт SharedPreferences вказує на файл, що містить пари ключ-значення і надає прості методи для їх читання і запису.

Кожен файл SharedPreferences управляється фреймворком і може бути приватним або спільним.
Цей урок показує, як використовувати API SharedPreferences для зберігання та вилучення простих значень.

Примітка: API SharedPreferences призначений тільки для читання і запису пари ключ-значення, і ви не повинні його плутати з API Preference, який допомагає побудувати користувальницький інтерфейс для налаштування додатків (хоча при реалізації він використовує SharedPreferences, щоб зберегти налаштування додатка). Для отримання інформації про використання API Preference зверніться до керівництва з установки.

Отримання дескриптора SharedPreferences

Ви можете створити новий спільний файл налаштувань або отримати доступ до існуючого, викликавши один з двох методів:

·    getSharedPreferences() - використовуйте, якщо вам потрібно кілька спільних файлів налаштувань, ідентифікованих за іменем, яке вказуєте як перший параметр. Можете викликати це з будь-якого Context у своєму додатку.
·    getPreferences() - використовуйте із Activity, якщо вам потрібний тільки один спільний файл налаштувань для activity. Оскільки при цьому витягується спільний файл налаштувань за замовчуванням, що належить до activity, то не потрібно вказувати ім'я.

Наприклад, виконується наступний код всередині Fragment. Це доступ до спільного файлу параметрів, який ідентифікується рядком ресурсів R.string.preference_file_key і відкриває його за допомогою закритого режиму, тому файл доступний лише для вашого додатку:

Context context = getActivity();
SharedPreferences sharedPref = context.getSharedPreferences(
        getString(R.string.preference_file_key), Context.MODE_PRIVATE);

При присвоєнні назви спільним файлам налаштувань, ви повинні використовувати ім'я, яке однозначно ідентифікує ваш додаток, наприклад,

"com.example.myapp.PREFERENCE_FILE_KEY"

Крім того, якщо вам потрібний тільки один спільний файл налаштувань для вашої activity, то можете використовувати метод getPreferences():

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);

Увага: Якщо ви створити спільний файл налаштувань з MODE_WORLD_READABLE або MODE_WORLD_WRITEABLE, то будь-які інші додатки, які знають ідентифікатор файлу, можуть отримати доступ до даних.

Запис до спільних налаштувань

Для запису в спільний файл налаштувань, створіть SharedPreferences.Editor, викликавши edit() на своєму SharedPreferences.
Передайте ключі і значення, які хочете записати, з такими методами, як putInt() і putString(). Тоді викликайте commit(), щоб зберегти зміни. Наприклад:

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.saved_high_score), newHighScore);
editor.commit();

Читання із спільних налаштувань

Щоб отримати значення із спільного файлу налаштувань, викликайте такі методи, як getInt() і getString(), які забезпечують ключ для значення, яке хочете, і, необов'язково, щоб повернулося значення за замовчуванням, якщо ключ відсутній. Наприклад:

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
int defaultValue = getResources().getInteger(R.string.saved_high_score_default);
long highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultValue);

(Джерело: developer.android.com)

Новини

  • Модуль SMARC запускає Android або Linux на Snapdragon 820
    Модуль SMARC запускає Android або Linux на Snapdragon 820

    SMART 2.0 "Snapdragon 820 SOM" iWave має 3 Гб LPDDR4, 32 Гб eMMC, Wi-Fi та Bluetooth, а також вхідні/вихідні виводи, включаючи GbE, HDMI 2.0, MIPI-CSI, USB 3.0 та PCIe. Комп'ютер розміром 82x50 мм працює на ОС Android Snailbone або вище, з наступною підтримкою Linux. Snapdragon 820 об'єднує чотири 14-нм Cortex з технологією FinFET - два на частоті 2,15 ГГц, а два з 1,6 ГГц, які намагаються імітувати високоякісні Cortex-A72. Крім того, SoC оснащений 624 МГц Adreno 530 GPU, Hexagon 680 DSP і 14-розрядним ISP для Spectra. Snapdragon 820 SOM підтримує кодування H.265 4K@60 та кодування 4K@30.

    in Новини

Записатися на курс