Bluetooth-Datenübertragung zwischen zwei Android-Geräten
Habe ich nach diese Android-guide für die Bluetooth-Kommunikation
Genau erklären, was ich tun will, wenn die beiden Geräte gekoppelt sind, zwei verschiedene Aktivitäten öffnen auf jedem Gerät (server und client), wo auf die server-Tätigkeit habe ich verschiedene Knöpfe, und auf der client-Aktivität, es ist nur eine textview.
Ich möchte in der Lage sein, einen Knopf zu drücken auf dem server-Gerät und Anzeige auf dem client-Rechner.
Ich habe es geschafft, eine Verbindung zwischen den beiden Geräten, aber nun möchte ich Daten senden, die ich nicht in der Lage, das zu tun.
Geben Sie diesen code, um Daten zu übertragen:
private class ConnectedThread extends Thread {
private final BluetoothSocket mmSocket;
private final InputStream mmInStream;
private final OutputStream mmOutStream;
public ConnectedThread(BluetoothSocket socket) {
mmSocket = socket;
InputStream tmpIn = null;
OutputStream tmpOut = null;
//Get the input and output streams, using temp objects because
//member streams are final
try {
tmpIn = socket.getInputStream();
tmpOut = socket.getOutputStream();
} catch (IOException e) { }
mmInStream = tmpIn;
mmOutStream = tmpOut;
}
public void run() {
byte[] buffer = new byte[1024]; //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);
//Send the obtained bytes to the UI activity
mHandler.obtainMessage(MESSAGE_READ, bytes, -1, buffer)
.sendToTarget();
} catch (IOException e) {
break;
}
}
}
/* Call this from the main activity to send data to the remote device */
public void write(byte[] bytes) {
try {
mmOutStream.write(bytes);
} catch (IOException e) { }
}
/* Call this from the main activity to shutdown the connection */
public void cancel() {
try {
mmSocket.close();
} catch (IOException e) { }
}
}
Aber diese Zeile erzeugt einen Fehler
//Send the obtained bytes to the UI activity
mHandler.obtainMessage(MESSAGE_READ, bytes, -1, buffer).sendToTarget();
Und ist nicht in der Anleitung beschrieben. Ich weiß nicht, was die mHandler ist oder nicht.
Abgesehen von dem Fehler, den ich nicht einmal wirklich verstehen, wo Sie diesen code. Sollte es in der zweiten Aktivitäten (server und client), die ich öffnen oder in die main? Wenn in der Server-Aktivität, sollte man in die onClick-Methode für alle Tasten mit einer anderen byte-code zu senden, für jeden button? Und in diesem code, wie können wir unterscheiden, wer sendet und wer empfängt?
- Haben Sie Hinzugefügt, die entsprechenden Berechtigungen in manifest.xml Datei ??
<uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
- Und
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
oder<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Check-out die BluetoothChat Beispiel, dass Google im SDK. Es werde Ihnen zeigen, wie zu implementieren basic-senden von text über bluetooth.
Können Sie auch versuchen, das tutorial-Beispiel hier
Kannst du bitte beschreiben Sie den Fehler sehen Sie?
Als informiert, die von Ankit und Addy, BlueToothChat ist der beste code für Sie zu finden. Führen ein experiment durch laden Sie es auf 2 android-Geräten - verwenden Sie eine als server der andere als client zum Austausch der Nachrichten zwischen Ihnen. Solche experiment wird Ihnen helfen, zu verstehen, es ist code und entscheiden, Ihre Codierung Logik.
mHandler wird verwendet für die Weitergabe-Nachricht aus dem BluetoothHandle.java zu Ihrer Tätigkeit. Dies wird Ihnen helfen, um update-Nachrichten auf dem Bildschirm, die zurückgegeben werden BluetoothHandler.
erstellen Sie mHandler von Ihrer Aktivität und Kontaktieren Sie Ihren handler wie diese -
mBluetoothHandler = new BluetoothHandler(this, mHandler);
und Ihre BluetoothHandler.java hat Konstruktor wie diese -
Weitere Einzelheiten entnehmen Sie bitte Android sample project von Bluetooth Chat .
Sie können auch diesen link verwenden :
http://myandroidappdevelop.blogspot.in/2013/05/bluetooth-chat-example.html