Форум программистов, компьютерный форум, киберфорум
Xamarin
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
1 / 1 / 0
Регистрация: 22.07.2017
Сообщений: 57
1

Архитектура приложения. Сохранение обьектов (зависимых от интерфейса) с интерфейсом

19.01.2021, 17:44. Просмотров 1536. Ответов 6

Привет.
Сначала опишу суть приложения, потом проблему, потом - то что уже имеется.

Сущевствуют некие девайсы. Работают они автономно, но для настройки нужно к ним подключатся через Bluetooth или Network. Некоторые работают толко с одним интерфейсом, некоторые с двумя.

Для управления этими девайсами пишу Android проиложение.
Приложение после подключения к девайсу его запоминает, и запоминает способ подключения (тоесть нужно сохранять какие-то данные девайса и (MAC BT или IP NW)).

Проблема. Не могу подобрать подход к решению этой задачи. Или захожу в тупик, или получается реализация в которой запросто запутатся.

В Core у меня есть interfaces 'IConnection' и 'IBluetoothConnection: IConnection', 'INetworkConnection: IConnection', реализация которых через DependecyService в Droid.
И девайс SomeDevice который имеет зависимость от IConnection.
Для подключения к базе использую EntityFramework.
Но конечно ж есть проблемы. Так как реализация интерфейсов подключения в Droid - не могу сохранять данные на прямую так-как EF не работает с интерфейсвми. Решал эту проблему создавая DTO, но это не очень удобно, так как еще нужно создавать Manager который определяет тип обьекта реализовавшего интерфейс, тогда можно сохранять. Потом же опять неудобства с созданием девайса читая данные из БД.

Ну вообщем то и все. Нужна дополнительная информаци, уточнения, пишите.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.01.2021, 17:44
Ответы с готовыми решениями:

В указанном dsn архитектура драйвера и архитектура приложения не соответствуют друг другу
Добрый день. При запуске программы выскакивает вот такая вот ошибка. В чем может быть проблема и...

Привязка обьектов интерфейса к границе окна
mfc Вопрос как это сделать. Например привязать кнопку к нижней и левой стороне формы. Как...

Ошибка "в указанном dsn архитектура драйвера и архитектура приложения"
Вот такая ошибка при нажатии на кнопку "Проверить соединение" Я прочитал, что это возможно из за...

Наследование интерфейса схожих классов (архитектура)
Имеется класс абстрактных операций. В нем есть чисто виртуальный метод operate( AbstractObj * ) ...

6
222 / 160 / 109
Регистрация: 09.11.2015
Сообщений: 442
21.01.2021, 10:42 2
BeardVis, вы же в любом случае после запуска приложения производите сканирование девайсов?
0
1 / 1 / 0
Регистрация: 22.07.2017
Сообщений: 57
21.01.2021, 10:57  [ТС] 3
Цитата Сообщение от Ellizio Посмотреть сообщение
BeardVis, вы же в любом случае после запуска приложения производите сканирование девайсов?
Сканирую только тогда когда пользователь хочет добавить новый девайс.
Кода приложение запускается, происходит попытка подключения к уже добавленым.
0
222 / 160 / 109
Регистрация: 09.11.2015
Сообщений: 442
21.01.2021, 15:40 4
BeardVis, а такой вариант не рассматриваете?
При запуске все равно делать скан и подключаться к найденным девайсам, но только к тем, что есть в списке сохраненных. В таком случае придется хранить минимум информации о сохраненном девайте (только uuid или адрес или что-то еще). Даже можно будет обойтись без БД. Да и восстанавливать ничего не придется.

0. Есть список информации о сохраненных девайсах
1. Скан после запуска
2. Подключение в к нужным девайсам, которые соответствуют сохраненным

Плюс это исключит лишние попытки соединения, если девайс вне зоны или отключен (для тех, что работают по bluettoth)

Добавлено через 2 минуты
Для хранения такой информации подойдет тот же SharedPreferences
1
1 / 1 / 0
Регистрация: 22.07.2017
Сообщений: 57
21.01.2021, 16:12  [ТС] 5
Цитата Сообщение от Ellizio Посмотреть сообщение
BeardVis, а такой вариант не рассматриваете?
Спасибо, обдумаю это, звучит неплохо.
Сохранять всеравно придется больше информации, так как если не будет связи, я хочу чтоб пользователь видел с чем именно, а не какимто Bluetooth или ip.
0
1 / 1 / 0
Регистрация: 22.07.2017
Сообщений: 57
21.01.2021, 16:20  [ТС] 6
Цитата Сообщение от Ellizio Посмотреть сообщение
BeardVis, а такой вариант не рассматриваете?
Спасибо, обдумаю это, звучит неплохо.
Сохранять всеравно придется больше информации, так как если не будет связи, я хочу чтоб пользователь видел с чем именно, а не какимто Bluetooth или ip.

Добавлено через 6 минут
Вот еще вопрос:
Например я хочу показывать пользователю не все доступные Bluetooth, а только те что поддерживает моя программа.
Как это лучше реализовать?
Подключатся к каждому и спрашивать у него кто он такой, время и ресурсозатратно.
Определять по имени как-то тоже не очень. Темболее бывали случаии что блютуз отображался, а имя нет?

Что посоветуете?
0
222 / 160 / 109
Регистрация: 09.11.2015
Сообщений: 442
23.01.2021, 22:18 7
Цитата Сообщение от BeardVis Посмотреть сообщение
Вот еще вопрос:
Например я хочу показывать пользователю не все доступные Bluetooth, а только те что поддерживает моя программа.
Как это лучше реализовать?
Подключатся к каждому и спрашивать у него кто он такой, время и ресурсозатратно.
Определять по имени как-то тоже не очень. Темболее бывали случаии что блютуз отображался, а имя нет?
Что посоветуете?
Да, тут тоже есть свои минусы.
Подсказать не могу, к сожалению. Опыта работы с bluetooth нет.
Советую спросить в ветке про android, т.к. вопрос более общий, чем xamarin android. Думаю, там ответят
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.01.2021, 22:18

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Социальная сеть (сложная архитектура): аудио+видео+чаты+обмен данными +приложения (месенджеры и приложения)
Социальная сеть(сложная архитектура): аудио+видео+чаты+видео звонки с конференсом+обмен данными...

Является ли класс, производный от интерфейса, в свою очередь интерфейсом?
класс производный от интерфейса тоже интерфейс? Добавлено через 18 минут или может быть любой...

Сохранение обьектов
Здраствуйте, еще не когда не сталкивался с этим. Начинающий. Есть у меня обьект Manager,в нем есть...

java сохранение обьектов в xml
Здравствуйте. Пытаюсь сохранить обьекты в xml, вот так: User u = new User("Костя"); ...

Сохранение массива json обьектов
Здравствуйте Есть массив обьектов json Как грамотнее в его можно его сохранить в mysql базу...

Сохранение обьектов в файл и открытые их из файла
Всем привет. Надо сохранить и открыть обьекты в файлы. Дело в том, что эти обьекты довольно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.