`
javayestome
  • 浏览: 1040907 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Android蓝牙API之BluetoothSocket类(2)

阅读更多

通过前几次的讲解,很多网友相信对Android蓝牙相关开发可以很好的掌握了,通过BluetoothServerSocket可以方便的创建一个蓝牙服务器,使用BluetoothSocket类可以很好的处理连接,今天我们继续上次的内容说下Android下如何管理蓝牙套接字的连接,今天仍然使用BluetoothSocket类,处理具体的数据流。

在Java上处理数据流很简单,提供了InputSream、OutputSream和字节数组的之间的转化。今天android123将和大家一起说下处理上次遗留的manageConnectedSocket方法的细节,由于蓝牙传输中可能存在中断,所以为了防止阻塞需要开一个工作者线程,相关的示例代码

private class ConnectedThread extends Thread {
private final BluetoothSocket cwjSocket;
private final InputStream cwjInStream;
private final OutputStream cwjOutStream;

public ConnectedThread(BluetoothSocket socket) {
cwjSocket = socket;
InputStream tmpIn = null; //上面定义的为final这是使用temp临时对象
OutputStream tmpOut = null;

try {
tmpIn = socket.getInputStream(); //使用getInputStream作为一个流处理
tmpOut = socket.getOutputStream();
} catch (IOException e) { }

cwjInStream = tmpIn;
cwjOutStream = tmpOut;
}

public void run() {
byte[] buffer = new byte[1024];
int bytes;


while (true) {
try {

bytes = cwjInStream.read(buffer);

mHandler.obtainMessage(MESSAGE_READ, bytes, -1, buffer).sendToTarget(); //传递给UI线程

} catch (IOException e) {
break;
}
}
}

public void write(byte[] bytes) {
try {
cwjOutStream.write(bytes);
} catch (IOException e) { }
}

public void cancel() {
try {
cwjSocket.close();
} catch (IOException e) { }
}
}

对于具体的连接,我们看到在Android平台上使用了Java标准的输入、输出流操作,BluetoothSocket 提供的getInputStream()和getOutputStream()方法可以很好的处理我们具体的数据,完整的工程示例代码和总结我们将在下次提供给大家。

分享到:
评论

相关推荐

    android 蓝牙API整理

    总结来说,Android蓝牙API提供了一套全面的工具,使开发者能够构建各种类型的蓝牙应用,包括但不限于文件传输、健康监测设备的控制、游戏同步等。理解并熟练运用这些API,开发者可以充分利用蓝牙技术,实现设备间的...

    Android 蓝牙API详解

    **Android蓝牙API详解** 在Android平台上,蓝牙技术是设备间通信的重要途径,广泛应用于数据传输、设备配对、物联网(IoT)等场景。Android提供了丰富的蓝牙API,使得开发者能够轻松实现蓝牙功能,包括经典蓝牙...

    android_bluetooth_BluetoothSocket.rar_android

    深入研究源代码可以帮助我们理解Android蓝牙通信的底层工作原理,包括如何在操作系统层面建立和维护蓝牙连接,以及如何优化数据传输性能。这对于开发高效且可靠的蓝牙应用至关重要。同时,源代码可能包含了一些错误...

    Android蓝牙广播通信

    Android提供了一个名为BluetoothAdapter的类,它是Android蓝牙功能的主要入口点。通过这个类,我们可以检查蓝牙是否开启,扫描附近的蓝牙设备,并建立连接。当我们要监听蓝牙设备的状态变化时,就需要用到广播通信。...

    android蓝牙通信技术文档

    Android 蓝牙 API 中的主要类有: * BluetoothAdapter 类:代表了一个本地的蓝牙适配器。 * BluetoothDevice 类:代表了一个远端的蓝牙设备。 * BluetoothSocket 类:代表了一个蓝牙套接字的接口。 * ...

    Android 蓝牙开发,蓝牙连打印机

    首先,理解Android蓝牙API是基础。Android提供了BluetoothAdapter类,它是系统蓝牙服务的主要接口,用于查找、配对和管理蓝牙设备。开发者需要通过BluetoothAdapter.getDefaultAdapter()获取系统的默认蓝牙适配器,...

    android 蓝牙SPP传输demo

    2. **Android蓝牙API**: - Android提供了`BluetoothAdapter`类来管理蓝牙适配器,用于检测蓝牙是否开启、查找设备等。 - `BluetoothDevice`类代表一个蓝牙设备,用于获取设备信息、建立连接等操作。 - `...

    android蓝牙聊天源代码

    "android蓝牙聊天源代码"项目提供了一个很好的实例,帮助开发者了解如何在Android应用程序中实现蓝牙聊天功能。以下将详细介绍这个项目的相关知识点: 1. **Android Bluetooth API**: Android提供了`...

    Android蓝牙开发客户端代码

    首先,我们需要理解蓝牙技术的基本概念,然后我们将详细讨论Android蓝牙开发客户端的实现步骤。 蓝牙是一种短距离无线通信技术,允许电子设备之间进行数据交换。在Android中,蓝牙功能主要通过`BluetoothAdapter`、...

    Android蓝牙录音

    Android蓝牙API主要由`BluetoothAdapter`、`BluetoothDevice`、`BluetoothSocket`和`BluetoothServerSocket`等类组成。`BluetoothAdapter`是系统蓝牙功能的主要入口,可以用来发现设备、配对和管理蓝牙连接。`...

    android蓝牙间传输demo

    "android蓝牙间传输demo"是一个示例项目,它展示了如何在Android设备之间通过蓝牙进行数据交换。这个项目的重点在于理解和实现Android Bluetooth API,这将涵盖蓝牙的配对、连接、数据发送与接收等关键步骤。 首先...

    Android蓝牙设备之间通过UUID通信

    首先,我们要了解Android中的蓝牙API。Android提供了`BluetoothAdapter`,`BluetoothDevice`,`BluetoothServerSocket`和`BluetoothSocket`等类来处理蓝牙连接。`BluetoothAdapter`是系统的蓝牙适配器,可以用来开启...

    Android蓝牙,配对,搜索,连接,通信,断开的Demo

    本项目"Android蓝牙,配对,搜索,连接,通信,断开的Demo"是一个使用Kotlin编写的Android应用示例,它涵盖了蓝牙功能的基本操作,包括设备的搜索、配对、取消配对、连接、数据传输以及断开连接等核心环节。...

    安卓wifi蓝牙相关-Android蓝牙2.0串口通信代码自动搜索自动连接.rar

    1. **Android蓝牙API**: Android提供了BluetoothAdapter类来管理设备的蓝牙功能,包括开启/关闭蓝牙、查找附近的蓝牙设备、建立连接等。BluetoothGatt类则用于与蓝牙低功耗(BLE)设备交互,但这里提到的是蓝牙2.0...

    Android蓝牙串口调试助手 蓝牙通信 透传模块

    理解蓝牙通信的基本概念、Android蓝牙API的使用,以及串口参数设置的重要性,对于有效利用这款工具至关重要。在实际操作中,结合这些知识点,开发者可以更好地理解和解决蓝牙通信中遇到的各种问题。

    Android 经典蓝牙连接,多台蓝牙设备同时连接,全站仪连接

    1. **Android 蓝牙API**:Android提供了丰富的Bluetooth API,包括`BluetoothAdapter`、`BluetoothDevice`、`BluetoothSocket`和`BluetoothServerSocket`等类,用于设备搜索、连接、数据传输和管理。开发者需要先...

    Android蓝牙程序实例

    在Android平台上,蓝牙技术是一种广泛使用的短距离无线通信方式,用于设备间的文件传输、数据共享以及设备控制等。...同时,不断关注Android蓝牙API的更新,以便利用新特性提高应用的性能和用户体验。

    android 蓝牙4.0 和2.0

    在Eclipse环境中开发Android蓝牙应用,你需要导入Android SDK对应的蓝牙库,并遵循Android的生命周期管理,确保在适当的时候启动和停止蓝牙操作,避免资源泄漏和性能问题。 在"MyBluetooth"这个项目中,我们可以...

    android蓝牙demo实现通讯功能

    而`API.docx`应该详细介绍了所使用的Android蓝牙API,包括BluetoothAdapter、BluetoothDevice、BluetoothServerSocket、BluetoothSocket等类的使用方法和注意事项。 至于`Bluetooth`文件,可能是包含实际蓝牙通信...

    android 蓝牙数据传输DEMO

    1. **蓝牙API**:Android提供了`BluetoothAdapter`、`BluetoothDevice`、`BluetoothServerSocket`和`BluetoothSocket`等类来处理蓝牙连接和通信。这些类位于`android.bluetooth`包中,是进行蓝牙操作的基础。 2. **...

Global site tag (gtag.js) - Google Analytics