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

Приём текста по Bluetooth. Ошибки в символах - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Admob - краш при запуске приложения (could not find class) http://www.cyberforum.ru/android-dev/thread1501318.html
имеем: -ADT eclipse -через SDK скачан API19 (только SDK Platform - не знаю критично ли это) -через SDK скачан google-play-services -импортирован google-play-services (при импорте выбрано "копировать" иначе будут проблемы) -в свойствах моего проекта на закладке android добавлен google-play-services -в манифест моего проекта добавлены разрешения, мета, и активити admob -в моем проекте при...
Android Ошибка sqlite3: not found при ввода команды в терминале android shell sqlite3 /data/data/com.android.app/databases/modle после подключению к устройству через adb терминал android shell выдает ошибку sqlite3: not found с чем это связано?? и как обойти это ограничение?? http://www.cyberforum.ru/android-dev/thread1501212.html
Разрешения приложения Android
Ребят подскажите пожалуйста Как можно дать права приложению на пользование wi-fi Раньше на ходил такое А сейчас вообще никак не могу найти Добавлено через 5 минут Даже не такой вопрос Это я делаю с помощью <uses-permission android:name="android.permission.INTERNET" />
Своя тема. Вылетает Android
Themes.xml <?xml version="1.0" encoding="utf-8"?> <resources> <!-- Base application theme. --> <style name="AppTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="android:actionBarStyle">@style/ActionBar</item> <item name="actionBarStyle">@style/ActionBar</item> </style>
Android Доступ к файлам data/data на нерутованом устройстве http://www.cyberforum.ru/android-dev/thread1501000.html
я пытаюсь прочитать файл db который лежит в data/data/com.app и не могу выдает ошибку гуглил в инете там написано что это связано с рутом. У меня телефон не рутован то есть без рута я не могу получить доступ к файлам data/data ?? И как тогда быть как прочитать этот файл??Подскажите пожалуйста
Android Sqlite3 Как правильно перейти в окно ввода команд sqlite3 ?? я так понимаю нужно сначала подключить телефон затем запустить проект android studio потом открыть командную строку windows и начать вводить команды adb shell и тд правильно я думаю если нет поправьте?? подробнее

Показать сообщение отдельно
krant
0 / 0 / 0
Регистрация: 19.07.2015
Сообщений: 4
27.07.2015, 10:31  [ТС]     Приём текста по Bluetooth. Ошибки в символах
Спустя 2 недели как-то никакого интереса в теме.
Буду значит понемногу выкладывать информацию. На выходных написал полностью голый проект под работу с БТ.
Исходный код:

Ардуино.
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <Wire.h>
char recive_buffer[64];
char recive_count;
 
void setup() {
recive_count=0;
Serial.begin(9600);
}
 
