Wifi connector

Сегодня в рубрике «как создать android application» мы с вами напишем небольшое приложение, которое сканирует и выводит на экран список Wi-Fi точек доступа в радиусе вашего устройства с указанием имени сети, типа защиты и уровня мощности сигнала.

Создаем проект в Андроид Студио. Вводим имя проекта. Шаблон для проекта выбираем Basic Activity. Все остальные настройки оставляем по умолчанию.


Откроем макет контента главного экрана. Здесь удалим ненужное текстовое поле и вместо него добавим виджет списка ListView. У нас на экране будет список, который будет заполняться информацией о точках доступа Wi-Fi, обнаруженных поблизости.

content_main.xml

Поскольку стандартный вид списка нам не подходит, создадим макет пункта списка и настроим его под свои нужды.

items.xml

Сначала создадим файл макета с корневым элементом компоновки RelativeLayout. Добавим линейный компоновщик LinearLayout. Нам понадобятся три текстовых поля — одно с крупным текстом, и два с текстом помельче. Для этого идеально подойдут готовые виджеты, которые находятся на вкладке «Дизайн». Выберем один Large Text и два Small Text. Изменим текст, который содержат текстовые поля, на заголовки полей.
Идентификаторы этих полей нам не понадобятся — можно удалить. Эти поля будут отображать только заголовки. А для размещения информации о точках доступа создадим еще три текстовых поля — напротив уже созданных. Для этого скопируем весь линейный компоновщик с текстовыми полями и настроим его так, чтобы он отображался с правой стороны экрана. Здесь нам уже понадобятся идентификаторы, допишем их.
Также для всего макета добавим пространство имен tools, с помощью которого сделаем так, что текст полей справа будет отображаться только на предпросмотре.
А еще добавим свойство выравнивания текста по правому краю текстового поля, а также добавим ограничение длины поля «Тип защиты» — оно может вывадить длинные строки, и тест будет наезжать на другие поля.
Макет пункта списка готов, будем использовать его при построении списка.

Теперь откроем макет activity-main.xml и настроим отображение кнопки.

activity_main.xml

Мы будем использовать FAB для запуска сканирования точек доступа. Нужно заменить иконку на кнопке на более подходящую. Для этого я предварительно скачал иконку с сайта materialdesignicons.com. Вы можете скачать ее по ссылке (щелкните правой кнопкой мыши и выберите «Сохранить ссылку как…»). Скопируем иконку в папку drawable и заменим стандартную иконку для плавающей кнопки.

Прежде чем перейти к написанию кода приложения, добавим необходимые разрешения в манифест. Они нужны для получения доступа к списку сетей Wi-Fi, которые видит устройство.

AndroidManifest.xml

Начнем писать код. В основном пакете создаем класс Element.java. Этот класс будет хранить описание полей пункта списка и будет использоваться адаптером при создании списка.

Element.java

Здесь три строковых переменных — по количеству текстовых полей. Также создадим конструктор, инициализирующий все три поля. Комбинация клавиш Alt+Insert используется при этом. И с помощью нее же создадим геттеры для всех полей.

Всю основную реализацию напишем в классе главного экрана — MainActivity.java. Для начала создадим необходимые переменные.

1 2 3 private Element nets; private WifiManager wifiManager; private List<ScanResult> wifiList;

Затем в конце кода создадим внутренний класс адаптера, который будет заполнять список.

Здесь для простоты мы создаем внутренний класс, более подробно о создании и настройке своего адаптера смотрите урок 54 на нашем канале, .
Объявим контекст. Также создадим конструктор, который будет принимать контекст в качестве параметра.
В конструкторе передаем контекст, макет пункта списка и массив элементов списка.
Далее пропишем реализацию заполнения пункта списка данными.
Создаем объект inflater с помощью которого будем заполнять данными макет пункта списка, находим макет по id.
Далее находим по идентификаторам каждое текстовое поле в отдельности и заполняем его данными.
Последнее поле — уровень сигнала — будем заполнять не полученными данными, а по условию. Для этого нам нужно вычислять уровень сигнала. Поскольку Wi-Fi менеджер возвращает строку, будем приводить ее к формату int и настроим условие, в зависимости от значения уровня будем выводить в текстовое поле три слова — высокий, средний и низкий уровень. Вся конструкция будет выполняться в блоке try-catch с отловом исключения NumberFormatException, чтобы в случае ошибки формата приложение не упало, а вывело нам сообщение в консоль.

