android 学习历程之--蓝牙

蓝牙基础知识学习笔记一

蓝牙API都在android.bluetooth 包中,这里详细描述蓝牙连接的类和接口 :

BluetoothAdapter
表示本地蓝牙适配器(蓝牙无线电)。  BluetoothAdapter是所有的蓝牙互动的入口点 。用这种方法,你可以发现其他蓝牙设备,查询(配对)设备清单,实例化一个 BluetoothDevice使用一个已知的MAC地址,并创建 一个 BluetoothServerSocket听取来自其它设备的通信 。
BluetoothDevice
表示远程蓝牙设备。使用这个请求通过与远程设备的 连接 BluetoothSocket或有关设备等作为其名称,地址,类别,和粘接状态查询信息 。
BluetoothSocket
表示蓝牙接口插座(类似一个TCP  套接字)。这是的连接点,它允许应用程序交换数据与其他蓝牙设备通过InputStream和OutputStream。
BluetoothServerSocket
代表一个打开的服务器套接字传入的请求(类似一个TCP监听 ServerSocket的)。为了连接两个Android设备,一个设备必须打开这个类的一个服务器套接字。当远程蓝牙设备请求连接到这个设备,  BluetoothServerSocket将返回的 连接 BluetoothSocket时,连接被接受 。
BluetoothClass
描述蓝牙设备的一般特点和功能。这是一个只读的属性,定义设备的主要和次要设备类和它的服务设置。但是,这并不能可靠地描述所有的蓝牙配置文件和设备支持的服务,但作为一个设备类型的提示非常有用。
BluetoothProfile
蓝牙配置文件的接口。Bluetooth配置文件 是基于蓝牙的设备之间的通信的无线接口规范 。一个例子是免提模式。对于更多的配置文件的讨论 ,请参阅资料工作
BluetoothHeadset
提供手机使用蓝牙耳机的支持。这既包括蓝牙耳机和免提(V1.5)型材。
BluetoothA2dp
定义有多高品质的音频,可以从一个设备传输到另一个通过蓝牙连接。“A2DP”代表高级音频传输模式。
BluetoothProfile.ServiceListener
通知 BluetoothProfile IPC的客户端已连接或断开服务(即运行一个特定的配置文件,内部服务)接口 。

我们怎么根据提供的接口和类来实现自己的蓝牙应用程序呢?google android 给你个大概的指南:

The Android platform includes support for the Bluetooth network stack, which allows a device to wirelessly exchange data with other Bluetooth devices. The application framework provides access to the Bluetooth functionality through the Android Bluetooth APIs. These APIs let applications wirelessly connect to other Bluetooth devices, enabling point-to-point and multipoint wireless features.

Using the Bluetooth APIs, an Android application can perform the following: (使用蓝牙API的步骤)

  • Scan for other Bluetooth devices
  • Query the local Bluetooth adapter for paired Bluetooth devices
  • Establish RFCOMM channels
  • Connect to other devices through service discovery
  • Transfer data to and from other devices
  • Manage multiple connections
根据提示:
一、首先在自己的Android应用程序的AndroidManifest.xml中添加使用蓝牙的权限;
<manifest ... >
  <uses-permission android:name="android.permission.BLUETOOTH" />  <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
