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

#android #ios #xamarin.forms #xamarin.essentials

#Android #iOS #xamarin.forms #xamarin.essentials

Вопрос:

Я много читал о Xamarin Essentials и сохранял данные в каталоге данных приложения. Чего я пытаюсь добиться, так это автоматического резервного копирования этой таблицы при добавлении или удалении чего-либо, чтобы пользователь всегда мог видеть этот список, даже если они переключают устройства.

Для ясности, устройство имеет целую локальную базу данных, но большая часть этих данных хранится в файле БД, который сохраняется в главном каталоге, а затем копируется при запуске приложения. Единственные данные, которые не загружаются предварительно, — это данные пользователя. Само приложение не содержит логина, и я не управляю информацией пользователя. Когда пользователю нравится элемент, он загружается как элемент в их списке избранных, он же добавляется в таблицу избранного. Я бы хотел, чтобы резервная копия создавалась только для таблицы избранного, поскольку другие данные могут быть извлечены.

Имейте в виду, что это резервное копирование предназначено для того, чтобы пользователь мог хранить свою информацию на любом устройстве, на которое он перемещается, если он установит его в качестве резервной копии. Я предполагаю, что автоматические обновления каким-то образом связаны с учетной записью пользователя (например, Apple ID или учетная запись Google)?

Я наткнулся на интересную статью, в которой подробно рассказывается о том, какие элементы можно помещать в какие каталоги, поскольку вы рискуете получить отклонение вашего приложения в App Store. https://mallibone.com/post/xamarin-forms-and-the-open-question-of-where-to-store-your-files

Я просто не смог понять, как сохранить только одну таблицу из базы данных.

Любая помощь приветствуется.

Комментарии:

1. просто экспортируйте эту таблицу в формате json и сохраните как файл

2. интересно, как бы мне ее получить и снова превратить в таблицу БД?

3. Привет, сначала вам нужно преобразовать таблицу в данные модели, а затем использовать Json для сериализации объекта модели string . Затем вы можете передать строку на сервер или другое место. Когда вам нужна резервная копия, вы можете получить строку json и использовать объект десериализации json для моделирования данных. Наконец, вы можете поместить данные модели в таблицу в базе данных. Об использовании json можно прочитать здесь .

4. вам действительно нужно запрашивать данные или выполнять соединения с другими таблицами? Если нет, то вам действительно нужны данные, или вы можете просто сериализовать / десериализовать их из файла json в объект в памяти?

5. Привет @Jason так что да, я делаю 2 объединения из этой таблицы, но теоретически это только резервная копия. Данные по-прежнему сохраняются в локальной таблице «Избранное», где я выполняю свои запросы. Я просто хочу, чтобы эти данные всегда синхронизировались на случай, если человек решит загрузить приложение и на свой iPad. Вы знаете, что данные не исчезли. я предполагаю, что я бы десериализовал данные только при первом запуске или при первом запуске после новой версии.