Вход в систему

Поиск Bluetooth устройств PDF Печать
( 4 Votes )
07.02.2009 17:50

Поиск Bluetooth устройств


В данной статье рассмотрена методика поиска Bluetooth устройств, которые находятся в зоне действия, и не стоят в режиме “скрытый”.
Для поиска устройств, нам понадобится следующая библиотека:

import javax.bluetooth.*;

Так же наш класс должен иметь принадлежность к DiscoveryListener.

class serv_SearchDevice  implements DiscoveryListener
{  

...
}

После того как мы указали принадлежность к DiscoveryListener, мы должны создать следующие методы:

void deviceDiscovered(RemoteDevice remoteDevice,  DeviceClass deviceClass)  
void startServiceSearch(RemoteDevice device)  
void servicesDiscovered(int _int, ServiceRecord[] records)  
void serviceSearchCompleted(int _int, int _int1)  
void inquiryCompleted(int _int)

и конструктор нашего класса (Вы можете указать функции которые находятся в конструкторе в другом методе, и вызывать его перед началом процедуры поиска)

public serv_SearchDevice() 

Создали. Теперь приступим к заполнению этих методов функциями.

public serv_SearchDevice(BTmidlet midl) {// это параметр моего главного класса - MIDlet  
        midlet = midl;// Присвоение…  
        try {  
            localDevice = LocalDevice.getLocalDevice();  
            discoveryAgent = localDevice.getDiscoveryAgent();  
            discoveryAgent.startInquiry(DiscoveryAgent.GIAC, this);  
        } catch (Exception e) {}  
    }  
  
   public void deviceDiscovered(RemoteDevice remoteDevice,  
                                 DeviceClass deviceClass) {// Поиск устройств завершен  
        remoteDevices.addElement(remoteDevice);// Добавляем найденные устройства в вектор  
    }  
  
    private void startServiceSearch(RemoteDevice device) {  
    // Старт поиска сервисов, пока пусто…   
    // Нужен для поиска блютуз принтеров, или других сервисов, которые вещает сервер  
    }  
  
  
  
    public void servicesDiscovered(int _int, ServiceRecord[] records) {  
    // Если какие либо сервисы найдены, то мы в этом методе добавляем их…  
    }  
  
    public void serviceSearchCompleted(int _int, int _int1) {  
    //Поиск сервисов завершен…  
    }  
  
  
    public void inquiryCompleted(int _int) {// Это завершающий поиск метод, в нем мы добавляем в элемент
                                                                  // List имена найденных устройств
  

        for (int i = 0; i < remoteDevices.size(); i++) {// проверка если устройства найденны  
            try {  
                midlet.ListDev.addElement(((RemoteDevice) remoteDevices.  
                                           elementAt(i)).getFriendlyName(false)); // Берет не адрес устройства, а его имя  
            } catch (IOException ex) {  
            }  
            System.out.println("Device: " + remoteDevices);  
        }  
        midlet.ShowList();// Собственно вызов метода рисования листа, находится в классе MIDlet  
    }

Вот и все! Функция поиска Bluetooth устройств достаточно проста, как видно из кода. Думаю что со сборкой у Вас, дорогой читатель проблем не возникнет. В следующей статье я попытаюсь описать функцию поиска и работы с сервисами, которые вещает сервер. Коды в прикрепленных файлах!

 

Комментарии  

 
0 #3 AlexF 04.11.2009 20:43
в NetBeans нужно явно создавать мидлет BTmidlet, затем в него копировать из исходного файла BTmidlet.java код.

Я сам второй день явой увлекаюсь поэтому знаю только этот способ.
Пример работает на эмуляторе и на живой нокии 6230i
Цитировать
 
 
0 #2 Александр Труфанов 23.09.2009 16:01
Цитирую grio:
Добрый день!

Можно ли выложить рабочий пример по вашей статье "Поиск Bluetooth устройств",
потому что в таком виде материал мне показался совершенно непонятеным.

Как желаемый результат: Вывод на экран телефона списка обнаруженных устройств.

Спасибо.

br,
grio.


Но ведь к статье прикреплен пример:
http://www.devmobile.ru/file_archive/articles/j2me_bt_discovery.zip
Цитировать
 
 
0 #1 23.09.2009 14:34
Добрый день!

Можно ли выложить рабочий пример по вашей статье "Поиск Bluetooth устройств",
потому что в таком виде материал мне показался совершенно непонятеным.

Как желаемый результат: Вывод на экран телефона списка обнаруженных устройств.

Спасибо.

br,
grio.
Цитировать
 
© 2008-2009, Сообщество разработчиков приложений для мобильных устройств
Система Orphus
При использовании материалов ссылка на devmobile.ru обязательна.
Joomla 1.5 Templates, Powered by Joomla! and designed by SiteGround web hosting