Теперь напишем метод detectWifi, в котором будем считывать данные о доступных сетях, разбирать их и передавать адаптеру для наполнения списка.

Сначала создаем Wi-Fi Manager и запускаем сканирование. Результат сканирования сохраняем в список wifilist.
Далее создаем массив элементов и начинаем разбор данных. Как я уже говорил, Wi-Fi Manager возвращает данные в строковом формате, гда различные праметры расположены по порядку и разделены запятыми. В цикле мы последовательно перебираем каждый параметр, и получаем его значение, которое отделено от имени параметра двоеточием. Нам нужны значения только трех параметров — идентификатор сети, тип защиты и уровень сигнала, заполняем ними каждый элемент массива.
В завершение создаем адаптер, находим макет списка и присваиваем адаптер списку.

Осталось только вызвать метод detectWifi в обработчике нажатия кнопки FAB.

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

Приложение работает, список нормально отображается.

Но есть один нюанс — при повороте экрана активити пересоздается, и список исчезает. В манифесте можно настроить активити так, чтобы оно не пересоздавалось при смене ориентации и в некоторых других распространенных случаях. В этом нам поможет атрибут configChanges с такими параметрами:

1 android:configChanges=»keyboardHidden|orientation|screenSize»

Теперь при повороте экрана активити не пересоздается, и список не теряется.

Полный код класса MainActivity:

MainActivity.java

Файл сборки модуля app:

build.gradle

Приложение нужно запускать на устройстве с версиями до Android 6.0. В 6-й версии изменили поход к работе с разрешениями — разрешения приложение запрашивает не в момент установки, а в момент использования функции, требующей наличие разрешения. Поэтому для работы этого приложения на версии Android 6.0 и выше необходимо написать проверку наличия необходимых разрешений и запроса разрешения при его отсутствии. Этим мы займемся на одном из последующих уроков, следите за новостями на нашем канале и сайте fandroid.info.

В случае отсутствия в настройках стационарной компьютерной техники режима Wi-Fi, оптимальным решением задачи выхода в глобальную сеть становится покупка адаптера внутренней или внешней установки. В каталоге Ruba Technology вы сможете выбрать устройства PCI и USB — от известных производителей Ubiquiti, ASUS, Tenda, ALFA Network, EnGenius.

Визуальная разница между приборами данного типа видна невооруженным глазом. Так, USB Wi-Fi адаптер внешне не отличается от обычного USB накопителя, тогда, как оборудование PCI-категории представляет собой набор микросхем, устанавливающийся в специальный слот на ПК. Однако, способы подключения – не единственное, на что стоит обращать внимание при покупке.

USB WiFi-адаптеры: особенности выбора

