Kişisel Sayfaları
İlgi Alanları
İş Tecrubesi
Eğitim Geçmişi
Dil Becerileri
Son Forum Aktiviteleri
2Harici Bir Thread Sınıftan Ana Thread'e Veri Yollama
Merhaba arkadaşlar,
Bluetooth kontrolü ile ilgili bir uygulama üzerinde çalışıyorum. Bluetooth bağlantısı, socket oluşturma ve veri alışverişi gibi işlemleri arka planda bir thread içinde yapmaya çalışıyorum. Bu thread sınıfını MainActivity içinde inner class olarak kullandığımda sorunsuzca handler sınıfına verileri geçirebiliyorum. Ancak uygulamam ilerledikçe kodlar ana sınıf içinde birikmesin diye bu thread sınıfını outer olarak tanımladım ama bu sefer bi türlü verileri ana sınıfa geçiremedim. Demek istediğim, ana sınıftaki handler(verileri toplayacak sınıfa) sınıfına dışardan ulaşamıyorum. Bahsettiğim kodlar aşağıdadır. Şimdiden teşekkür ederim.
mmHandler.obtainMessage(1, bytes, -1, buffer).sendToTarget(); ///////Outer thread sınıfımdan handler sınıfına mesaj gönderen kod
/////////Main activity içerisindeki veri toplayan Handler sınıfım
mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
byte[] gelenVeri = (byte[]) msg.obj;
tvShowComingData.setText("Gelen Veri:" + msg.what);
switch (msg.what) {
case 1:
String gelenData = new String(gelenVeri);
tvShowComingData.setText("Gelen Veri:" + gelenData);
break;
}
}
};
Otomatik bluetooth bağlantısı.
Selam,
Bende uzun bi süredir bluetooth bağlantısı üzerinde çalışıorum. Şöyle yapabilirsin:
//////Senin yapman gereken eşlenmiş cihazları varmı, varsa hangisi olduğunu kontrol edip sonra bağlantıyı oluşturmak aşağıdaki gibi
public boolean EslesmisCihazVarmi() {
Set<BluetoothDevice> pairedDevices = BA.getBondedDevices();
if (pairedDevices.size() > 0) {
for (BluetoothDevice Devices : pairedDevices) {
if (Devices.getName().equals("HC-06")) {
//////HC-06 devre vs lerde kullanılan bir bluettoh modülü senin karşıdaki cihazın adını girmen gerekiyor buraya
mDevice = Devices;
flag = true;
}
}
} else
flag = false;
return flag;
}
if(EslesmisCihazVarmi()){
////do something(Data alışverişi başlat vs.)
}