Как в android принято хранить конфигурацию?

В Android существует несколько способов хранения конфигурации приложения. Вот некоторые из них:

1. Shared Preferences: Shared Preferences – это простой способ сохранить небольшие объемы данных в виде пар "ключ-значение" в файле на устройстве. Этот файл доступен только для вашего приложения и может быть использован для хранения примитивных типов данных (таких как boolean, int, long, float, string) и некоторых объектов (если они реализуют интерфейс Serializable).

Пример использования Shared Preferences:

// Получение экземпляра SharedPreferences
SharedPreferences sharedPreferences = getSharedPreferences("my_prefs", Context.MODE_PRIVATE);

// Редактирование SharedPreferences
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("is_first_launch", false);
editor.apply();

// Получение значения из SharedPreferences
boolean isFirstLaunch = sharedPreferences.getBoolean("is_first_launch", true);

2. SQLite database: SQLite – это легковесная встроенная база данных, которая может использоваться для сохранения и получения структурированных данных. База данных SQLite может использоваться для хранения любых сложных данных и дает возможность производить запросы и манипулировать данными с помощью SQL-запросов.

Пример использования SQLite database:

// Создание/открытие базы данных
SQLiteDatabase database = openOrCreateDatabase("my_database", Context.MODE_PRIVATE, null);

// Создание таблицы
database.execSQL("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)");

// Добавление записи в таблицу
database.execSQL("INSERT INTO users (name, age) VALUES ('John Smith', 25)");

// Получение данных из таблицы
Cursor cursor = database.rawQuery("SELECT * FROM users", null);
while (cursor.moveToNext()) {
    String name = cursor.getString(cursor.getColumnIndex("name"));
    int age = cursor.getInt(cursor.getColumnIndex("age"));
    // Обработка данных
}

// Закрытие базы данных
database.close();

3. Файлы: В Android вы также можете сохранять конфигурацию в виде текстовых или бинарных файлов. Вы можете создать свой формат файла и использовать методы чтения и записи, предоставляемые классами, такими как FileInputStream и FileOutputStream.

Пример использования файлов:

// Запись данных в файл
String data = "Hello, world!";
try {
    FileOutputStream outputStream = openFileOutput("my_file.txt", Context.MODE_PRIVATE);
    outputStream.write(data.getBytes());
    outputStream.close();
} catch (IOException e) {
    e.printStackTrace();
}

// Чтение данных из файла
try {
    FileInputStream inputStream = openFileInput("my_file.txt");
    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
    String line;
    StringBuilder builder = new StringBuilder();
    while ((line = reader.readLine()) != null) {
        builder.append(line);
    }
    inputStream.close();
    String fileData = builder.toString();
} catch (IOException e) {
    e.printStackTrace();
}

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