如何在kivy中使用bufferedreader.readLine?

时间:2015-04-28 03:08:03

标签: android python kivy

我正在使用kivy +蓝牙插座。

当我从蓝牙接收数据时,bufferedreader.read()方法有效。 但bufferedreader.readLine()方法将无法正常工作..

def change_data(self):
        Logger.info('Im in the change_data!!')
        self.data = 'change_data'

        paired_devices = BluetoothAdapter.getDefaultAdapter().getBondedDevices().toArray()
        if BluetoothAdapter.isEnabled() == False:
            Logger.info('bluetooth not turned on')
            PythonActivity.mActivity.startActivityForResult(Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE), 200)
        else:
            pass
        for device in paired_devices:
            self.data = str(device.getName())
            Logger.info('Im in the loop!!'+str(device))
            if device.getName() == 'HC-06':

                self.socket = device.createRfcommSocketToServiceRecord(UUID.fromString('00001101-0000-1000-8000-00805F9B34FB'))

                break
        if self.socket == None:
            pass
        else:
            self.data = 'connecting'
            self.socket.connect()
def read(self,dt):
        self.recv = BufferedReader(InputStreamReader(self.socket.getInputStream()))
        self.data =self.recv.read()
def start(self):
        self.change_data()
        Clock.schedule_interval(self.read,1)

1 个答案:

答案 0 :(得分:0)

readLine读取IO需要数据以\ r \ n结尾,蓝牙发送数据需要添加结束标记\ r \ n