Устройства данной категории производятся многими известными разработчиками портативной беспроводной техники и отличаются компактными размерами, мобильностью, возможность подключения к разным компьютерам. Каким будет качество передаваемого сигнала, зависит от нескольких параметров:

  • максимальная мощность – от 17 до 24 dBm;
  • скорость передачи – от 150 — 300 Mbps;
  • дальность действия – от 100 м до 50 км;
  • усиление антенны (в случае ее наличия) – от 2 — 5 dBi;
  • способ передачи данных – одно-/двухдиапазонный;
  • наличие вентиляционных отверстий, увеличивающих качество работы адаптера.
  • Для работы в интернете, скачивания видео-/аудио файлов обратите внимание на модели категории Tenda W522U доступного ценового сегмента. Скорость передачи сигнала приемника подобного типа равна 150 Mbps. К новейшим линейкам относятся Wi-Fi адаптеры с частотным диапазоном 5.1 ГГц -5.8 ГГц. Так,Ubiquiti SR71-USB – мощный адаптер, оснащенный двумя портами для подключения антенн. Устройство подходит для выполнения сложных задач, требующих высокой скорости обработки данных, и работает в 2 диапазонах частот: 2.4 ГГц и 5 ГГц.

    Модель ASUS USB-AC53, функционирующая по новейшему протоколу 802.11ac, отличается высокой скоростью пропускной способностью в беспроводных сетях: от 300 — 867 Мбит/с (параметр зависит от показателей частоты). Адаптер подключается к интернету с любого уголка, где имеются точки доступа типа Hot-spot. При желании эффективный USB Wi-Fi адаптер купить в Алматы, обратите внимание на модель Alfa Network AWUS036AC. Изделие дополнено двумя съемными антеннами, обеспечивающими усиление сигнала в 5 dBi и мощностью передатчика в 20 dBm.

    Wi-Fi адаптер с интерфейсом PCI в Алматы

    При необходимости обеспечения ПК доступом к беспроводному интернету решением может стать набор микросхем или PCI, монтируемый в слоты системного блока. Вай-фай адаптер для компьютера внутренней установки поставляется в Казахстан производителями ASUS и Tenda. Устройства обоих брендов поддерживают все современные стандарты.

    Преимущества PCI Wi-Fi адаптеров:

    • высокое качество беспроводного соединения;
    • несложность установки;
    • возможность использования USB-портов для подключения периферийного оборудования;
    • комплектация антеннами, увеличивающими качество приема цифрового сигнала.

    Высокой производительностью и функциональными возможностями отличается PCI WiFi адаптер для компьютера ASUS AC66. Он подключается непосредственно к материнской плате. Скорость передачи информации модуля достигает до 1300 Мбит/сек. В комплект входят 3 антенны, многократно повышающие производительность и пропускную способность устройства.

    При желании купить WiFi адаптер для ПК по приемлемой цене, обратите внимание на модуль Tenda W322P, функционирующего в диапазоне частот 2,4 ГГц. Доступ к интернету данная модель получает сразу после подключения к питанию. Приемник поддерживает стандарты 802.11n/g/b. Мощность передатчика равна 19 dBm. Для установки адаптера необходимо наличие минимальных системных требований: объем памяти от 64 Мбайт, операционная система Windows 2000 и выше. Итерфейс настраивается с помощью CD-ROM, поступающего в продажу в комплекте с приемником. Безопасное функционирование аппарата гарантирует поддержка большинства видов шифрования.

    Купить Wi-Fi адаптер в Казахстане

    В каталоге Ruba Technology представлены Wi-Fi адаптеры, цена на которые стартует с отметки в 2500 тенге. Выбирая оборудование в нашем интернет-магазине, вы получите устройство по приемлемой стоимости и обеспечите себе быстрый доступ в интернет. Простая установка, не требующая профессионального вмешательства, высокая производительность, интуитивно понятное управление – ключевые преимущества подобного оборудования.

    Мы реализует Wi-Fi адаптеры непосредственно от производителя со 100% гарантией качества, также предоставляем услуги по доставке, установке и настройке устройств.

    Wi-Fi Scanner – утилита для сканирования и анализа wi-fi сетей с использованием компьютеров и ноутбуков. О подобных программных продуктах мы еще с вами не говорили, а это значит, что нам есть что обсудить и поведать.
    Начнем мы со сферы применения приложения. Если начистоту, оно пригодится буквально всем и каждому – не только системным администраторам для работы (развертывания и оптимизации новых сетей, например), но и домашним юзерам, которые стремятся сэкономить на Интернете или настроить свое соединение на более эффективный прием сигнала. Хотите промониторить соседские сети (чисто ради любопытства, конечно)? А может, необходимо просмотреть уровень сигнала домашнего вай-фай и понять, почему он слабо «тянет»? Все это возможно, если использовать ресурс с благими намерениями.

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

    • имени сети, устройства и номере модели;
    • уровне и качестве сигнала + шифрование и частота;
    • MAC-адресе (BSSID);
    • допустимой и максимальной скорости соединения;
    • использовании каналов и т.д.

    По сути, все, что может понадобиться, этот сервис предоставляет качественно и быстро.
    Справка: функционирует на базе ОС Windows (XP, Vista, 7, 8, 10).

    Как пользоваться LizardSystems Wi-Fi Scanner

    И тут также нет ничего сложного. Просто скачиваем и запускаем установочный файл и не используя сложных настроек, начинаем работу. Мы уже говорили о том, что интерфейс ПО гибок и лаконичен. Главное окно содержит стандартное меню (Файл, Сеть, Просмотр, Справка) и Панель управления, в котором есть кнопки Старта ⁄ Паузы ⁄ Остановки сканирования и др. полезные команды.

    Левая часть экрана содержит еще 3 рабочие вкладки: Сканер, Текущее состояние, Информация. А в правой части мы видим более подробно всю найденную статистику по сети в виде таблиц и графиков.
    Из особых преимуществ стоит отметить способность утилиты определять стандарты безопасности для беспроводных сетей (WEP, WPA или WPA2), поддержку частот 2,4 и 5 ГГц, фильтрацию списка обнаруженных сетей по заданным пользователем параметрам (качество, безопасность, режим…), а также, внимание! — опцию подключения к этим самым найденным сетям. Заманчиво, не так ли?

    Скачать Wi-Fi Scanner на русском

    Данная программа — простой в использовании инструмент для сканирования и анализа беспроводных сетей 802.11 a / b / g / n. Она позволяет быстро и легко находить доступные беспроводные сети и соответствующую по ним информацию, не требует сложных конфигураций и специальных знаний, а потому является отличным решением для пользователей любого уровня «продвинутости».

    Если вы часто имеете дело с вай-фай сетями либо хотите оптимизировать уже имеющееся дома ⁄ в офисе соединение, советуем скачать Wi-Fi Scanner на русском бесплатно на нашем портале. Эта утилита значительно облегчит вам работу!
    Wi-Fi Scanner – бесплатная и простая программа позволяющая найти находящиеся рядом с вами Wi-Fi сети. Будет надежным и незаменимым инструментом для сетевых администраторов. Скачать Wi-Fi Scanner на русском бесплатно с ключом, по ссылке в конце описания Wi-Fi сканера без регистрации.
    Программа работает на всех версиях ОС Windows. При всем том, что официально инструмент представлен лишь на английском языке, в сети Интернет, уже давно можно найти «народный» перевод, кстати, неплохо выполненный. Графический интерфейс по своей структуре, сделан очень просто и не обременен лишними настройками.
    Если говорить кратко, то Wi-Fi Scanner – это инструмент, который найдет и соберет нужную информацию об имеющихся рядом с вами Wi-Fi сетями, уровнями их сигнала и доступности. После установки утилиты и завершив сканирование, в интерфейсе программы, вы увидите все доступные вам сети, включая и их характеристики.
    Принцип работы понятен, но давайте более обстоятельно рассмотрим функциональные возможности приложения:
    — быстрый поиск сетей;
    — просмотр найденной информации о Wi-Fi сетях, а именно: скорость передачи данных (максимальная и минимальная), уровень сигнала, шифрование, использование канала, качество сигнала, имя сети, MAC-адрес и проч.;
    — технология Wi-Fi Protected Setup; общепринятые алгоритмы IEEE 802.11/b/g/n ; частотные диапазоны 5 и 2,4 Ггц;
    — применение фильтра списка в обнаруженных сетях;
    — подключение к обнаруженным беспроводным сетям;
    — определение в Wi-Fi сетях стандартов шифрования Wi-Fi Protected Access и Wired Equivalent Privacy;
    — подключение или отключение беспроводных адаптеров и т.д.
    Как видим из представленного краткого описания – инструмент, обладает большим информативным диапазоном и нужными функциями. Скачать Wi-Fi Scanner на русском можно в конце статьи, перейдя по представленной ссылке.