【实例简介】蓝牙串口助手(Android Studio源码)
【实例截图】http://a.app.qq.com/o/simple.jsp?pkgname=com.example.bluetoothassist
软件外观和下载位置
【核心代码】
package com.example.main;
import android.Manifest;
import android.content.pm.PackageManager;
import android.renderscript.Byte3;
import android.support.v4.app.ActivityCompat;
import android.util.Log;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.nio.ByteBuffer;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.text.Layout;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener;
import android.view.View.OnTouchListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import com.example.bluetooth.BluetoothService;
import com.example.bluetooth.DeviceListActivity;
import com.example.bluetoothassist.R;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
private static final String TAG = "MainActivity";
private static final boolean DEBUG = false;
public static final int REC_DATA = 2;
public static final int CONNECTED_DEVICE_NAME = 4;
public static final int BT_TOAST = 5;
public static final int MAIN_TOAST = 6;
// 标志字符串常量
public static final String DEVICE_NAME = "device name";
public static final String TOAST = "toast";
// 意图请求码
private static final int REQUEST_CONNECT_DEVICE = 1;
private static final int REQUEST_ENABLE_BT = 2;
private TextView RecDataView;
private Button ClearWindow,pauseButton,sendButton;
private Button Button01,Button02,Button03,Button04,Button05;
private StringBuffer Str2Send1=new StringBuffer("1"),
Str2Send2=new StringBuffer("2"),
Str2Send3=new StringBuffer("3"),
Str2Send4=new StringBuffer("4"),
Str2Send5=new StringBuffer("5");
private RadioGroup rgRec,rgSend;
private EditText sendContent,period;
private CheckBox setPeriod;
// 已连接设备的名字
private String mConnectedDeviceName = null;
//蓝牙连接服务对象
private BluetoothAdapter mBluetoothAdapter = null;
private BluetoothService mConnectService = null;
static boolean isHEXsend=false,isHEXrec=false;
private static final int REQUEST_EXTERNAL_STORAGE = 1;
private static String[] PERMISSIONS_STORAGE = {
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
};
public static void verifyStoragePermissions(Activity activity) {
// Check if we have write permission
int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (permission != PackageManager.PERMISSION_GRANTED) {
// We don't have permission so prompt the user
ActivityCompat.requestPermissions(
activity,
PERMISSIONS_STORAGE,
REQUEST_EXTERNAL_STORAGE
);
}
}
private void saveConfig(){
String filename=Environment.getExternalStorageDirectory().getPath() "/蓝牙串口助手.config";
File f