android 蓝牙通信编程
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.****.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
转自:http://blog.****.net/yudajun/article/details/8362916
公司项目涉及蓝牙通信,所以就简单的学了学,下面是自己参考了一些资料后的总结,希望对大家有帮助。
以下是开发中的几个关键步骤:
1,首先开启蓝牙
2,搜索可用设备
3,创建蓝牙socket,获取输入输出流
4,读取和写入数据
5,断开连接关闭蓝牙
下面是一个demo
效果图:
SearchDeviceActivity.java
- package com.hello.project;
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Set;
- import android.app.Activity;
- import android.app.AlertDialog;
- import android.bluetooth.BluetoothAdapter;
- import android.bluetooth.BluetoothDevice;
- import android.content.BroadcastReceiver;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.content.IntentFilter;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.AdapterView;
- import android.widget.AdapterView.OnItemClickListener;
- import android.widget.ArrayAdapter;
- import android.widget.Button;
- import android.widget.ListView;
- public class SearchDeviceActivity extends Activity implements OnItemClickListener{
- private BluetoothAdapter blueadapter=null;
- private DeviceReceiver mydevice=new DeviceReceiver();
- private List<String> deviceList=new ArrayList<String>();
- private ListView deviceListview;
- private Button btserch;
- private ArrayAdapter<String> adapter;
- private boolean hasregister=false;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.finddevice);
- setView();
- setBluetooth();
- }
- private void setView(){
- deviceListview=(ListView)findViewById(R.id.devicelist);
- adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, deviceList);
- deviceListview.setAdapter(adapter);
- deviceListview.setOnItemClickListener(this);
- btserch=(Button)findViewById(R.id.start_seach);
- btserch.setOnClickListener(new ClinckMonitor());
- }
- @Override
- protected void onStart() {
- //注册蓝牙接收广播
- if(!hasregister){
- hasregister=true;
- IntentFilter filterStart=new IntentFilter(BluetoothDevice.ACTION_FOUND);