2012-08-12 85 views
0

我正在尝试制作一个Android应用程序,用于接收和显示来自配对蓝牙设备的数据。我有一个工作python代码,我想在android.I编写类似的代码。我可以在Android手机运行Python,但没有用户界面!代码找到使用RFCOMM的端口,然后使用socket连接。蓝牙设备的地址位于XX:XX:XX:XX:XX:XX格式,我不确定如何为android编写代码。你帮我!谢谢! 这里是我的Python代码:如何使用Android中的蓝牙服务器Socket RFCOMM接收数据?

from bluetooth import * 
from sys import stdout 

server_address = "XX:XX:XX:XX:XX:XX" 
#port = get_available_port(RFCOMM) 
try: 
    my=sock 
except: 
    sock=BluetoothSocket(RFCOMM) 
    sock.connect((server_address, 1)) 
    print "connected" 
else: 
    print "---" 
    data=0 
while 1: 
data= sock.recv(1) 
if data== '': 
    print "Socket broken" 
else: 
    data= data 
    print "received" 
    print text 

sock.close() 
sock=None 
del sock 

可以这样的Android代码的帮助?

String deviceAddress = "XX:XX:XX:XX:XX:XX"; 
adapter = BluetoothAdapter.getDefaultAdapter(); 

BluetoothDevice device = _adapter.getRemoteDevice(deviceAddress); 

try { 
    socket = device.createRfcommSocketToServiceRecord(BluetoothSerialUuid); 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

try { 
    socket.connect(); 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 
+0

做ü看到这个http://stackoverflow.com/questions/5680259/using-sockets-to-send-and-receive-data。?? – jenuine 2012-08-12 06:21:41

+0

是的,但你如何设置接收套接字? – milan7 2012-08-12 07:17:01

+0

尝试http://android-er.blogspot.in/2011/01/simple-communication-using.html – jenuine 2012-08-12 07:22:52

回答

1

您可以找到此示例在SDK的全部源代码:

<sdk>/platforms/android-<version>/samples/

其中有名称BLUETOOTH CHAT看到代码和过滤你想要什么:)

+0

这是发送数据的一个很好的例子,但我怎么能改变它,所以它只能连接到deviceAddress =“XX:XX:XX:XX:XX:XX”并且接收数据:)谢谢 – milan7 2012-08-12 20:38:58

+0

我明白了!没关系! – milan7 2012-08-13 01:45:03

+1

首先你想配对蓝牙设备,之后你可以发送recive在android ,以编程方式。阅读它在这里http://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html – jenuine 2012-08-13 04:47:03