Форум программистов, компьютерный форум, киберфорум
Java ME (J2ME)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
12 / 12 / 0
Регистрация: 06.05.2011
Сообщений: 250
1

Ошибка класса для работы с Bluetooth

04.03.2012, 13:46. Показов 1287. Ответов 1
Метки нет (Все метки)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
 
public class a extends MIDlet {
    BlueSearcher bch = new BlueSearcher();
    
    Display d1 = Display.getDisplay(this);
    Form f1 = new Form("Меню");
 
    public a() {}
    protected void destroyApp(boolean arg0) throws MIDletStateChangeException {}
    protected void pauseApp() {}
 
    protected void startApp() throws MIDletStateChangeException {
        f1.append("Поиск...");
        bch.start();
        d1.setCurrent(f1);
    }
      
}
Остальные классы лежат в одной дериктории вместе с классом "a".
Вот класс BlueSearcher
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import java.io.IOException;
import java.util.Vector;
import javax.bluetooth.*;
 
public class BlueSearcher extends Thread implements DiscoveryListener {
    private static String NUMBER_L2CAP = "1020304050d0708093a1b121d1e1f100";
    private static long UDI_L2CAP = 0x0100;
    private static int c_s = 0;
    private static int c_d = 0;
    private DiscoveryAgent agent;
    private BlueLogger logger = new BlueLogger("blueSearcher");
    public Vector record = new Vector();
    UUID[] searchList = { 
                new UUID(UDI_L2CAP), 
                new UUID(NUMBER_L2CAP, false) 
            };
 
    public BlueSearcher() {
    }
            
    public void deviceDiscovered(RemoteDevice device, DeviceClass code) {
        c_d++;
        try {
            logger.info("deviceDiscovered, c_d=" + c_d);
            agent.searchServices(BlueServer.attrSet, searchList, device, this);
            c_s++;
        } catch (IOException ex) {
            logger.info("ERROR: " + ex.getMessage());
        } catch (NullPointerException e) {
            logger.info("ERROR: " + e.getMessage());
        }
    }
 
    public void servicesDiscovered(int transaction, ServiceRecord[] services) {
        logger.info("servicesDiscovered, c_s=" + c_s);
        for (int i = 0; i < services.length; i++) {
            logger.info(services[i].getConnectionURL(ServiceRecord.AUTHENTICATE_ENCRYPT, true));
            synchronized (record) {
                record.addElement(services[i]);
            }
        }
    }
    public ServiceRecord getRecordById(int id) {
        return (ServiceRecord)record.elementAt(id);
    } 
    public String[] getServices() {
        String[] ret = null;
        synchronized (record) {
            try {
                record.wait();
                if (record.size()!=0) {
                    ret = new String[record.size()];
                    for (int i = 0; i < record.size(); i++) {
                        ServiceRecord sr = (ServiceRecord)record.elementAt(i);
                        ret[i] = (String)(sr.getAttributeValue(BlueServer.attrSet[0]).getValue());
                        logger.info("found service "+(i+1)+": "+ret[i]);
                    }
                }
            } catch (InterruptedException ex) {
                ex.printStackTrace();
            }
        }
        return ret;
    }
    public void serviceSearchCompleted(int transID, int responceCode) {
        logger.info("serviceSearchCompleted: record.size=" + record.size() + ", c_s=" + c_s);
        synchronized (record) {
            if (record.size()==c_s)
                record.notify();
        }
    }
 
    public void inquiryCompleted(int discoveryType) {
        logger.info("inquiryCompleted, c_d=" + c_d);
        synchronized (record) {
            if (c_d==0)
                record.notify();
        }
    }
    
    public void run() {
        try {
            LocalDevice local = LocalDevice.getLocalDevice();
            agent = local.getDiscoveryAgent();
            agent.startInquiry(DiscoveryAgent.GIAC, this);
        } catch (BluetoothStateException ex) {
            logger.info("ERROR: " + ex.getMessage());
        }
    }
 
}
На эмуляторе ошибки нет, просто надпись поиск, а на телефоне при открытии "Ошибка приложения" - verifyError:BlueSearcher.
Пробовална nokia x2-00 и nokia 2690, оба S40. А вот сам архив 1.zip. Компилировал в Eclipse
0

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

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.03.2012, 13:46
Ответы с готовыми решениями:

Qt Bluetooth, ошибка qt.bluetooth: Dummy backend running. Qt Bluetooth module is non-functional
Начал разбираться с Qt и Bluetooth, для этого запустил пример...

Посоветуйте утилиту для работы с Bluetooth в C++
Собственно, сабж. Мне нужна библиотека (заголовок, DLL, LIB - неважно), с помощью которой я с могу...

Подскажите, есть ли в java модули для работы с bluetooth?
Здравствуйте нужно принимать с bluetooth короткие команды , как с ком порта подскажите кака можно...

Создание локальной БД. Создание класса для работы с БД. Ошибка подключения к БД
Доброго времени суток! Нужно создать БД и создать класс для работы с ним - методы: добавление,...

1
2582 / 2255 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
04.03.2012, 14:39 2
сделай вывод ошибки на экран или в лог.
jar-ки можешь не присылать, с таким же успехом можно просить запускать твой троян который у тебя почему-то не работает
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.03.2012, 14:39

Ошибка работы класса List
Всем привет, столкнулся с такой вот проблемой - экземпляры класса List не идентифицируются в IDE ...

Bluetooth кнопка для селфи -> Bluetooth модуль ?
Кто нюхал ? там же обычный блютуз пмодуль на чипе BK2331q и ещё какой-то вариант есть...

Какая нужна комплектация для Учебного класса института на 10 мест для комфортной работы на лабораторных по информатике?
Посоветуйте какая нужна комплектация(наиболее частые применяемые программы,и исходя из этого...

Создание класса для работы с БД
Добрый день, не могу разобраться, мне надо написать класс, для работы с БД, там должно быть: 1)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.