Хранение данных в мобильных приложениях Xamarin

Содержание

Слайд 2

Типы хранилища

Коллекция Properites в классе Application
Настройки (Preferences) операционной системы
Файлы
Базы данных

Типы хранилища Коллекция Properites в классе Application Настройки (Preferences) операционной системы Файлы Базы данных

Слайд 3

Свойство Properites

Свойство Properties класса Application представляет словарь, где каждому ключу с типом

Свойство Properites Свойство Properties класса Application представляет словарь, где каждому ключу с
string сопоставляется некоторое значение

Слайд 4

Добавление данных в словарь

App.Current.Properties.Add("name", "Tom");
// или так
App.Current.Properties["name"] = "Tom";

Добавление данных в словарь App.Current.Properties.Add("name", "Tom"); // или так App.Current.Properties["name"] = "Tom";

Слайд 5

Получение значения

string name = App.Current.Properties["name"];

Получение значения string name = App.Current.Properties["name"];

Слайд 6

Удаление

App.Current.Properties.Remove("name");

Удаление App.Current.Properties.Remove("name");

Слайд 7

Настройки приложения

В Xamarin Forms для работы с настройками мы можем использовать функциональность

Настройки приложения В Xamarin Forms для работы с настройками мы можем использовать
из пакета Xamarin Essentials, который добавляется в проект Xamarin Forms по умолчанию

Слайд 8

Настройки приложения

Все настройки доступны через свойство Preferences, который предоставляет для работы с

Настройки приложения Все настройки доступны через свойство Preferences, который предоставляет для работы
настройками следующие методы:
void Set(key, value): сохранение значения value по ключу key
string Get(key, defaultValue): получение значения по ключу key. Если же настроек с таким ключом нет, то возвращается значение по умолчанию - defaultValue
void Remove(key): удаляет настройку с ключом key
void Clear(): удаляет все настройки
bool ContainsKey(key): возвращает true, если имеется настройка с ключом key

Слайд 9

Для сохранения применяется метод Set()

// сохраняем значение Tom по ключу name
Preferences.Set("name", "Tom");

Для сохранения применяется метод Set() // сохраняем значение Tom по ключу name Preferences.Set("name", "Tom");

Слайд 10

Получение сохраненного значения по ключу

string name = Preferences.Get("name");
// если объекта нет используем

Получение сохраненного значения по ключу string name = Preferences.Get("name"); // если объекта
значение по умолчанию - "не известно"
string name2 = Preferences.Get("name", "не известно");

Слайд 11

Удаление

Preferences.Remove("name");

Удаление Preferences.Remove("name");

Слайд 12

Файлы

Для работы с файлами предназначена пара классов File и FileInfo. С их

Файлы Для работы с файлами предназначена пара классов File и FileInfo. С
помощью мы можем создавать, удалять, перемещать файлы, получать их свойства и многое другое

Слайд 13

Полезные методы и свойства класса FileInfo

CopyTo(path): копирует файл в новое место по

Полезные методы и свойства класса FileInfo CopyTo(path): копирует файл в новое место
указанному пути path
Create(): создает файл
Delete(): удаляет файл
MoveTo(destFileName): перемещает файл в новое место
Свойство Directory: получает родительский каталог в виде объекта DirectoryInfo
Свойство DirectoryName: получает полный путь к родительскому каталогу
Свойство Exists: указывает, существует ли файл
Свойство Length: получает размер файла
Свойство Extension: получает расширение файла
Свойство Name: получает имя файла
Свойство FullName: получает полное имя файла

Слайд 14

Класс File реализует похожую функциональность с помощью статических методов

Copy(): копирует файл в

Класс File реализует похожую функциональность с помощью статических методов Copy(): копирует файл
новое место
Create(): создает файл
Delete(): удаляет файл
Move: перемещает файл в новое место
Exists(file): определяет, существует ли файл

Слайд 15

Запись в файл и StreamWriter

StreamWriter(string path): через параметр path передается путь к

Запись в файл и StreamWriter StreamWriter(string path): через параметр path передается путь
файлу, который будет связан с потоком
StreamWriter(string path, bool append): параметр append указывает, надо ли добавлять в конец файла данные или же перезаписывать файл. Если равно true, то новые данные добавляются в конец файла. Если равно false, то файл перезаписываетсяя заново
StreamWriter(string path, bool append, System.Text.Encoding encoding): параметр encoding указывает на кодировку, которая будет применяться при записи

Слайд 16

Свою функциональность StreamWriter реализует через следующие методы

int Close(): закрывает записываемый файл и

Свою функциональность StreamWriter реализует через следующие методы int Close(): закрывает записываемый файл
освобождает все ресурсы
void Flush(): записывает в файл оставшиеся в буфере данные и очищает буфер.
Task FlushAsync(): асинхронная версия метода Flush
void Write(string value): записывает в файл данные простейших типов, как int, double, char, string и т.д. Соответственно имеет ряд перегруженных версий для записи данных элементарных типов, например, Write(char value), Write(int value), Write(double value) и т.д.
Task WriteAsync(string value): асинхронная версия метода Write
void WriteLine(string value): также записывает данные, только после записи добавляет в файл символ окончания строки
Task WriteLineAsync(string value): асинхронная версия метода WriteLine

Слайд 17

Чтение из файла и StreamReader

Класс StreamReader позволяет нам легко считывать весь текст

Чтение из файла и StreamReader Класс StreamReader позволяет нам легко считывать весь
или отдельные строки из текстового файла.

Слайд 18

Конструкторы класса StreamReader

StreamReader(string path): через параметр path передается путь к считываемому файлу
StreamReader(string

Конструкторы класса StreamReader StreamReader(string path): через параметр path передается путь к считываемому
path, System.Text.Encoding encoding): параметр encoding задает кодировку для чтения файла