Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:具有多UI活动(多线程/处理程序)的蓝牙SPP应用程序的一般方向_Android_Multithreading_Bluetooth_Handler_Rfcomm - Fatal编程技术网

Android:具有多UI活动(多线程/处理程序)的蓝牙SPP应用程序的一般方向

Android:具有多UI活动(多线程/处理程序)的蓝牙SPP应用程序的一般方向,android,multithreading,bluetooth,handler,rfcomm,Android,Multithreading,Bluetooth,Handler,Rfcomm,我对安卓系统比较陌生,但对Java有一些经验。与蓝牙相比,这可能更像是一个多线程/处理器问题 我正在编写一个具有多个按钮布局的应用程序。我已经为按钮设置了onClickListners。一些按钮将更改活动并使用新按钮显示新布局,其他按钮将通过蓝牙发送传出SPP字符串。字符串将在XML文件中定义,不会更改串行命令。我可以硬编码蓝牙服务器的MAC地址,只需要发送数据,不需要接收 我正在寻找一些关于设置蓝牙连接和传出传输的一般指导。我已经详细地研究了BluetoothChat示例,但是对于多个活动,我

我对安卓系统比较陌生,但对Java有一些经验。与蓝牙相比,这可能更像是一个多线程/处理器问题

我正在编写一个具有多个按钮布局的应用程序。我已经为按钮设置了onClickListners。一些按钮将更改活动并使用新按钮显示新布局,其他按钮将通过蓝牙发送传出SPP字符串。字符串将在XML文件中定义,不会更改串行命令。我可以硬编码蓝牙服务器的MAC地址,只需要发送数据,不需要接收

我正在寻找一些关于设置蓝牙连接和传出传输的一般指导。我已经详细地研究了BluetoothChat示例,但是对于多个活动,我没有任何好的资源

-我是否使用单独的活动来管理所有蓝牙传输和连接,并为发送蓝牙消息的每种情况创建处理程序? -我是否应该在每个活动中添加蓝牙连接+传输线程?在更改活动时,我是否会遇到失去连接的问题? -在BluetoothService活动可以发送活动/当前活动提示的任何内容的情况下,我是否可以使用非特定于类的处理程序? -我是否可以对BluetoothService活动中要发送的所有字符串进行硬编码,并且UI活动可以根据按钮单击提示BluetoothService活动发送请求的字符串

如有任何信息,将不胜感激。仅仅是一个大致的方向,小样本,或者课堂上的建议就能让我朝着正确的方向前进

谢谢


乔纳森

我会通过一个单独的线程来管理蓝牙通信。这个线程可以启动,并且可以被应用程序本身访问,所以所有活动都可以访问它。您可以使用线程内的阻塞队列将来自所有活动的消息排队,并通过消息意图或处理程序捕获的消息报告响应。

我将通过单独的线程管理蓝牙通信。这个线程可以启动,并且可以被应用程序本身访问,所以所有活动都可以访问它。您可以使用线程内的阻塞队列将来自所有活动的消息排队,并通过消息意图或处理程序捕获的消息来报告响应