1 / 1 / 0
Регистрация: 22.07.2017
Сообщений: 57
|
|
1 | |
Архитектура приложения. Сохранение обьектов (зависимых от интерфейса) с интерфейсом19.01.2021, 17:44. Показов 3337. Ответов 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
|
19.01.2021, 17:44 | |
Ответы с готовыми решениями:
6
В указанном dsn архитектура драйвера и архитектура приложения не соответствуют друг другу Привязка обьектов интерфейса к границе окна Ошибка "в указанном dsn архитектура драйвера и архитектура приложения" Наследование интерфейса схожих классов (архитектура) |
228 / 165 / 110
Регистрация: 09.11.2015
Сообщений: 454
|
|
21.01.2021, 10:42 | 2 |
BeardVis, вы же в любом случае после запуска приложения производите сканирование девайсов?
0
|
1 / 1 / 0
Регистрация: 22.07.2017
Сообщений: 57
|
|
21.01.2021, 10:57 [ТС] | 3 |
Сканирую только тогда когда пользователь хочет добавить новый девайс.
Кода приложение запускается, происходит попытка подключения к уже добавленым.
0
|
228 / 165 / 110
Регистрация: 09.11.2015
Сообщений: 454
|
|
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 |
Спасибо, обдумаю это, звучит неплохо.
Сохранять всеравно придется больше информации, так как если не будет связи, я хочу чтоб пользователь видел с чем именно, а не какимто Bluetooth или ip.
0
|
1 / 1 / 0
Регистрация: 22.07.2017
Сообщений: 57
|
|
21.01.2021, 16:20 [ТС] | 6 |
Спасибо, обдумаю это, звучит неплохо.
Сохранять всеравно придется больше информации, так как если не будет связи, я хочу чтоб пользователь видел с чем именно, а не какимто Bluetooth или ip. Добавлено через 6 минут Вот еще вопрос: Например я хочу показывать пользователю не все доступные Bluetooth, а только те что поддерживает моя программа. Как это лучше реализовать? Подключатся к каждому и спрашивать у него кто он такой, время и ресурсозатратно. Определять по имени как-то тоже не очень. Темболее бывали случаии что блютуз отображался, а имя нет? Что посоветуете?
0
|
228 / 165 / 110
Регистрация: 09.11.2015
Сообщений: 454
|
|
23.01.2021, 22:18 | 7 |
Да, тут тоже есть свои минусы.
Подсказать не могу, к сожалению. Опыта работы с bluetooth нет. Советую спросить в ветке про android, т.к. вопрос более общий, чем xamarin android. Думаю, там ответят
1
|
23.01.2021, 22:18 | |
23.01.2021, 22:18 | |
Помогаю со студенческими работами здесь
7
Социальная сеть (сложная архитектура): аудио+видео+чаты+обмен данными +приложения (месенджеры и приложения) Является ли класс, производный от интерфейса, в свою очередь интерфейсом? Сохранение обьектов java сохранение обьектов в xml Сохранение массива json обьектов Сохранение обьектов в файл и открытые их из файла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |