android连接蓝牙模块接收数据,手机开发,Android_Android蓝牙模块连接后怎么接收数据?求助,手机开发,Android - phpStudy...

Android蓝牙模块连接后怎么接收数据?求助

package myapplication.com.myapplicationble;

import android.app.Service;

import android.bluetooth.BluetoothAdapter;

import android.bluetooth.BluetoothDevice;

import android.bluetooth.BluetoothServerSocket;

import android.bluetooth.BluetoothSocket;

import android.content.Context;

import android.content.Intent;

import android.os.AsyncTask;

import android.os.Handler;

import android.os.IBinder;

import android.os.Message;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import android.widget.PopupMenu;

import android.widget.PopupWindow;

import android.widget.TextView;

import android.widget.Toast;

import java.io.ByteArrayOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.net.Socket;

import java.util.UUID;

public class MainActivity extends AppCompatActivity {

private BluetoothAdapter BA;

BluetoothServerSocket mmServerSocket;

private static String address = "20:16:09:26:81:80"; // <==应填写蓝牙串口模块的蓝牙地址。

private BluetoothSocket btSocket = null;

private OutputStream outStream = null;

public InputStream inStream = null;

EditText editText;

TextView textView;

Button button, button1;

private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initView();

}

/**

* 连接蓝牙

* **/

public void connect() {

BA = BluetoothAdapter.getDefaultAdapter();

BluetoothDevice device = BA.getRemoteDevice(address);

// pairedDevices = BA.getBondedDevices();

try {

btSocket = device.createRfcommSocketToServiceRecord(MY_UUID);

new ReceiveDatas(btSocket).start();

} catch (IOException e) {

}

BA.cancelDiscovery();

try {

btSocket.connect();

String s="sm\n";

outStream = btSocket.getOutputStream();

outStream.write(s.getBytes());

//outStream.write(0x41);

inStream = btSocket.getInputStream();

Jieshou();

// System.out.println("**" + inStream.toString());

// System.out.println("**" + inStream.read());

// int x = inStream.read();

//outStream.write(x+1);

// System.out.println("****--"+x);

} catch (IOException e) {

}

try {

// btSocket.close();

} catch (Exception e2) {

// Log .e(TAG,"ON RESUME: Unable to close socket during connection failure", e2);

}

}

public void initView() {

editText = (EditText) findViewById(R.id.edit);

textView = (TextView) findViewById(R.id.textView);

button = (Button) findViewById(R.id.button);

button1 = (Button) findViewById(R.id.button1);

BA = BluetoothAdapter.getDefaultAdapter();

/**

* 连接蓝牙

* */

button1.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

System.out.println("***11");

as();

}

});

/**

* 发送信息 可以发送了

* **/

button.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

String s = editText.getText().toString().trim();

try {

outStream = btSocket.getOutputStream();

inStream=btSocket.getInputStream();

outStream.write(s.getBytes());

} catch (IOException e) {

e.printStackTrace();

}

}

});

}

/**

*

* 连接蓝牙

* **/

public void as() {

new AsyncTask() {

@Override

protected String doInBackground(Object[] params) {

connect();

return null;

}

@Override

protected void onPreExecute() {

super.onPreExecute();

}

@Override

protected void onPostExecute(Object o) {

super.onPostExecute(o);

Toast.makeText(getApplicationContext(), "2", Toast.LENGTH_SHORT).show();

}

}.execute();

}

/**

*

* */

public void Jieshou() {

new Thread(new Runnable() {

@Override

public void run() {

while(true){

ByteArrayOutputStream byteArrayOutputStream=null;

byteArrayOutputStream = new ByteArrayOutputStream();

try {

inStream=btSocket.getInputStream();

} catch (IOException e) {

e.printStackTrace();

}

byte[] buffer = new byte[1024];// 缓冲数据流

int temp = 0;

// while( (temp = inStream.read(buffer)) != -1) {

// os.write(buffer, 0, temp);

byteArrayOutputStream.write(buffer, 0, temp);

// }

System.out.println("*shuju*"+byteArrayOutputStream.toByteArray().toString());

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}).start();

}

}

已经可以发送信息到蓝牙了,可是怎么接收数据啊?求助

相关阅读:

git如何查出文件修改记录,已知代码和文件名

sql常用语法请教

freecodecamp上一道中级算法题

ubuntu下,使用apt-get安装jdK后,系统默认配置的PATH在哪儿可以看到

关于CI空格的问题

cordova如何调用定义在控制器(angularjs)中的方法?

请问B站顶部的模糊半透明导航条是怎么实现的呢?

webuploader在安卓微信环境上传为什么不能多选?

hybird app 可以实现类似于微信、qq那样的通知栏消息吗?

Flask-whooshsqlalchemyplus中文分词搜索问题

js制作视频预览的时候出现卡顿怎么解决??

毕业设计是H5相册,怎么和JavaEE结合

玩 Mongodb 和 Redis 来进坑吧

java初学者先学Struts1还是Struts2?

找出数组中元素出现最多的元素js

网络请求数据重复的可能

javascript中this的指向问题

爬虫 实时变化的span该如何抓取

nodejs+express throw new Error('callback function required');

PHP网站造成mysql CPU压力大 如何用redis缓存

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值