Page 389 - MDP2022-2
P. 389

mBTArrayAdapter.add(device.getName()  +  "\n"  +  device.getAddress());
            mBTArrayAdapter.notifyDataSetChanged();
            }
            }
            };
            private  void  listPairedDevices(View  view){
            mPairedDevices  =  mBTAdapter.getBondedDevices();
            if(mBTAdapter.isEnabled())  {
            //  put  it's  one  to  the  adapter
            for  (BluetoothDevice  device  :  mPairedDevices)
            mBTArrayAdapter.add(device.getName()  +  "\n"  +  device.getAddress());
            Toast.makeText(getApplicationContext(),  "페어링된  디바이스  목록",  Toast.LENGTH_SHORT).show();
            }
            else
            Toast.makeText(getApplicationContext(),  "블루투스가  켜져있지  않습니다.",  Toast.LENGTH_SHORT).show();
            }
            private  AdapterView.OnItemClickListener  mDeviceClickListener  =  new  AdapterView.OnItemClickListener()  {
            public  void  onItemClick(AdapterView<?>  av,  View  v,  int  arg2,  long  arg3)  {
            if(!mBTAdapter.isEnabled())  {
            Toast.makeText(getBaseContext(),  "블루투스가  켜져있지  않습니다.",  Toast.LENGTH_SHORT).show();
            return;
            }
            mBluetoothStatus.setText("연결중...");
            String  info  =  ((TextView)  v).getText().toString();
            final  String  address  =  info.substring(info.length()  -  17);
            final  String  name  =  info.substring(0,info.length()  -  17);
            new  Thread()
            {
            public  void  run()  {
            boolean  fail  =  false;
            BluetoothDevice  device  =  mBTAdapter.getRemoteDevice(address);
            try  {
            mBTSocket  =  createBluetoothSocket(device);
            }  catch  (IOException  e)  {
            fail  =  true;
            Toast.makeText(getBaseContext(),  "소켓  생성에  실패함",  Toast.LENGTH_SHORT).show();
            }
            try  {
            mBTSocket.connect();
            }  catch  (IOException  e)  {
            try  {
            fail  =  true;
            mBTSocket.close();
            mHandler.obtainMessage(CONNECTING_STATUS,  -1,  -1)
            .sendToTarget();
            }  catch  (IOException  e2)  {
            Toast.makeText(getBaseContext(),  "소켓  생성에  실패함",  Toast.LENGTH_SHORT).show();
            }
            }
            if(fail  ==  false)  {
            mConnectedThread  =  new  ConnectedThread(mBTSocket);
            mConnectedThread.start();
            mHandler.obtainMessage(CONNECTING_STATUS,  1,  -1,  name)
            .sendToTarget();
            }
            }
            }.start();
            }
            };

            private  BluetoothSocket  createBluetoothSocket(BluetoothDevice  device)  throws  IOException  {
            return    device.createRfcommSocketToServiceRecord(BTMODULEUUID);
            }
            public  class  ThreadClass  extends  Thread{
            public  void  run(){
            }
            }

            private  class  ConnectedThread  extends  Thread  {
            private  final  BluetoothSocket  mmSocket;
            private  final  InputStream  mmInStream;
            private  final  OutputStream  mmOutStream;
            public  ConnectedThread(BluetoothSocket  socket)  {
            mmSocket  =  socket;
            InputStream  tmpIn  =  null;
   384   385   386   387   388   389   390   391   392   393   394