Чуть менее месяца как изучаю разработку под андроид
Ожидание: android sdk, понимание и умение работать с жизненным циклом активити/фрагментов, виды интентов, многопоточность, сервисы, провайдеры, работа с макетами, локальными хранилищами, клиент-серверное взаимодействие и тд, ну то есть какие-то базовые знания во всем, чтобы было с чего начать.
а тем, что тебе просто интересно придумывать алгоритмы к задачкам, интерфейс которых не выходит за рамки командной строки?
Не очень понятно, чего вы пытаетесь достичь, но взлом существующего встроенного устройства - непростая задача, конечно же, не для новичока. Я полагаю, у вас есть три варианта:
1. Купите существующую гарнитуру и взломайте ее.
Это сложно для опытного инженера по встроенным системам и, скорее всего, потребует декомпилятора кода и осциллографа (вместе со знанием того, как их использовать).
2. Создайте новое устройство, используя какой-нибудь набор разработчика (например, Arduino или аналогичный).
Выполнимо. Вам, вероятно, нужно знать, как паять, а также как программировать. Также имейте в виду, что любое устройство, которое вы создаете, будет выглядеть как прототип (то есть представьте себе коробку для завтрака с торчащими проводами, а не отполированное потребительское устройство). - Вы можете заглянуть в диапазон «Lilypad», если вам нужны маленькие / носимые компоненты.
3. Купите существующую гарнитуру, напишите программное обеспечение хоста, чтобы настроить поведение.
Вероятно, самая простая для обучения из трех вариантов (поскольку вам просто нужно научиться программировать, что вы должны сделать для № 1 и № 2 в любом случае). Таким образом, вы можете подключить к гарнитуре ПК (или меньше, raspberry-pi или аналогичный) и выполнять пользовательские действия при нажатии кнопок.
Если вам нужна настраиваемость или вы просто хотите узнать об электронике и разработке встроенного программного обеспечения, вы можете выбрать вариант №2. Если вам нужно устройство, которое вы можете использовать на повседневной основе, тогда вариант №3, вероятно, будет лучшим выбором.
1. Не могу понять каким образом будет определятся принадлежность пользователя к группе(в таблице user должно быть еще одно поле...)
2. Таблица Port(не могу понять почему ее автор сделал красным цветом), помоем в ней нахватает тоже поля с id