Форум программистов, компьютерный форум CyberForum.ru

Получение и разбор данных по Bluetooth - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Как выявить причину ошибки рендеринга? http://www.cyberforum.ru/android-dev/thread1638503.html
Создал TableLayout. Начал заполнять ячейки. где0то перемудрил. Выдается ошибка (см ниже). Не отображается форма. Как быть, где поправить? Текст Activity_main: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"...
Android Как сделать таймер? Как посчитать, сколько часов, минут и секунд осталось до назначенного времени? http://www.cyberforum.ru/android-dev/thread1638496.html
Android Отправка данных из андроид приложения на сервер
Пишу приложения которое должно собирать кое какую инфу и отправлять её на удалённый сервер. Собственно не понятен процесс взаимодействия андроида и сервера. Интересует какие классы используются, где можно подробно почитать про это дело, желательно с примерами. Ну и самое главное какие могут быть способы протестировать всё локально. Заранее спасибо.
Android Использование микрофона в фоне
Добрый день, уважаемые программисты. Суть: Есть приложение, пишет фоном с микрофона. Если мне не изменяют мои знания, микрофон в Андройде может использовать только одно приложение одновременно. Вот отсюда и назрел вопрос - можно ли как-то отслеживать запрос к микрофону из любого другого приложения? Тогда бы я освобождал микрофон, и ожидал пока другое приложение его прекратит использовать - я бы...
Android Timer \ Intent http://www.cyberforum.ru/android-dev/thread1638181.html
Доброй ночи. При запуске StartActivity через 3 сек должно открыться MainActivity, оно то работает , но только один раз при перезапуске программы запускается сразу MainActivity final Intent intent = new Intent(this,MainActivity.class); Timer timer = new Timer(); TimerTask timerTask = new TimerTask() { @Override public void run() {
Android Андроид и Пк приложение. Удаленный связь Здравствуйте. У меня такой вопрос. Нужно разрабатывать такой программа. Будет группа программ для андроид и пк. Они должны взаимодеиствовать друг другу. То есть когда из мобильного нажать кнопка, с ним пс должен вычислить счетчик. Вроде голосование зрителей. Никак не могу создать. Пожалуйста. Помогите. Дайте советы. Буду благодарен!!! подробнее

Показать сообщение отдельно
vertraut2009
0 / 0 / 0
Регистрация: 13.01.2016
Сообщений: 8
14.01.2016, 21:32  [ТС]     Получение и разбор данных по Bluetooth
Если я правильно понял, то вот:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public void run() {
            byte[] buffer = new byte[256];  // buffer store for the stream
            int bytes; // bytes returned from read()
 
            // Keep listening to the InputStream until an exception occurs
            while (true) {
                try {
                    // Read from the InputStream
                    bytes = mmInStream.read(buffer);        // Получаем кол-во байт и само собщение в байтовый массив "buffer"
                    h.obtainMessage(RECIEVE_MESSAGE, bytes, -1, buffer).sendToTarget();     // Отправляем в очередь сообщений Handler
                } catch (IOException e) {
                    break;
                }
            }
        }
Добавлено через 4 часа 57 минут
Удалось добиться результата. Изменил способ отправки команд на построчно, а одной строкой. Для этого добавил еще один разделитель, который позволяет вначале разбить на отдельные команды, а потом команду на значение и название параметра.

Код ардуино:
Java
1
2
3
4
5
6
7
8
9
10
11
12
void loop() {
  for (int i=0; i<100; i++){
    Serial.print("temp=");
    Serial.print(i);
    Serial.print("|");
    Serial.print("time=");
    Serial.print(i);
    Serial.print("|");
    Serial.println();
    delay(500);
    }
}
Код приложения:
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
h = new Handler() {
            public void handleMessage(android.os.Message msg) {
                switch (msg.what) {
                    case RECIEVE_MESSAGE:                                                   // если приняли сообщение в Handler
                        byte[] readBuf = (byte[]) msg.obj;
                        String strIncom = new String(readBuf, 0, msg.arg1);
                        sb.append(strIncom);                                                // формируем строку
                        int endOfLineIndex = sb.indexOf("\r\n");                            // определяем символы конца строки
                        if (endOfLineIndex > 0) {                                            // если встречаем конец строки,
                            String sbprint = sb.substring(0, endOfLineIndex);               // то извлекаем строку
                            sb.delete(0, sb.length());                                      // и очищаем sb
                            Log.d(TAG, sbprint);
                            String[] result = sbprint.split("\\|");
                            for (int i=0; i<result.length; i++){
                                String[] command = result[i].split("=");
                            if(command[0].compareTo("temp")==0) {
                                txtArduino.setText("Temp: " + command[1]);             // обновляем TextView
                            }
                            if(command[0].compareTo("time")==0) {
                                time.setText("time: " + command[1]);             // обновляем TextView
                            }
                            }
                            btnOff.setEnabled(true);
                            btnOn.setEnabled(true);
                        }
                        //Log.d(TAG, "...Строка:"+ sb.toString() +  "Байт:" + msg.arg1 + "...");
                        break;
                }
            };
        };
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru