android蓝牙测试接收数据,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();

}

}

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值