Телефонуйте » (+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)

Новини

  • SDR в IoT

    iotSDR пропонує платформу розробок для IoT-радіо та мережевих доменів. На платі два передавачі Microchip AT86RF215, для вводу-виводу модему на Xilinx ZYNQ SoC, приймач GNSS MAX2769 для GPS, Galileo, BieDou та Glonass. Плата сумісна з ПЗ GNURadio SDR. Дозволяє розробити протоколи фізичного рівня LoRa, SigFox, WightLess, Bluetooth, BLE, 802.15.4, ZigBee тощо для IoT, або шлюз IoT через TheThingsNetwork, LPWAN або Google Thread. Пам'ять EEPROM: 1x AT24MAC602 , flash-пам'ять: 1x QSPI 128 Мб, RAM: 256 MБ DDR3,слот для Micro SD карти, входи/виходи: 2x 8-бітних інтерфейси PL, інтерфейс 8-бітного PS, Gigabit Ethernet, USB 2.0 (USB3310), USB 2.0 (CP2104), 2x SMA RF-роз'єми для приймача діапазонів IoT, 2x SMA RF-роз'єми для приймача 2,4 ГГц , RF-роз'єм приймач GNSS, FPGA-роз'єм JTAG для програмування. Розміри плати: 76,2 мм x 101,6 мм.

     

    in Новини

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