一、bt_data_rw.xml布局
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/main" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#2196F3" tools:context=".BT_data_RW"> <TextView android:id="@+id/read_Text" android:layout_width="0dp" android:layout_height="wrap_content" android:text="消息列表" android:background="#03A9F4" android:gravity="center" android:textSize="24dp" app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent"/> <ListView android:id="@+id/read_list" android:layout_width="296dp" android:layout_height="420dp" app:layout_constraintBottom_toTopOf="@id/write_Text" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.495" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/read_Text" /> <TextView android:id="@+id/write_Text" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="发送消息" android:background="#00BCD4" android:gravity="center" android:textSize="24dp" app:layout_constraintTop_toBottomOf="@id/read_list" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintBottom_toTopOf="@id/editTEXT"/> <EditText android:id="@+id/editTEXT" android:layout_width="0dp" android:layout_height="49dp" android:ems="10" android:inputType="textPersonName" app:layout_constraintTop_toBottomOf="@id/write_Text" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toStartOf="@id/write_button"/> <Button android:id="@+id/write_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="发送" app:layout_constraintTop_toBottomOf="@id/write_Text" app:layout_constraintStart_toEndOf="@id/editTEXT" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintBottom_toBottomOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout>
二、BT_data_RW.java源代码
必须包含
import android.Manifest;//manifest文件
public class BT_data_RW extends AppCompatActivity { //获取权限 private ArrayList<String> requestList = new ArrayList<>(); // 弹窗 private Toast mToast; // 文字输入框 public EditText editText; // listview控件 public ListView listView; public Button sendBt; // 蓝牙服务 private BluetoothSocket bluetoothSocket; // 消息列表 public ArrayList<String> msglist = new ArrayList<>(); // ArrayAdapter public ArrayAdapter adapter1; // 读取数据线程 public readThread readthread = new readThread(); // 实例化BTclient private BTclient bTclient = new BTclient(); // 实例化蓝牙适配器类 public MainActivity.BlueToothController mController = new MainActivity.BlueToothController(); // 活动间消息传递 public Handler mHandler; @SuppressLint("HandlerLeak") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.bt_data_rw); // 根据ID获取listview和editText listView = (ListView) findViewById(R.id.read_list); editText = (EditText) findViewById(R.id.editTEXT); sendBt=(Button)findViewById(R.id.write_button) ; // 实例化ArrayAdapter adapter1 = new ArrayAdapter(this, android.R.layout.simple_expandable_list_item_1, msglist)