void loop() {
while(Serial.available())
  {
  recive_buffer[recive_count]=Serial.read();
  recive_count++;
  }
 
if(recive_count>0)
  {
  
  if (recive_buffer[0]=='g' && recive_buffer[1]=='e' && recive_buffer[2]=='t' && recive_buffer[3]=='c')
  Serial.print("123456789");Serial.print("987654321");
 
  recive_count=0;
  }


полный код активити

Кликните здесь для просмотра всего текста
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
 
package ru.krantinbox.bluepupnew;
 
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothSocket;
import android.os.Message;
import android.os.Bundle;
import android.view.Menu;
import android.os.Handler;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
 
import org.w3c.dom.Text;
 
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.UUID;
 
 
public class MainActivity extends Activity {
    public BluetoothAdapter myBtAdapter=null;
    public BluetoothDevice myBtDevice=null;
    public BluetoothSocket myBtSocket=null;
 
    private ConnectedThread myThread;
 
    Handler h;
    private final int ReciveData=1;
    private TextView myPrintReciveBuffer;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        myPrintReciveBuffer = (TextView)findViewById(R.id.textView2);
 
        try {
            init_bt();
        } catch (IOException e) {
            e.printStackTrace();
        }
 
    h = new Handler(){
        public void handleMessage(Message msg){
            switch (msg.what){
                case ReciveData:
                    byte[] readbuff = (byte[])msg.obj;
                    String strInComm = new String (readbuff,0, msg.arg1);
                    myPrintReciveBuffer.setText(myPrintReciveBuffer.getText()+strInComm);
                    break;
            }
        }
    };
 
    }
 
    public void init_bt() throws IOException {
        boolean hardBtOnBoard=false;
        boolean hardBtTurnOn=false;
        final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
            String myRemoteMacAdress = "20:15:03:30:74:36";
 
            myBtAdapter = BluetoothAdapter.getDefaultAdapter();
            // проверка на наличие БТ на утройстве
            if (myBtAdapter!=null) hardBtOnBoard=true;
            // проверка включен ли БТ на устройстве?
            if (myBtAdapter.isEnabled()) hardBtTurnOn=true;
            if (hardBtTurnOn & hardBtOnBoard) {
                myBtDevice = myBtAdapter.getRemoteDevice(myRemoteMacAdress);
                Toast.makeText(getApplicationContext(), "Выбрано устройство: " + myBtDevice.getName(), Toast.LENGTH_SHORT).show();
                myBtSocket= myBtDevice.createInsecureRfcommSocketToServiceRecord(MY_UUID);
                myBtAdapter.cancelDiscovery();
                myBtSocket.connect();
        }
        myThread = new ConnectedThread(myBtSocket);
        myThread.start();
        if (myBtSocket.isConnected()) Toast.makeText(getApplicationContext(),"Подключено к " + myBtDevice.getName() + "адресс: " + myBtDevice.getAddress(),Toast.LENGTH_LONG).show();
        else {
            Toast.makeText(getApplicationContext(), "не подключился", Toast.LENGTH_SHORT).show();
            myBtSocket.close();
        }
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
 
        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }
 
        return super.onOptionsItemSelected(item);
    }
 
    public void ReciveData(View view) {
    myThread.sendData("getc");
        myThread.sendData("gett");
    }
 
    public void reciveALt(View view) { myThread.sendData("geta");
    }
 
    public void reciveTemp(View view) {myThread.sendData("gett");
    }
 
    public void recivePres(View view) {myThread.sendData("getp");
    }
 
    public void clear(View view) {myPrintReciveBuffer.setText("");
    }
 
    public void Connect(View view) throws IOException {
        init_bt();
    }
 
    private class ConnectedThread extends Thread{
        private BluetoothSocket genBtSocket;
        private OutputStream genOutStream;
        private InputStream genInStream;
 
        public ConnectedThread(BluetoothSocket socket){
        genBtSocket = socket;
        OutputStream tmpOut = null;
        InputStream tmpIn = null;
            try{
                tmpOut = socket.getOutputStream();
                tmpIn = socket.getInputStream();
            } catch (IOException e) {}
            genOutStream=tmpOut;
            genInStream=tmpIn;
        }
 
       public void run(){
           byte[] buffer = new byte[16];
           int bytes;
           while (true){
               try{
 
                   bytes = genInStream.read(buffer);
                   h.obtainMessage(ReciveData,bytes,-1,buffer).sendToTarget();
               } catch (IOException e) {break;}
           }
       }
 
 
        public void sendData(String message){
            byte[] msgBuffer = message.getBytes();
            try{
                genOutStream.write(msgBuffer);
            } catch (IOException e) {Toast.makeText(getApplicationContext(),"не вышло",Toast.LENGTH_SHORT).show();}
        }
 
 
    }
}



Результат работы таков:
Приём текста по Bluetooth. Ошибки в символах

Как понимаете. по запросу я передаю две посылки по 9 байт. Первая посылка "123456789" и следом за ней тут же "987564321". Число байт сохраняется, но вот коды символов уже приходят не те. Скажу сразу одно: первая посылка приходит всегда без ошибок.

Кто-нибудь сталкивался с таким ?
 
Текущее время: 06:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru