Android Bluetooth BluetoothSocket Örneği
Bluetooth, cihazlar arasında kablosuz iletişim kurmak için kullanılan kısa menzilli bir kablosuz teknolojisidir. Android işletim sistemi, Bluetooth özellikli cihazlarla iletişim kurmak için BluetoothSocket sınıfını sağlar.
BluetoothSocket Sınıfı
BluetoothSocket sınıfı, Bluetooth cihazları arasında güvenli, iki yönlü bir bağlantı oluşturmak için kullanılır. Bu sınıf, aşağıdaki yöntemleri içerir:
- connect(): Bağlantıyı başlatır.
- isConnected(): Bağlantının kurulup kurulmadığını kontrol eder.
- close(): Bağlantıyı kapatır.
- getInputStream(): Bağlantı üzerinden gelen verileri okumak için bir InputStream döndürür.
- getOutputStream(): Bağlantı üzerinden veri göndermek için bir OutputStream döndürür.
BluetoothSocket Örneği
Aşağıdaki örnek, iki Android cihazı arasında Bluetooth bağlantısı kurar ve veri alışverişinde bulunur:
“`java
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothServerSocket;
import android.bluetooth.BluetoothSocket;
import android.util.Log;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.UUID;
public class BluetoothExample {
private static final String TAG = "BluetoothExample";
private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
public static void main(String[] args) {
// Bluetooth adaptörünü alın
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
// Cihazı keşfedilebilir yapın
adapter.setName("Cihaz Adı");
adapter.setDiscoverableTimeout(300);
// Sunucu soketi oluşturun
BluetoothServerSocket serverSocket = null;
try {
serverSocket = adapter.listenUsingRfcommWithServiceRecord("Bluetooth Sunucusu", MY_UUID);
} catch (IOException e) {
Log.e(TAG, "Sunucu soketi oluşturulamadı", e);
return;
}
// İstemci soketi oluşturun
BluetoothSocket clientSocket = null;
try {
clientSocket = adapter.createRfcommSocketToServiceRecord(MY_UUID);
} catch (IOException e) {
Log.e(TAG, "İstemci soketi oluşturulamadı", e);
return;
}
// Sunucu soketini kabul edin
BluetoothSocket socket = null;
try {
socket = serverSocket.accept();
} catch (IOException e) {
Log.e(TAG, "Sunucu soketi kabul edilemedi", e);
return;
}
// Veri gönderin ve alın
InputStream inputStream = socket.getInputStream();
OutputStream outputStream = socket.getOutputStream();
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
String message = new String(buffer, 0, bytesRead);
Log.d(TAG, "Alınan mesaj: " + message);
outputStream.write("Mesaj alındı".getBytes());
}
// Bağlantıyı kapatın
try {
socket.close();
} catch (IOException e) {
Log.e(TAG, "Bağlantı kapatılamadı", e);
}
}
}
“`