</manifest>
二、创建Bluetoothadapter 本地蓝牙设备
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if(mBlBluetoothAdapter == null){
Log.i(TAG, "本机器不支持蓝牙...");
}else{
//判断本机蓝牙是否已经开启
if(!mBlBluetoothAdapter.isEnabled()){
//没有开启蓝牙,则提示用户是否开启蓝牙功能
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivity(enableBtIntent);
// startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
}

//3  查询配对设备
Set<BluetoothDevice> devices = mBlBluetoothAdapter.getBondedDevices();
if(devices.size() > 0){
//遍历已连接的远程蓝牙设备
for(Iterator<BluetoothDevice> iterator = devices.iterator(); iterator.hasNext();){
//得到远程连接设备
BluetoothDevice device = iterator.next();
Log.i(TAG, "远程设备的mac地址:"+device.getAddress()+" 名称"+device.getName()+" 状态"+device.getBondState());
}
}

//4  注册// Register the BroadcastReceiver 用于发现远程蓝牙设备
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
registerReceiver(mReceiver, filter);

//5  设置可被发现Enabling discoverability  
Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
//有效持续时间300秒,默认是120秒,最高限制300s。尽管你设置持续时间大于300s,它也只能持续300s
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);
startActivity(discoverableIntent);


}
}






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Android蓝牙完全学习手册为用户提供了关于在Android平台上使用蓝牙技术的详细指南和教程。这个手册非常详尽和全面,可以帮助用户了解蓝牙技术的基础知识以及如何在Android设备上使用蓝牙功能。 手册的内容包括以下几个主要方面: 1. 蓝牙基础知识:介绍了蓝牙技术的原理和工作方式,包括蓝牙的发展历程蓝牙的频段和速度、蓝牙设备的分类等。 2. Android平台下的蓝牙支持:详细介绍了Android系统对蓝牙技术的支持,包括蓝牙API的使用方法、蓝牙权限的配置、蓝牙开发工具的选择等。 3. 蓝牙连接与通信:指导用户如何在Android设备上建立蓝牙连接,包括搜索周围的蓝牙设备、配对和连接设备等。同时还介绍了蓝牙通信的基本原理和实现方法,如数据传输、蓝牙协议栈等。 4. 蓝牙应用开发:教授用户如何开发自己的蓝牙应用程序,包括蓝牙文件传输、蓝牙音频传输、蓝牙打印技术等。 此外,手册还提供了一些实例代码和案例分析,帮助用户更好地理解和应用所学的知识。 总之,Android蓝牙完全学习手册是一本内容十分丰富的教程,它将帮助用户从零开始学习和掌握Android平台上的蓝牙技术,提供了全面而具体的指导,对于那些有兴趣开发蓝牙应用的Android开发者来说,是一本不可缺少的学习资料。 ### 回答2: Android蓝牙完全学习手册是一本详细介绍Android蓝牙开发的书籍。Android蓝牙作为一种无线通信技术,广泛应用于各种移动设备和智能设备之间的数据传输和连接。学习手册的目的是帮助读者深入了解Android蓝牙的原理、实现方式和应用场景。 学习手册首先介绍了Android蓝牙的基本概念和工作原理。它解释了如何通过蓝牙适配器在设备之间建立连接,并传输数据。手册详细讲解了蓝牙的不同协议和服务,例如RFCOMM、L2CAP、A2DP等。读者可以了解到每种协议的特点和适用场景。 接下来,学习手册提供了实际的代码示例,教读者如何在Android平台上进行蓝牙开发。它讲解了如何通过API调用进行设备的搜索、配对、连接和断开连接操作。手册还介绍了如何发送和接收数据,并处理连接状态和错误的情况。读者可以通过这些实例了解到如何在自己的应用程序中集成蓝牙功能。 此外,学习手册还介绍了一些进阶的蓝牙开发技巧和注意事项。它探讨了蓝牙安全性和权限管理,以及如何处理蓝牙设备的兼容性问题。手册还提供了一些性能优化的建议,帮助开发者提升应用程序的蓝牙连接速度和稳定性。 Android蓝牙完全学习手册是一本系统全面的学习资源,适合无论是初学者还是有一定经验的开发者。通过阅读学习手册,读者可以掌握Android平台上蓝牙开发的基础知识和技能,从而能够开发出功能强大、稳定可靠的蓝牙应用程序。 ### 回答3: Android蓝牙完全学习手册是一本详细介绍Android平台下蓝牙开发的教程书籍。这本手册适合已经具备一定基础知识的Android开发者学习和参考。以下是这本学习手册的主要内容: 首先,手册会从蓝牙基础知识开始介绍,包括蓝牙技术原理、蓝牙协议栈以及蓝牙通信的常用术语和概念。这部分内容旨在帮助读者全面了解蓝牙技术背后的原理和工作机制。 接着,手册会详细介绍如何在Android平台上使用蓝牙功能。它会讲解如何配置设备的蓝牙设置、如何搜索和配对其他蓝牙设备、以及如何建立蓝牙连接和进行数据传输。此外,手册还会介绍如何处理蓝牙设备间的通信协议和数据格式。 手册中还会介绍如何开发蓝牙应用程序,并提供一些常见的蓝牙应用场景的示例代码。这些示例代码可以帮助读者理解如何使用Android提供的API来实现不同类型的蓝牙应用功能,如蓝牙耳机控制、蓝牙数据传输等。 此外,手册还会讲解一些高级的蓝牙开发技术,如如何处理多个蓝牙设备的连接、如何实现蓝牙设备的自动连接和断开等。这些技术对于需要开发复杂蓝牙应用的开发者来说尤为重要。 总的来说,Android蓝牙完全学习手册是一本系统、全面讲解Android蓝牙开发知识的书籍。通过学习这本手册,读者可以掌握在Android平台上开发蓝牙应用的基本技能,并能够应对更复杂的蓝牙应用开发需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值