Урок 3. Выводим список сопряженных устройств. Связываем Arduino и телефон на Android через Bluetooth

  Переглядів 2,654

Astar Channel

Astar Channel

5 років тому

#android #java #arduino #bluetooth
В третьем уроке напишем адаптер для списка с устройствами, а так же выведем список сопряженных ранее bluetooth устройств
Bluetooth модуль HC-06 goo.gl/VHhNXi
Arduino UNO goo.gl/aiN1D8
Arduino NANO goo.gl/mWuTVZ
Проект Android Studio в ZIP-архиве
Скетч к проекту из видеоурока goo.gl/PSQ7jX
Android Studio скачать goo.gl/kJbNkt
Для тех кто хочет помочь финансово
Yandex.Деньги: 410012064564580
Заранее огромное спасибо =)

КОМЕНТАРІ: 63
@evbl7005
@evbl7005 5 років тому
Огромное спасибо. Все работает. Не пытайтесь просто списать с экрана. Вникайте в код и в то что там отрабатывается.
@AsTaR75256
@AsTaR75256 5 років тому
Спасибо за отзыв. Наконец-то я слышу полезные советы для остальных людей)
@bus12
@bus12 3 роки тому
Реально полезно. Спасибо. Пока тупо повторяю, это первый и неизбежный этап обучения. Вообще программирование нравится, но в основном пишу на С/С++ под STM32 и QTCreator под винду. Но вот потребовалось подружить девайс не только с виндой, но и с телефоном. Еще бы научится чтобы приложение тянуло прошивку с FTP и заливало ее в МК и будет ваще круть :-) Код в MainActivity Отличается от урока 2 :-)
@AsTaR75256
@AsTaR75256 3 роки тому
Хах) было дело когда упускал моменты в видео, иногда приходилось останавливать запись что бы проверить результат. Вот за кадром где то и написал
@elliottalderson4692
@elliottalderson4692 3 роки тому
Круто блин) Чувак, сколько ты занимаешься этим?)
@AsTaR75256
@AsTaR75256 3 роки тому
К чему этот вопрос?
@elliottalderson4692
@elliottalderson4692 3 роки тому
Просто интересно сколько нужно учиться до такого скила.
@dekka552
@dekka552 3 роки тому
11:16 не удается выбрать метод Set. Если ввести его, он становится красным, предлагая добавить в классы.
@dekka552
@dekka552 3 роки тому
А нет, всё хорошо! Разобрался.
@AsTaR75256
@AsTaR75256 3 роки тому
Set это не метод, это интерфейс java collection, для использования неупорядоченного списка содержащие уникальные значения. Разумеется он будет требовать import java.util.* для его использования
@bus12
@bus12 3 роки тому
на канале две серии уроков. Я короче 2-й урок их первой серии делал. потому и отличия были. переделал. Сейчас прога запускается, но нифига не находит , ну или не заполняет :-) под нос телефону аж два адаптера сунул :-) Надо как-то проверить что layout при заполнении вообще что-то кажет. Вообще конечно пипец сколько лишнего, думается на сях в QT было бы раза в 3 короче. По крайней мере забить ComboBox СОМ портами занимает три-четыре строчки :-)
@AsTaR75256
@AsTaR75256 3 роки тому
Разрешения есть на местоположение? Гпс включен?
@bus12
@bus12 3 роки тому
@@AsTaR75256 в манифесте разрешения включал. а GPS ... я его не выключал, пользователь не будет же его специально в меню куда то лезть. Вообще значек горит и даже пишет "передача данных", походу в пентагон шлет где я нахожусь :-)
@AsTaR75256
@AsTaR75256 3 роки тому
Ну либо ты эти разрешения не проверяешь на наличие, либо проблема в чем то ещё
@bus12
@bus12 3 роки тому
@@AsTaR75256 ща поужинаю буду думать как что-то принудительно запихать в список, чтобы проверить. Может он скрыт или я его как-то криво вставил, я не совсем 1 в 1 делал, тут у меня свои еще всякие TextView вставлены
@AsTaR75256
@AsTaR75256 3 роки тому
developer.android.com/training/permissions/requesting
@bus12
@bus12 3 роки тому
На планшете через startDiscovery() и широковещательный приемник поймал оба модуля. Почему не робит не телефоне не ясно, на планшете старый андроид я его года два вообще не включал. Уже что-то. getBondedDevices по прежнему ничего не дает, но в принципе не существенно, он их может после успешного спаривания туда добавляет
@AsTaR75256
@AsTaR75256 3 роки тому
Ну тогда это очевидно что проблема в проверке разрешений
@bus12
@bus12 3 роки тому
@@AsTaR75256 включил разрешение GPS в телефоне и заработало. Как можно програмно это отследить и отправить юзверу запрос как с включением блутуз ?
@AsTaR75256
@AsTaR75256 3 роки тому
ru.stackoverflow.com/questions/499751/%D0%94%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3-%D1%81-%D0%BF%D1%80%D0%B5%D0%B4%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC-%D0%B2%D0%BA%D0%BB%D1%8E%D1%87%D0%B8%D1%82%D1%8C-gps
@bus12
@bus12 3 роки тому
@@AsTaR75256 на сколько я понял это запрос на включение GPS, а не на разрешение. Я не знаю может это особенность моего телефона, но в настройках есть разрешение доступа приложению к GPS
@AsTaR75256
@AsTaR75256 3 роки тому
Тебе надо запрашивать их явно при помощи метода Activity checkSelfPermission() и проверять если PERMISSION_GRANTED, тогда запускать сканирование иначе выводить диалоговое окно на включение доступа к местоположению
@MaltCat
@MaltCat 4 роки тому
Занимаетесь разработкой приложений на заказ? под айфон тоже.
@AsTaR75256
@AsTaR75256 4 роки тому
Смотря что
@MaltCat
@MaltCat 4 роки тому
@@AsTaR75256 на почту можно написать?
@AsTaR75256
@AsTaR75256 4 роки тому
Вк
@MaltCat
@MaltCat 4 роки тому
@@AsTaR75256 ссылку на страницу?
@AsTaR75256
@AsTaR75256 4 роки тому
@@MaltCat vk.com/d.astar
@bus12
@bus12 3 роки тому
С кодом урока 2 не работает. вылетает по ошибке при вызове setListAdapter(BT_BOUNDED); вероятно на момент вызова блутуз не инициализирован где-то или при вставке в урок два я что-то напарил :-) Вообще конечно фигово, что вроде продолжение но тут совсем другие методы. В описании указано: Проект Android Studio в ZIP-архиве, но что-то не видать его.
@AsTaR75256
@AsTaR75256 3 роки тому
Вероятно ты что то упустил из виду. Скинь код, гляну потом
@bus12
@bus12 3 роки тому
@@AsTaR75256 да, наверняка я накосячил, думаю дело в том что там у тебя другие методы подключения булуз. А архив студии не сохранился ? если можно на емайл molchec собака yandex.ru это же промежуточный, затем тебе время тратить да и мне самому полезно разбираться :-)
@AsTaR75256
@AsTaR75256 3 роки тому
У меня ноут тогда украли, все данные там. Глянь в последнем видео, наверняка там должен быть исходный код
@bus12
@bus12 3 роки тому
@@AsTaR75256 И кстати модуль у меня dx-bt18 они подешевле HC и меньше кушают. Он когда не подключен типа в спящем режиме. И еще его вроде можно совсем выключить, но с этим я пока не разобрался.
@AsTaR75256
@AsTaR75256 3 роки тому
Позже наверное придется перезаписать видосы, а то многие просят как сделать что бы можно было запустить соединение в одной активности а результат ещё можно было получить в другой
@splcustoms2110
@splcustoms2110 5 років тому
Смотрел воторой урок, делал все пошагово, все хорошо. Но как открыл третий урок, и увидел код MainActivity-офигел... откуда там взялся код которого НЕТУ на 2 и 3 видео? он нужен или нет? это как делать видео урок по сборке двигателя, вот тут ставим поршня, тут закручиваем, тут поддон. а потом херак-и следующее видео где уже запускают мотор......
@AsTaR75256
@AsTaR75256 5 років тому
Хм.. я что то пропустил? Можете конкретно указать, какой новый код появился в данном видео уроке? Если что, то в описании есть ссылка на исходный код проекта. Можете добавить оттуда, если что то пропустили.
@splcustoms2110
@splcustoms2110 5 років тому
@@AsTaR75256 например строка listBtDevices = findViewById(R.id.lv_bt_device);
@AsTaR75256
@AsTaR75256 5 років тому
@@splcustoms2110 Spl Customs Spl Customs , хм.. возможно пропустил. Ну хорошо, объясню за что эта строка отвечает. Помните мы создавали список в лэйоуте (макете) ListView? Мы ему ещё присваивали идентификатор lv_bt_devices Была там такая строка android:id="@+id/lv_bt_devices" Эта строка даёт название идентификатора для списка, по которому мы можем обращаться к нему из Java кода. Затем в MainActivity мы должны инициализировать переменную для списка. Инициализация происходит при помощи метода findViewById (если перевести то звучит как найти вид по идентификатору). Все что мы видим на экране, кнопки, переключатели, текст все это является видами. Так вот данный метод у нас принимает аргумент R.id.lv_bt_devices - то есть тот самый идентификатор, который мы присваивали списку. Основная роль этой функции состоит в том, что ищется элемент по идентификатору, и если находит, то присваивает этот элемент переменной lvBtDevices к которой мы в коде можем уже свободно обращаться и делать какие то действия для списка
@AsTaR75256
@AsTaR75256 5 років тому
@@splcustoms2110 думаю что разжевал
@splcustoms2110
@splcustoms2110 5 років тому
@@AsTaR75256 вы про list_item.xml? там мы создавали android:id="@+id/tv_name"
Старейшая нерешённая задача [Veritasium]
30:08
Bro smelt it & passed out 😂 #comedy
00:10
MrTalalaa
Переглядів 6 млн
Godzilla Attacks Brawl Stars!!!
00:39
Brawl Stars
Переглядів 4,8 млн
Урок 9. Bluetooth LE. ESP-32. Android.
34:14
Astar Channel
Переглядів 3,2 тис.
Самые недооцененные летние кроссовки
11:13
НАКЕД БУТС
Переглядів 16 тис.
Arduino Missile Defense Radar System in ACTION
0:38
Raspduino Uno
Переглядів 1,8 млн
Realtime Chat App in React Native and AWS (Backend) 🔴
3:29:01
notJust․dev
Переглядів 127 тис.