Page 96 - 2020학년도 MDP과제발표회 자료집 (통신과) (3)
P. 96

Toast.makeText(getApplicationContext(),  " 데이터  전송중  오류가  발생",
                                                    Toast.LENGTH_LONG).show();
                                    finish();    //  App  종료
                            }

                    }


                    //    connectToSelectedDevice()  :   원격  장치와  연결하는  과정을  나타냄.
                    //       실제  데이터  송수신을  위해서는  소켓으로부터  입출력  스트림을  얻고  입출력  스트림을
            이용하여  이루어  진다.

                    void  connectToSelectedDevice(String  selectedDeviceName)  {
                            //  BluetoothDevice  원격  블루투스  기기를  나타냄.
                            mRemoteDevie  =  getDeviceFromBondedList(selectedDeviceName);
                            //  java.util.UUID.fromString  :  자바에서  중복되지  않는  Unique  키  생성.
                            UUID                                 uuid                                       =

            java.util.UUID.fromString("00001101-0000-1000-8000-00805f9b34fb");


                            try  {
                                    //  소켓  생성,  RFCOMM  채널을  통한  연결.
                                    //  createRfcommSocketToServiceRecord(uuid)  :   이  함수를  사용하여  원격  블루

            투스  장치와
                                    //                                                                                      통신할  수  있는  소켓을  생성함.
                                    //  이  메소드가  성공하면  스마트폰과  페어링  된  디바이스간  통신  채널에  대응하는
                                    //    BluetoothSocket   오브젝트를  리턴함.
                                    mSocket  =  mRemoteDevie.createRfcommSocketToServiceRecord(uuid);

                                    mSocket.connect();  //   소켓이  생성  되면  connect()   함수를  호출함으로써  두기기
            의  연결은  완료된다.


                                    //  데이터  송수신을  위한  스트림  얻기.
                                    //  BluetoothSocket  오브젝트는  두개의  Stream 을  제공한다.

                                    //  1.   데이터를  보내기  위한  OutputStrem
                                    //  2.  데이터를  받기  위한  InputStream
                                    mOutputStream  =  mSocket.getOutputStream();
                                    mInputStream  =  mSocket.getInputStream();
                                    receiveData();



                            }  catch  (Exception  e)  {  //  블루투스  연결  중  오류  발생
                                    Toast.makeText(getApplicationContext(),
                                  " 블루투스  연결  중  오류가  발생했습니다.",  Toast.LENGTH_LONG).show();
                                    finish();    //  App   종료

                            }
                    }


                                                         -  99  -
   91   92   93   94   95   96   97   98   99   100   101